# MCP tool reference

Learn the MCP tools, follow a job through its states, and avoid duplicate submissions when a request is interrupted.

Source: https://muse4ai.lovable.app/docs/mcp-tools · Updated 2026-11-02

## 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.

## 1. Check the server and capabilities

Open Settings › API & agent, then call muse_status to read account readiness, usage, and available capabilities.

## 2. Choose 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.

## 3. Submit 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"
}
```

## 4. Apply 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.

## 5. Handle 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.
