MCP Server

The ChapterTwo MCP (Model Context Protocol) server allows AI assistants to interact with the platform — managing rightsholders, querying royalty analytics, and more.

Server URL

https://mcp.chaptertwo.com/api/mcp

Authentication is handled automatically via OAuth 2.0. When your MCP client connects, it negotiates authentication through the standard OAuth discovery flow.

Client Configuration

Claude Desktop

Add to your claude_desktop_config.json:

json
{ "mcpServers": { "chaptertwo": { "url": "https://mcp.chaptertwo.com/api/mcp" } } }

Config file location:

Cursor

Add to .cursor/mcp.json in your project root:

json
{ "mcpServers": { "chaptertwo": { "url": "https://mcp.chaptertwo.com/api/mcp" } } }

Generic MCP Clients

Any MCP client that supports Streamable HTTP transport and OAuth 2.0 can connect:

SettingValue
Server URLhttps://mcp.chaptertwo.com/api/mcp
TransportStreamable HTTP (POST)
AuthOAuth 2.0 with PKCE (auto-negotiated)

OAuth discovery endpoints:

Authentication Flow

Tokens auto-refresh. If you belong to multiple organizations, set the x-organization-id header to select one.

Available Tools

The MCP server exposes the following tools (all prefixed with c2_):

ToolDescription
c2_healthCheck API health status
c2_whoamiReturns current user and organization info
c2_get_permissionsGet current user permissions and capabilities
c2_api_callCall any tRPC API procedure (auto-detects query vs mutation)
c2_list_endpointsList available API endpoints, optionally filtered by namespace
c2_search_endpointsSearch API endpoints by keyword
c2_describe_endpointReturns procedure type, namespace, and route info
c2_query_analyticsQuery royalty analytics via the Cube semantic layer
c2_cube_metaGet available Cube measures, dimensions, and descriptions

Example Usage

Once connected, you can ask your AI assistant:

Troubleshooting

“Missing or invalid Authorization header”

Your MCP client didn't include a valid bearer token. Ensure OAuth is properly configured and your client supports the OAuth 2.0 + PKCE flow.

“No organization found for this user”

Your ChapterTwo account isn't associated with any organization. Contact your administrator to be added to an organization.

“Multiple organizations found”

You belong to multiple organizations. Set the x-organization-id header to select which one to use. Your MCP client may prompt you to choose.

“Access token expired”

Your access token has expired. Most MCP clients handle token refresh automatically. If not, reconnect to trigger a new OAuth flow.

Connection timeout

The MCP server has a 55-second timeout per request. If you're running a complex analytics query, try narrowing the filters or reducing the data range.