Skip to main content
Glama
kingplaybookHQadmin1

kingsplaybook-mcp

README.md
# kingsplaybook-mcp

The official [MCP](https://modelcontextprotocol.io) server for the
**KingsPlaybook Developer API**. It gives an AI agent — one building a
sports-betting bot, a model, or an analytics tool — direct access to
KingsPlaybook's data as native tools:

- **Confirmed lineups** — NBA, MLB, NHL
- **Player projections** — the projection engine's raw output
- **Canonical game lines** — moneyline / spread / total, aggregated across books
- **Pick-history archive** — the publicly-posted record, with results + closing lines

It's a thin local (stdio) wrapper over the [`/v1` REST API](https://kingsplaybook.org/devs).
Same data, second protocol.

## Get an API key

Sign up at **[kingsplaybook.org/devs](https://kingsplaybook.org/devs)**. The
Free tier covers lineups; paid tiers add projections, lines, and history.
Your key looks like `kp_live_…`.

## Install

No install step — run it straight from npm with `npx`. Add it to your MCP
client config (Claude Desktop, Cursor, etc.):

```json
{
  "mcpServers": {
    "kingsplaybook": {
      "command": "npx",
      "args": ["-y", "kingsplaybook-mcp"],
      "env": {
        "KINGSPLAYBOOK_API_KEY": "kp_live_your_key_here"
      }
    }
  }
}
```

That's it — the agent now has the KingsPlaybook tools.

## Tools

| Tool | What it returns | Min. plan |
|------|-----------------|-----------|
| `kingsplaybook_get_lineups` | Confirmed lineups for a league + date | Free |
| `kingsplaybook_get_projections` | Raw player projections for a league + date | Starter |
| `kingsplaybook_get_lines` | Canonical game lines for a league + date | Pro |
| `kingsplaybook_get_pick_history` | Posted picks + results for a date | Premium |
| `kingsplaybook_get_freshness` | Per-domain data-age signal | Free |

Every tool returns JSON. Calling a tool above your plan tier returns a
clear `403` message with an upgrade link.

### Examples

- *"What's tonight's NBA slate look like?"* → `kingsplaybook_get_lineups({ league: "nba", date: "2026-05-21" })`
- *"Pull MLB projections for today"* → `kingsplaybook_get_projections({ league: "mlb", date: "2026-05-21" })`
- *"How did KingsPlaybook's prop picks do yesterday?"* → `kingsplaybook_get_pick_history({ date: "2026-05-20", type: "prop" })`

## Configuration

| Env var | Required | Default | Purpose |
|---------|----------|---------|---------|
| `KINGSPLAYBOOK_API_KEY` | yes | — | Your `kp_live_` API key |
| `KINGSPLAYBOOK_API_URL` | no | `https://api.kingsplaybook.org` | Override the API base URL |

## Local development

```bash
npm install
npm run build      # compile TypeScript to dist/
npm start          # run the built server (needs KINGSPLAYBOOK_API_KEY)
npm run dev        # watch mode
```

## Links

- [Developer API & plans](https://kingsplaybook.org/devs)
- [Model Context Protocol](https://modelcontextprotocol.io)

## License

MIT

TDQS

A4.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct data type: lineups, projections, lines, pick history, and freshness. The boundaries are clear and descriptions explicitly differentiate the content, so there is no ambiguity between tools.

Naming Consistency5/5

All tools follow the exact pattern 'kingsplaybook_get_<resource>' using snake_case. The resource names are descriptive and consistent (lineups, projections, lines, pick_history, freshness), with no mixed conventions or vague verbs.

Tool Count5/5

Five tools is well-scoped for a specialized sports data API. Each tool represents a core data category necessary for the server's purpose, with no redundancy or unnecessary additions.

Completeness5/5

The tool set covers all major data retrieval needs for a betting-focused sports data service: lineups, projections, lines, pick history, and freshness verification. For a read-only analytical domain, this is comprehensive and leaves no critical dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues