What to log from a Sume MCP agent: ids and status, never signed URLs
Log request ids, job ids when needed, high-level status and sanitized media metadata. Keep API keys, signed URLs, raw private media URLs and transcripts out.

Log request ids, job ids where you need them, a high-level status and sanitized media metadata. Do not log API keys, signed URLs, raw private media URLs, or large amounts of user content such as transcripts. That is Sume's own safe-automation guidance, and it fits the way hosted MCP agents work, because their tool output lands in whatever log your client keeps.
Safe and unsafe
The list is on the Safe automation page. Sume's server instructions add a related rule for agents: do not echo signed URLs, secrets, prompts or private media URLs in agent reports.
| Safe to log | Unsafe to log |
|---|---|
| Request ids | API keys |
| Job ids, when necessary | Signed URLs |
| High-level status | Raw private media URLs |
| Sanitized media metadata | Too much user content or too many transcripts |
What this means for an agent run
Some tools return short-lived links. The assets_download_url tool is one example, so treat its answer as a secret for as long as the link works. If you must show a result, show the durable media URL that a finished job gives you, or a job id the user can look up.
A key that does show up in a log or chat history should be rotated. The OAuth page says so directly. Your client's own debug or trace logging is the usual place for such leaks, so check what it records before you turn it on.
- Keep job ids and request ids in logs; they are enough to ask for support help.
- Strip query strings from media URLs before storing them.
- Keep a small allow-list of fields you write, rather than dumping whole tool answers.
The tradeoff
Thin logs make debugging harder, since you cannot replay a call from a log line alone. The balance Sume's guidance suggests is to keep identifiers and statuses, which let you find the call on Sume's side, and leave out the content and credentials, which create new risk wherever they are stored.
If you need to show a user what happened, link them to the job id or the durable result rather than pasting URLs from a tool answer into a chat. Sume's docs also note that results of finished jobs are durable, so a job id is enough to read the result again later, and you do not need to keep the media link in your own logs.
Sources
Related posts
More in Developers
- Which AI video model makes a 25-second clip? Duration check in Python
Only some Sume video models accept 25 seconds in one request. See each model's duration range and filter a target length in a few lines of runnable Python.
- Which Sume audio endpoint do I need? TTS, STT, music, detach, split
Sume has separate endpoints for text to speech, speech to text, music, detaching video audio, and splitting or joining audio. Here is which to call for what.
- Which API: speech, transcript, music, captions or audio track?
Pick the Sume endpoint by the job: TTS for narration, STT for a transcript, Music for a score, captions for burned text, audio detach for a video's sound.
- Sume TTS source errors: which are safe to retry (status table)
Every tts_ error code in Sume's script-source API with its HTTP status, whether it charges, and whether a retry can help. A table for client error handling.
Written by Sume