Royalti MCP Server
The MCP endpoint sits in front of the Royalti API and spans catalog, analytics, royalty, and billing data. Once connected, you ask your AI assistant to do the work instead of writing API calls by hand — for example, “Show me my top 5 artists by revenue this quarter” or “What’s my current royalty due?”The endpoint is
https://api.royalti.io/ai/mcp — a single Streamable HTTP endpoint. There’s no separate MCP host or stdio bridge to install.Prerequisites
- A Royalti workspace account with an active subscription
- An MCP-compatible AI client (Claude.ai, Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, etc.)
Connect Your AI Client
Most modern MCP clients handle authentication automatically — you just point them at the endpoint URL. If your client doesn’t support that, use the manual API key fallback below.Automatic connection (recommended)
Clients that implement the MCP authorization spec — including Claude.ai — connect with no key-pasting at all. Just add the endpoint URL:1
Client hits the endpoint unauthenticated
The client’s first request gets a
401 response carrying a WWW-Authenticate: Bearer challenge that points to Royalti’s protected-resource metadata.2
Client discovers the authorization server
It fetches
https://api.royalti.io/.well-known/oauth-protected-resource and https://api.royalti.io/.well-known/oauth-authorization-server to learn the authorization, token, and registration endpoints.3
Client registers itself
If it doesn’t already have a client ID, it self-registers via
POST /oauth/register (RFC 7591) — no manual setup required.4
You approve access
You’re sent to a consent screen in your browser to sign in and approve the requested scopes. Once approved, the client holds a token scoped to what you allowed.
Manual API key (fallback)
If your client doesn’t support MCP’s automatic authorization flow, connect with an API key as a Bearer token instead.1
Generate a key
Log in to Royalti.io, go to Settings → API Keys, click Generate New Key, and choose a User Key (
RUAK_) for personal use or a Workspace Key (RWAK_) for workspace-wide access.2
Copy the key
Copy it immediately — you won’t be able to view it again after leaving the page.
3
Add it to your client config
Set it as an
Authorization: Bearer header, not a URL parameter — the endpoint doesn’t accept a key in the query string.RUAK_your_key_here with your actual key (RUAK_ or RWAK_), then restart your client. Configuration file locations vary:
- Claude Desktop
- Claude Code
- VS Code / Cursor / Windsurf
Save the file and fully quit and reopen Claude Desktop (don’t just minimize).
Which key type should I use?
Multiple workspaces
Configure more than one server entry — one per key — to switch between workspaces:Security Best Practices
- Prefer a User Key (
RUAK_) for personal setups — it limits any unintended write operation to your own context. Reserve Workspace Keys (RWAK_) for automations and workspace-wide integrations. - Rotate keys periodically. Generate a new key, update your client configuration, verify the connection, then revoke the old key in Settings → API Keys.
- Never share keys in chat or commit them to version control. Use environment variables or a secrets manager for automations.
Troubleshooting
“Server not found” or “Connection refused”- Confirm the URL is exactly
https://api.royalti.io/ai/mcpwith no trailing slash - If using a manual key, confirm it’s passed as an
Authorization: Bearerheader, not a URL query parameter
- Confirm your key starts with
RWAK_orRUAK_with no extra spaces or quotes - Confirm the key hasn’t been revoked in Settings → API Keys
- If you approved access via the automatic flow, try revoking and reconnecting to get a fresh token
- Validate your config file’s JSON syntax
- Fully quit and reopen your AI client (don’t just minimize)
- Confirm the server entry is named
royalti(lowercase)
Related Resources
- Authentication Guide — API key types and token management in depth
- API Reference — Browse all available endpoints
- Model Context Protocol Specification
Support
- Help Center: royalti.io/help
- Email: api@royalti.io