io.github.bartokulus/openfoot-mcp

السجل الرسمي الألعاب والرياضة والترفيه

Football fixtures, standings, lineups, live events and shot-level xG across 75 competitions.

ماذا يمكنك أن تفعل مع io.github.bartokulus/openfoot-mcp؟

  • High-frequency live polling across many competitions. A monthly quota is the wrong shape for it — a per-day or per-second plan elsewhere will cost you less.
  • Leagues outside the deep-coverage list above.
  • You need a contractual SLA, uptime credits or a named support contact. Not offered at these prices.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package openfoot-mcp
Claude Code
claude mcp add openfoot-mcp -e 'OPENFOOT_API_KEY=<your openfoot_api_key>' -- npx -y openfoot-mcp@0.1.2
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "openfoot-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "openfoot-mcp@0.1.2"
            ],
            "env": {
                "OPENFOOT_API_KEY": "<your openfoot_api_key>"
            }
        }
    }
}

متغيرات البيئة

  • OPENFOOT_API_KEY إلزامي سري OpenFoot API key. Free tier at https://openfootapi.com/pricing

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. openfoot-mcp
  2. Install
  3. Tools
  4. Coverage, stated honestly
  5. Quota behaviour
  6. When this is the wrong tool
  7. Development

openfoot-mcp

MCP server for the OpenFootAPI football intelligence API. Gives an LLM client real football data — fixtures, standings, lineups, live events, shot-level xG with pitch coordinates, and model-derived fair odds — instead of a hallucinated scoreline.

15 tools, 1 prompt. Node ≥ 20, no build step.

Install

npx openfoot-mcp

Set your API key in the environment. Free tier: 5,000 requests/month. Get a key at openfootapi.com/pricing.

Claude Desktop / Claude Code
{
  "mcpServers": {
    "openfoot": {
      "command": "npx",
      "args": ["-y", "openfoot-mcp"],
      "env": { "OPENFOOT_API_KEY": "of_live_..." }
    }
  }
}
Cursor / Windsurf / any stdio MCP client

Same block, in that client's MCP config file.

Tools

ToolWhat it returns
openfoot_competitionsSupported competitions, season metadata, data source and licence per competition
openfoot_searchFree-text team/competition name → stable IDs
openfoot_matchesFixtures and results, filtered by date / competition / team / status / season / round, cursor-paginated
openfoot_standingsStandings table for a competition and season
openfoot_match_lineupsStarting XI, bench, formation
openfoot_match_eventsGoals, cards, substitutions, commentary timeline
openfoot_match_xgOne entry per shot: pitch coordinates + xG value
openfoot_match_contextDerived context — form, head-to-head, pre-computed signals
openfoot_league_xgLeague xG table: xG for, xG against, over/under-performance vs actual goals
openfoot_oddsBookmaker benchmark + implied fair probabilities. Informational, not betting advice
openfoot_quotaRemaining monthly quota — this call does not consume quota
openfoot_healthReachability check. Works without an API key

Prompt: scout_team_form — resolve a team, pull its last 5 matches, read the xG behind the results.

Start with openfoot_search to resolve IDs. Guessing IDs wastes quota: 404s and empty results are metered like any other request.

Coverage, stated honestly

The catalogue lists 120 competitions. Depth is not uniform, and the catalogue is wider than the deep coverage.

  • Deepest: Bundesliga, 2. Bundesliga, DFB Pokal, Superliga României
  • Expanded European: Eredivisie, Primeira Liga, Süper Lig, Pro League, Scottish Premiership
  • Historical / analytics only: Premier League, La Liga, Serie A, Ligue 1 (xG is Understat-derived)

Call openfoot_competitions and check your league before you build on it.

Quota behaviour

  • Free: 5,000 requests/month, 60 req/min. Developer $14/month: 250,000 requests/month, 100 req/min, includes xG, shot maps, lineups, live events and fair odds. Pro $39/month: 2,000,000/month, 250 req/min.
  • No overage billing. When the quota is spent the API returns 429; this server surfaces that as a quota_or_rate_limit error rather than an empty result.
  • Quota resets on the 1st of the month, UTC.
  • Every request is metered, including 404s and empty results.

When this is the wrong tool

  • High-frequency live polling across many competitions. A monthly quota is the wrong shape for it — a per-day or per-second plan elsewhere will cost you less.
  • Leagues outside the deep-coverage list above.
  • You need a contractual SLA, uptime credits or a named support contact. Not offered at these prices.

Development

npm install
npm run smoke   # boots the server over stdio, lists tools, calls health

npm run smoke works without an API key: openfoot_health returns live status, and a key-gated tool returns a readable missing_api_key error so you can tell "not configured" from "broken".

MIT.

الأسئلة الشائعة

ما هو io.github.bartokulus/openfoot-mcp؟

Football fixtures, standings, lineups, live events and shot-level xG across 75 competitions.

كيف أثبّت io.github.bartokulus/openfoot-mcp؟

يعمل على جهازك. في Claude Code: claude mcp add openfoot-mcp -e 'OPENFOOT_API_KEY=<your openfoot_api_key>' -- npx -y openfoot-mcp@0.1.2. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.bartokulus/openfoot-mcp إلى مفتاح API؟

نعم. يتطلب OPENFOOT_API_KEY، وتضبطها في إعداداته.

هل io.github.bartokulus/openfoot-mcp مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون io.github.bartokulus/openfoot-mcp؟

ينشره bartokulus. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.