---
title: "MCP JSON-RPC 2.0 endpoint"
method: POST
path: "/mcp"
tags: ["MCP"]
---

# MCP JSON-RPC 2.0 endpoint

`POST /mcp`

## Request

- Base URL: `https://api.playcallerapp.com`
- URL: `https://api.playcallerapp.com/mcp`
- Auth: API key in header `X-PlayCaller-Key`

The PlayCaller MCP server implements Anthropic's Model Context Protocol over HTTP transport. Send JSON-RPC 2.0 messages to invoke sports intelligence tools from any AI application.

**Available tools (10):**
- `get_injury_signals` — Active beat reporter signals filtered by sport/severity
- `get_player_identity` — Resolve a player name or platform ID across ESPN, Sleeper, Yahoo, NFL.com
- `get_anomaly_scores` — Players with usage patterns deviating from 3-season baseline (score 0–100)
- `get_prediction_markets` — Active Kalshi prop markets with AI confidence scores
- `get_player_projections` — AI fantasy point projections using recent game logs and injury signals
- `get_player_stats` — Game log for any player by name across NFL/MLB/NBA historical_performance
- `get_team_roster` — Active roster for any team by sport and abbreviation
- `get_games` — Schedule and scores for all 9 sports (NFL, MLB, NBA, NHL, CFB, Soccer, Tennis, Golf, UFC)
- `get_standings` — Division/conference standings for any sport and season
- `get_player_dossier` — Consolidated single-call profile: identity + injury + anomaly score + recent stats

**Config for Cursor (.cursor/mcp.json):**
```json
{
  "mcpServers": {
    "playcaller": {
      "url": "https://api.playcallerapp.com/mcp",
      "headers": { "X-PlayCaller-Key": "YOUR_API_KEY" }
    }
  }
}
```

**Get a free trial key instantly — no card required:**
```bash
curl -X POST https://api.playcallerapp.com/mcp/start-trial \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com"}'
```

**Tier access:** Developer Sandbox, Build, Growth, Pro Insights, Syndicate Alpha

## Request body

- object
  - `jsonrpc` '2.0', required
  - `id` integer
  - `method` 'initialize' | 'tools/list' | 'tools/call' | 'ping', required
  - `params` object: Required for tools/call: `name` (tool name) and `arguments` (tool-specific args)
    - `name` string
    - `arguments` object

## Response `200`

JSON-RPC 2.0 response (always 200 — errors returned in body per JSON-RPC spec)

- object
  - `jsonrpc` string
  - `id` integer
  - `result` object: Present on success
    - `content` object[]
      - `type` string
      - `text` string: JSON-encoded tool result
  - `error` object: Present on error
    - `code` integer
    - `message` string

---

[API](https://skmtc.dev/playcallerapp/apis/playcaller-data-api.md) · [All operations](https://skmtc.dev/playcallerapp/apis/playcaller-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/playcallerapp/apis/playcaller-data-api/revisions/100c0a3ffbfe?raw)
