Statos MCP Server
MCP server that connects AI assistants to the Statos football analytics platform, enabling natural language queries for match predictions, betting picks, league information, and admin market-suppression controls.
README
@statospro/mcp
A Model Context Protocol server that connects AI assistants — Claude Desktop, Claude Code, claude.ai — to your Statos account.
Statos is a football analytics platform: it models match outcomes across ten
markets and prices them against live bookmaker odds. This package wraps the
api.statos.pro REST surface in an API-key-authenticated, AI-friendly tool
layer, so an assistant can answer "what does the model like today?" without you
writing a single HTTP call.
npx -y @statospro/mcp@latest --api-key statos_sk_live_xxxxxxxx
Tools
v0.3.0 — full read surface plus admin controls.
| Tool | Wraps | Required scope |
|---|---|---|
list_picks |
GET /api/v1/suggestions |
read:suggestions |
get_match_picks |
GET /api/v1/suggestions (client-side match filter) |
read:suggestions |
list_leagues |
GET /api/v1/leagues |
read:leagues |
get_account |
GET /api/v1/auth/me |
read:account |
suppress_market |
POST /api/v1/admin/market-suppressions |
admin:market_suppressions + admin role |
list_suppressions |
GET /api/v1/admin/market-suppressions |
admin:market_suppressions + admin role |
unsuppress_market |
DELETE /api/v1/admin/market-suppressions/:id |
admin:market_suppressions + admin role |
The four read tools are available to any account. The three market-suppression
tools are an operational kill switch — they let an admin stop the engine emitting
a (league × market) combination for a time window without shipping a deploy.
They require an admin-role key carrying the admin:market_suppressions scope,
which is not in the default scope set.
Upgrading from v0.1? API keys minted before the v0.2 release carry only
read:suggestions. Regenerate your key to pick upread:leaguesandread:account, orlist_leaguesandget_accountwill 403.
Quick start
1. Get a Statos API key
Log in at https://statos.pro/account, open the API keys card, and create a
key. Copy the statos_sk_live_… token — Statos shows it once.
2a. Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"statos": {
"command": "npx",
"args": ["-y", "@statospro/mcp@latest"],
"env": {
"STATOS_API_KEY": "statos_sk_live_xxxxxxxx"
}
}
}
}
Restart Claude Desktop. The tools appear in the tools picker.
2b. Claude Code
claude mcp add statos -- npx -y @statospro/mcp@latest --api-key statos_sk_live_xxxxxxxx
2c. Test against sandbox first (optional)
claude mcp add statos-sandbox -- npx -y @statospro/mcp@latest \
--api-key statos_sk_test_xxxxxxxx \
--api-base https://api.sandbox.statos.pro
Tool reference
list_picks
List the model's current suggestions, optionally filtered.
| param | type | default | notes |
|---|---|---|---|
league_id |
integer | — | Single league. Omit for all visible leagues. |
markets |
string[] | — | 1x2, over_under, btts, asian_handicap, corners, cards, draw_no_bet, double_chance, goal_range, team_to_score. Omit for all. |
min_edge_pct |
number | 0 | Suggestions without odds attached are always kept. |
quality |
string | all |
all (no floor), strong (≥65%), elite (≥85%). |
limit |
integer | 50 | Max 200. |
Returns an array of BetSuggestion objects (match info, market, selection,
suggested_prob, best_odds, edge, confidence) plus filter metadata and any
truncation notes.
get_match_picks
Every suggestion for a single match — for "what does the model think about match X?" queries.
| param | type | notes |
|---|---|---|
match_id |
integer | The match_id field from a list_picks response. |
list_leagues
Discover league IDs to filter list_picks against. Returns the leagues the
key holder's plan can see.
| param | type | default | notes |
|---|---|---|---|
continent |
string | — | Europe, South America, North America, Africa, Asia, Oceania, International. Omit for all. |
specialized_only |
boolean | false |
Only is_specialized=true leagues (the curated set the engine biases toward). |
limit |
integer | 200 | Max 500. |
get_account
Read-only account info: email, role, subscription status, and effective role (trial-elevated while a trial is active). Useful for "what plan am I on" and for working out which leagues are visible.
No input. Returns { account, effective_role, notes? }.
suppress_market / list_suppressions / unsuppress_market
Admin-only. suppress_market takes league_id (0 = all leagues), market, and
duration_hours; the others take nothing and an id respectively. Requires
backend ≥ v1.16.
Configuration
| Env var | CLI flag | Default | Notes |
|---|---|---|---|
STATOS_API_KEY |
--api-key <key> |
— | Required. |
STATOS_API_BASE |
--api-base <url> |
https://api.statos.pro |
Point at https://api.sandbox.statos.pro for sandbox. |
Troubleshooting
401: invalid or revoked API key— the key was deleted in the Statos UI, or the token was truncated on copy. Regenerate at/account → API keys.401: missing or malformed Authorization header— the env var or--api-keyflag isn't reaching the server process. Restart your MCP client after editing config files.403onlist_leagues/get_account— your key predates v0.2 and lacks the scopes. Regenerate it.- No picks for any filter — either a quiet day for the model, or your plan's
league entitlements exclude what you asked for. Try
list_pickswith no filters first.
Versioning
The package version is independent of the Statos API version. The server sends
User-Agent: @statospro/mcp/<version> so backend logs can correlate. Breaking
changes to the /suggestions schema trigger a major bump; additive changes
(new fields) are minor. See CHANGELOG.md.
Roadmap
v0.2 —✓ shippedlist_leagues+get_accountv0.3 — market-suppression tools✓ shipped- v0.4 — backend
match_idfilter on/suggestions, soget_match_picksstops fetching and filtering client-side - v0.x — friendlier zod-error rendering (currently the raw issue array — readable, but verbose)
- v1.0 — remote SSE/HTTP transport for one-click connect, no
npxstep
Requirements
Node.js ≥ 20. A Statos account with an API key.
License
MIT — see LICENSE.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。