Connecting Claude.ai
Claude has first-class support for MCP servers. Connecting Scorelytics takes about a minute.
Steps
- Open Claude.ai → Settings → Integrations.
- Click Add MCP server.
- Paste the endpoint URL:
https://api.scorelytics.pro/v1/mcp
- Claude will prompt for authorization. Sign in with your Scorelytics account and approve the read scopes.
- Done — the eight Scorelytics tools appear in Claude's tool palette.
Try it
Ask Claude:
"What live football matches are on right now? Show me the score and the minute for each."
Claude will call get_matches with status="live", render a table, and
follow up if you ask for stats or events.
Behind the scenes
Claude.ai uses OAuth 2.0 to retrieve a Scorelytics access token. The flow:
- Claude
POSTs to/v1/mcpwith no auth. - Server responds
401with aWWW-Authenticateheader pointing at the resource metadata. - Claude reads
/.well-known/oauth-protected-resource, discovers the authorization server, dynamically registers itself (RFC 7591), then runs the authorization-code flow (RFC 6749). - The user lands on the Scorelytics consent page and signs in.
- Claude exchanges the code for an access token at
/oauth/tokenand stores it.
You don't have to think about any of this — Claude handles the protocol — but the OAuth integration page documents it for clients that want to implement the same flow.
Other MCP clients
The same endpoint works for Cursor, Continue.dev, custom MCP clients built on the official TypeScript or Python SDKs, and any future MCP-compliant tool.
If your client doesn't support OAuth, fall back to the API key transport:
{
"name": "scorelytics",
"url": "https://api.scorelytics.pro/v1/mcp",
"headers": {
"Authorization": "Bearer sk_live_..."
}
}
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Claude says "couldn't connect". | Endpoint blocked by network. | Confirm https://api.scorelytics.pro/v1/mcp is reachable from where Claude runs. |
| OAuth completes but tools are missing. | Your account has 0 tracked leagues. | Add leagues in the dashboard. |
Tool calls return unauthorized. | Token expired. | Reconnect the integration in Claude. |
Tool returns match not found. | The match ID doesn't exist on your account. | Verify with get_matches first. |
Still stuck? Contact support.