Skip to main content
Glama
football-api-mcp

football-api-mcp

football-api-mcp

MCP Badge

MCP (Model Context Protocol) server for the 5DollarFootballAPI — gives Claude, ChatGPT, Cursor and any MCP-capable AI assistant live football (soccer) data: fixtures, live scores, standings, statistics, betting odds and the full odds movement history, including corner and card lines.

Ask your assistant things like:

  • "What Premier League matches are on today, and what are the current scores?"

  • "Show the corner standings for league 39 this season."

  • "How did the 1x2 odds move for fixture 1234567 before kickoff?"

Setup

You need an API key from 5dollarfootballapi.com — the free tier (no card) covers fixtures, live scores and standings; odds tools need a paid plan (from $5/mo).

Hosted (nothing to install)

Use the hosted server at https://mcp.5dollarfootballapi.com — your API key is the only setup. Every call is made with your own key and counts against your own plan.

Claude (web, desktop, mobile) and ChatGPT — add a custom connector (remote MCP server) and paste this as the server URL. No OAuth or other sign-in is involved; the key in the URL is the credential:

https://mcp.5dollarfootballapi.com/mcp/fb_live_your_key

Claude Code, Cursor and other clients that can send headers — keep the key out of the URL:

claude mcp add --transport http football-api https://mcp.5dollarfootballapi.com/mcp --header "Authorization: Bearer fb_live_your_key"

The URL with your key in it is a secret: anyone who has it can spend your quota. Create a separate key for it in your dashboard, and delete that key if the URL ever leaks.

Prefer to run it yourself? The local setups below work the same way.

Claude Code

claude mcp add football-api -e FIVEDOLLARFOOTBALL_API_KEY=fb_live_your_key -- npx -y football-api-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "football-api": {
      "command": "npx",
      "args": ["-y", "football-api-mcp"],
      "env": { "FIVEDOLLARFOOTBALL_API_KEY": "fb_live_your_key" }
    }
  }
}

Cursor

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "football-api": {
      "command": "npx",
      "args": ["-y", "football-api-mcp"],
      "env": { "FIVEDOLLARFOOTBALL_API_KEY": "fb_live_your_key" }
    }
  }
}

ChatGPT (Developer mode)

ChatGPT only connects to remote MCP servers (Streamable HTTP over HTTPS), not local stdio commands, and needs a Plus/Pro/Business plan with Developer mode enabled. The quickest route is the hosted server: use https://mcp.5dollarfootballapi.com/mcp/fb_live_your_key as the Server URL in the steps below and skip the tunnel. To run your own instead, start the server in HTTP mode and expose it with a tunnel:

FIVEDOLLARFOOTBALL_API_KEY=fb_live_your_key npx -y football-api-mcp --http --token pick-a-secret
# in another terminal — any tunnel works, e.g. cloudflared or ngrok
cloudflared tunnel --url http://localhost:3333

Then in ChatGPT (verified 2026-08): Settings → Security and login → Developer mode (toggle on), open Plugins in the sidebar, click the + (Create app), and in the New Plugin form set Connection to Server URL, paste https://<your-tunnel-host>/mcp/pick-a-secret, set Authentication to No Auth, tick the acknowledgement and Create, then Connect. --token matters here: ChatGPT cannot send custom headers, so the secret in the path is what keeps a leaked tunnel URL from spending your API key.

Options: --host (default 127.0.0.1), --port (default 3333), or the equivalent MCP_HTTP_HOST / MCP_HTTP_PORT / MCP_HTTP_TOKEN environment variables. The same HTTP mode works for any other remote-only MCP client.

To serve many users from one instance (what the hosted server runs), use --hosted instead of --http: no server-side API key, each caller supplies their own as /mcp/<api-key> or Authorization: Bearer <api-key>. Put it behind a reverse proxy that terminates TLS and keeps the path out of the access log.

Related MCP server: api-football-mcp-server

Tools

Tool

What it does

get_fixtures

Fixtures for a calendar day (default today, UTC) with live scores, corners, cards

get_fixture

One fixture, optionally with the event timeline and match statistics

get_fixture_odds

Current odds: 1x2, Asian handicap, goal line, corner line, card lines, BTTS

get_odds_history

Every recorded price tick for a fixture and market — pre-match and in-play

get_bookmakers

Bookmaker slugs usable in the odds tools

get_standings

League table — points, corner or card standings

search_leagues / search_countries

Discover league and country ids by name

get_league_fixtures

A league season's fixtures and results

get_team_fixtures

A team's matches, most recent first

get_account_status

Your plan, usage and rate-limit state

