Skip to main content
Glama
Sharp-API

sharpapi-mcp

Official
by Sharp-API
README.md
# SharpAPI MCP Server

[![Listed on mcpservers.org](https://mcpservers.org/badge.svg)](https://mcpservers.org/servers/sharp-api/sharpapi-mcp)

MCP server for [SharpAPI](https://sharpapi.io). Exposes live sports betting odds, +EV, arbitrage and middles as Model Context Protocol tools, for compatible AI applications to query sports betting data.

Uses the official TypeScript SDK, [`@sharp-api/client`](https://www.npmjs.com/package/@sharp-api/client), for HTTP requests.

## Install

Install from GitHub:

```bash
npx github:Sharp-API/SharpAPI-MCP
```

The npm package is not published yet. Once it is:

```bash
npm install -g @sharp-api/mcp-server
```

## Configure

Set `SHARPAPI_KEY` in the environment. Get a free key at <https://sharpapi.io>; the free tier serves DraftKings and FanDuel at 12 requests/min with no card.

The key is read from the environment only. There is deliberately no way to pass it as a tool argument: tool arguments are model-generated and end up in transcripts and logs.

Claude Desktop (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "sharpapi": {
      "command": "sharpapi-mcp",
      "env": { "SHARPAPI_KEY": "sk_your_key_here" }
    }
  }
}
```

## Tools

| tool | what it does | plan |
|---|---|---|
| `list_sports` | Sports covered, with live/upcoming counts. Start here to find valid sport ids. | any |
| `list_sportsbooks` | Book ids for the `sportsbook` argument. | any |
| `list_events` | Events with ids, start times, teams. | any |
| `get_odds` | Normalized odds across books: American, decimal, implied probability. | any |
| `get_best_odds` | Best price per selection across books. The line-shopping view. | any |
| `get_arbitrage` | Cross-book arbitrage: combined implied probability under 100%. | Hobby+ |
| `get_ev` | +EV bets against fair probability. Carries `fairProbability`, the de-vigged number. | Pro+ |
| `get_middles` | Two-sided gaps where both bets can win. | any |

The API enforces plan requirements. The server returns API errors unchanged, including details about the required tier.

There is no separate no-vig tool. SharpAPI does not expose de-vigged odds as its own endpoint; the fair number arrives as `fairProbability` on each `get_ev` opportunity.

## Notes

- Tool errors are returned with `isError` so clients can handle rate limits and plan requirements.
- Diagnostics are written to stderr; stdout is reserved for the MCP protocol.

## License

MIT

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation4/5

The list_* tools are clearly distinct, and get_arbitrage, get_ev, and get_middles each target a unique betting opportunity type. However, get_odds and get_best_odds have similar names and both return odds, so an agent could initially confuse raw normalized odds with the line-shopping view.

Naming Consistency5/5

Tool names follow a clean and predictable pattern: list_* for discovery endpoints and get_* for odds/opportunity lookups. Even the abbreviated get_ev fits the naming scheme, and all names use consistent snake_case formatting.

Tool Count5/5

Eight tools is well-scoped for a sports betting odds API. The set covers discovery, odds retrieval, and specialized betting opportunity searches without unnecessary bloat or missing critical endpoints.

Completeness4/5

The toolkit covers the core workflow: discover sports and sportsbooks, find events, fetch normalized odds, and analyze opportunities. Minor gaps exist, such as no dedicated event-detail endpoint or historical odds endpoint, but these are not severe for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive