Docs/Connect

One URL, then sign in.

The hosted connector speaks OAuth 2.1 with dynamic client registration. Your agent registers itself, opens a sign-in page, and is connected. Nothing to copy, nothing to install.

On this page

The connector

Streamable HTTP
https://api.agent-media.ai/mcp

Per client

Claude.ai / Claude Desktop

Settings > Connectors > Add custom connector > paste the URL > Connect.

Claude Code

claude mcp add --transport http agent-media https://api.agent-media.ai/mcp

Codex

codex mcp add agent-media --url https://api.agent-media.ai/mcp

For scripted runs, write tools need `codex exec --dangerously-bypass-approvals-and-sandbox` or an approval policy that allows them.

Grok

grok mcp add agent-media -t http https://api.agent-media.ai/mcp

Cursor

{ "mcpServers": { "agent-media": { "url": "https://api.agent-media.ai/mcp" } } }

~/.cursor/mcp.json

Any stdio client

npx -y -p @agentmedia/mcp-server@latest agent-media-mcp

A stdio proxy to the same hosted server; set AGENT_MEDIA_API_KEY. Do not register both the connector and the proxy in one client, or every tool appears twice.

Paste to your agent

Any agent that can add a connector itself wires up from this and needs nothing else.

Set up agent-media so I can generate videos, images and voice from here.
1. Add the MCP server: https://api.agent-media.ai/mcp (Streamable HTTP).
2. Authenticate: complete the sign-in in the browser it opens.
3. Call list_models and tell me what you can make.

Auth

OAuth 2.1 with dynamic client registration (browser sign-in); `Authorization: Bearer ma_...` API keys also accepted.

You need credits on the account. 1 credit = $0.01. Sign up at agent-media.ai; an API key comes from agent-media login or the dashboard.

Polling

Every generate tool returns a job id. Call get_run_status with wait:true; each call blocks up to about 45 seconds, a video usually needs several calls (seedance-2.0: about 3 minutes for a 5 s clip at 720p; seedance-2.5: 12 to 25 minutes per clip; plan the wait). Never report a result before get_run_status returned its URL.