Chapter · Connect AI agents
MCP tool reference
Learn the MCP tools, follow a job through its states, and avoid duplicate submissions when a request is interrupted.
Before you start
- Connect an MCP client with an active API key.
- Generation uses your Muse account’s usage limit. Do not loop requests to overcome a limit.
1Check the server and capabilities
Open Settings › API & agent, then call muse_status to read account readiness, usage, and available capabilities.
2Choose the right tool
Tool — purpose:
muse_status— read status and capabilities.muse_generate— queue image or video work.muse_chat— ask Muse; receive its answer unchanged, files, and a conversation_id.muse_get_job— read or wait for one job.muse_list_jobs— list jobs created with this key.muse_cancel_job— request cancellation of your job.muse_extend_video— start a supported video-extension chain.muse_get_extend— inspect or wait for an extension chain.
3Submit once, then poll
Call muse_generate with a unique request_id for each new operation. Then call muse_get_job with wait_seconds until succeeded, failed, cancelled, or needs_review. On success, use download_url. Reuse the same request_id and unchanged input only when retrying the same interrupted submission.
json { "kind": "image", "prompt": "A ceramic cup on a wooden desk", "request_id": "muse4ai-image-example-001" }4Apply the retry rules
Never resubmit running or needs_review work. Failed jobs may be retried only for PRE_SUBMIT_TRANSIENT or PROXY_FAILED, or once after a few minutes for PROVIDER_ERROR. A person must inspect needs_review work in the app.
5Handle conversations and extensions
Keep conversation_id to continue a chat. A conversation_busy result means wait, not resubmit in a loop. Use muse_extend_video only when muse_status reports the extension capability, then follow it with muse_get_extend. Extra length and seamless continuity are not guaranteed.
Check it worked
Your client tracks existing jobs, preserves request IDs, and stops for human review when required.
If it doesn't work
The request timed out. Should I create another?
Check the existing job first. If retrying an interrupted submission, keep the same request_id and input to avoid duplicates.
Why can I not see another agent’s jobs?
The listing tool returns jobs created with the current API key.
Does chat verify Muse’s answer?
No. The answer is returned unchanged. Check research claims and attached files yourself.