MCP Server
ONCE MCP gives your agent a single endpoint for music distribution. Connect once, sign in with your ONCE account, and the agent can upload assets, generate cover art, run AI and rights checks, submit releases, buy credits, and report streaming performance.
Building a backend or app rather than an agent? The same capabilities are available as a conventional HTTP API: see REST API.
Connect
Add the server to your MCP client:
{
"mcpServers": {
"once": {
"url": "https://beta.once.app/api/mcp"
}
}
}If your client asks for a transport, choose Streamable HTTP. Most clients prompt for authentication as soon as they scan the server; complete the browser sign-in and you are done. Client-by-client instructions for ChatGPT, Claude, Cursor, and Cline are on Agent Setup.
You can also open MCP setup from My Account → Quick Actions → Developer, where the MCP Settings page lists recent releases you submitted through MCP.
How a release flows
- Authenticate. Every JSON-RPC method needs a bearer token. Native MCP clients handle the OAuth challenge automatically.
- Read the rules. Agents must read
mcp://docs/metadata-rules-hitlist(or callget_metadata_rules) right after connecting. It summarizes the metadata policies that the JSON schema cannot express: generic artist names, writers, UPC, AI disclosure, cover songs. - Upload or generate assets.
upload_filefor small local files,upload_file_from_urlfor public URLs,prepare_local_file_uploadfor large local files, orgenerate_cover_artfor AI artwork. See Uploads. - Run checks (optional).
detect_audio_aireturns the AI classification that drives billing;detect_audio_pex_search_acrchecks for registry matches above 10%. - Submit.
submit_releasewith the payload described in Schema. Credits are debited here: 1 per human song, 2 per AI-detected song. - Monitor.
get_release_status,get_release_job, andget_release_metadata. - Track performance.
get_performance_summaryandget_release_performanceonce the release is distributed.
Account tools (get_profile, get_credits, get_pricing, create_credit_checkout_session, get_autoreload, set_autoreload) let the agent check the balance and top up in-session. Every tool’s arguments and responses are in the API Reference.
What the server exposes
| MCP endpoint | POST https://beta.once.app/api/mcp (JSON-RPC 2.0) |
| Server card | GET /.well-known/mcp/server-card.json |
| Resources | mcp://docs/metadata-rules-hitlist (required reading), mcp://docs/agent-guide, mcp://schemas/release-required |
| Agent guide over HTTP | GET /api/mcp/docs and GET /api/mcp/docs/metadata-rules |
Tool and resource lists are static during a session (listChanged: false). If a tool is missing after an update, restart your client or re-add the server. The protocol details, including batches, errors, and the auth challenge, are on Protocol & JSON-RPC; the wider set of machine-readable discovery documents is on Agent Discovery.
Scope and billing
- Supports store selection with
release.distribution_store_ids(fetch IDs withget_distribution_stores;nullmeans all supported stores). - Accepts expanded metadata: label, C/P credits, role credits, lyrics, language, artist localization, and per-artist profile links.
- No validation agent or mastering in the MCP flow.
- Billing is the same as the app and REST API: 1 credit per human song, 2 per AI-detected song, debited from the authenticated account at submission. Requests are tagged with a provenance (
MCPby default,AIMDfor the AI Music Distribution partner surface) for analytics; it never changes the rate. - ONCE Insiders get higher rate limits. Connecting never requires a membership.