Prompts

One-shot analysis templates you can invoke from any prompt-aware client:

Prompt

What it produces

todays-briefing

A grouped briefing of the day's fixtures, live scores and standout numbers

odds-movement-report

Opening vs closing analysis of one fixture's market with in-play reaction

corner-scout

A league's corner tendencies from its corner standings and recent results

Resources

Attachable context data: football://leagues/popular (popular league ids) and football://bookmakers (bookmaker slugs for the odds tools).

All tools are read-only. Errors come back as tool errors with the API's error code and request id, so the assistant can explain what went wrong.

Development

npm install
npm test          # in-memory MCP client/server tests, no network
FIVEDOLLARFOOTBALL_API_KEY=... npm start          # run over stdio
FIVEDOLLARFOOTBALL_API_KEY=... npm start -- --http # run over Streamable HTTP
npm start -- --hosted                              # multi-user HTTP, callers bring their own key

The underlying HTTP client is the official fivedollarfootball package. Endpoint reference: 5dollarfootballapi.com/docs.

License

MIT

Available Tools

11 tools
get_account_statusA
Read-onlyIdempotent

Your API plan, usage and rate-limit state.

Inputs: no named parameters.

get_bookmakersA
Read-onlyIdempotent

List the bookmaker slugs usable in the odds tools.

Inputs: no named parameters.

get_fixtureA
Read-onlyIdempotent

Get one fixture by id, optionally with the event timeline (goals, cards, corners) and match statistics.

Inputs: fixture_id (required), lang, include_stats, include_events.

get_fixture_oddsA
Read-onlyIdempotent

Current betting odds for a fixture: 1x2, Asian handicap, goal line, corner line, card lines, BTTS — per bookmaker.

Inputs: fixture_id (required), market, bookmakers.

get_fixturesA
Read-onlyIdempotent

List football fixtures for a calendar day (UTC). Defaults to today. Includes live scores, corners and cards for each match.

Inputs: date, lang, page, status, +1 more.

get_league_fixturesB
Read-onlyIdempotent

A league season's fixtures and results.

Inputs: league_id (required), lang, page, season, +1 more.

get_odds_historyA
Read-onlyIdempotent

Full price-movement history (every recorded tick) for one fixture and market. Each tick has the price, match minute, running score and UTC timestamp.

Inputs: market (required), fixture_id (required), page, bookmaker.

get_standingsA
Read-onlyIdempotent

League table for a league and season. type "corner" and "card" return corner/card standings instead of points.

Inputs: league_id (required), lang, type, season.

get_team_fixturesB
Read-onlyIdempotent

A team's matches home or away, most recent first.

Inputs: team_id (required), lang, page, status.

search_countriesA
Read-onlyIdempotent

List countries (optionally filtered by name substring), for use with search_leagues.

Inputs: lang, page, search.

search_leaguesA
Read-onlyIdempotent

Find leagues by name, country or popularity. Use this to discover league ids.

Inputs: lang, page, search, popular, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 11 tools

    Disambiguation5/5

    Each tool targets a distinct resource/scope: fixtures are separated by day, id, league, and team; odds, standings, searches, and account status are clearly distinct. The descriptions make the boundaries between the fixture-listing tools explicit enough that an agent should not misselect.

    Naming Consistency5/5

    All tools follow a consistent snake_case action_noun pattern, with get_ used for retrieval and search_ used specifically for discovery. This is a predictable and readable convention across the entire toolset.

    Tool Count5/5

    11 tools is a well-scoped count for a football data and odds API. Each tool covers a meaningful area such as fixtures, standings, odds, discovery, or account status without feeling bloated or sparse.

    Completeness4/5

    Core workflows around fixtures, standings, odds history, and league/country discovery are covered well. The main gap is the lack of a team search or direct team lookup, which makes get_team_fixtures harder to use unless team IDs are first extracted from fixture data.

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Provides live football match data from Sofascore, including formations, injuries, betting odds, and league positions, enabling natural language queries about matches.
      1
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables natural language querying of football/soccer data via the API-Football service, providing access to leagues, teams, players, fixtures, standings, and statistics.
      2
      -
    • A
      license
      A
      quality
      B
      maintenance
      Provides AI assistants with live football data for 90+ leagues including tables, results, fixtures, model probabilities, and Monte Carlo season projections from football-charts.com.
      10
      150 npm
      7
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Provides AI agents with real football data from the OpenFoot API, including fixtures, standings, lineups, live events, shot-level xG with pitch coordinates, league tables, and fair odds.
      12
      54 npm
      MIT