SOCCER DATA

How to give ChatGPT and Claude real football data with MCP

Add the Soccer Data MCP server to ChatGPT, Claude or Cursor and sign in, and the assistant answers football questions from real fixtures, stats and tables.

· 7 min read

To give ChatGPT or Claude real football data, connect the Soccer Data MCP server: add the URL https://soccer-data.co/mcp as a custom connector in Claude or a custom MCP server in ChatGPT, then sign in to your Soccer Data account and approve it. The assistant can then look up fixtures, live scores, lineups, stats, xG, standings, injuries and odds while you chat, and answer from real data instead of memory.

What the Soccer Data MCP server is

MCP (Model Context Protocol) is the standard way for AI apps to use outside tools. The Soccer Data MCP server makes every endpoint of the Soccer Data football API a tool, with the same parameters as the API reference, plus two helpers, find_ids and get_usage. All tools only read data.

Server URL https://soccer-data.co/mcp, with no slash at the end
Transport Streamable HTTP
Sign-in Your Soccer Data account (OAuth), or an API key in a header
Plans Included in Pro and Business

Connect it to Claude

This works on claude.ai, the Claude desktop apps and mobile. Once the connector is added on one of them, it's there on all of them.

  1. Open Customize → Connectors, click + and choose Add custom connector.
  2. Name it Soccer Data and paste https://soccer-data.co/mcp.
  3. If Claude asks how to register the OAuth client, choose Register automatically. Leave the client ID and secret empty.
  4. Click Add, then Connect. Sign in to Soccer Data if asked, and click Approve.

In a chat, open the tools menu to check that Soccer Data is on. On Team and Enterprise plans, an owner adds the connector under Organization settings → Connectors first; each member then clicks Connect under Customize → Connectors.

Connect it to ChatGPT

  1. Go to Plugins, click + and choose Add custom MCP server.
  2. Name it Soccer Data, add a short description, paste https://soccer-data.co/mcp and choose OAuth for authentication.
  3. Accept the warning about custom servers, and create it. Approve Soccer Data when you're asked to sign in.
  4. In a new chat, type @ and pick Soccer Data.

Custom MCP servers depend on your ChatGPT plan and, in a workspace, on your admin; in a Business workspace, an admin or owner adds the server. ChatGPT can't send API keys, so it always uses sign-in.

Connect it to Claude Code, Cursor and other apps

Claude Code. Add the server, then run /mcp, pick soccer-data and choose to authenticate. Your browser opens so you can approve it. Add --scope user to use it in every project.

claude mcp add --transport http soccer-data https://soccer-data.co/mcp

Cursor. Add this to ~/.cursor/mcp.json, or to .cursor/mcp.json for one project only. Then click Connect next to soccer-data in Cursor's MCP settings and approve it.

{
  "mcpServers": {
    "soccer-data": {
      "url": "https://soccer-data.co/mcp"
    }
  }
}

VS Code. Save the server in .vscode/mcp.json, or run MCP: Add Server, choose HTTP and paste the URL. VS Code asks you to sign in the first time it starts the server.

Other apps. Any app that supports remote MCP servers over Streamable HTTP can connect. Apps with OAuth find the sign-in from /.well-known/oauth-protected-resource/mcp and register themselves; others send X-Api-Key: YOUR_API_KEY. Local-only (stdio) apps need a bridge such as mcp-remote that passes the header through.

The MCP server page in your dashboard has the URL and ready-to-copy setup for each app.

Sign-in or API key header?

Sign in with your account (OAuth) API key in a header
Works in Claude, ChatGPT, Claude Code, Cursor, VS Code, other apps with OAuth Claude Code, Cursor, VS Code, other apps that send headers
What you do Approve the app on Soccer Data. No key to copy. Send X-Api-Key: YOUR_API_KEY or Authorization: Bearer YOUR_API_KEY
To stop it Disconnect on the MCP server page Revoke the key on the API keys page

Give each tool its own key, so you can revoke one without affecting the others. The MCP docs show the header setup for Claude Code, Cursor and VS Code.

Either way, a connected app can read football data and see your plan and today's usage. It can't see your API keys, billing details or password, and it can't change anything in your account.

The tools and prompts it offers

find_ids and get_usage

Data tools

Each tool's description names the API path it calls.

Area Tools
Competitions competitions_list, competitions_show, competitions_seasons, competitions_groups, competitions_standings
Teams teams_list, teams_show, teams_players, teams_injuries, teams_stats, teams_standings
Matches matches_list, matches_show, matches_lineups, matches_stats, matches_player_stats, matches_timeline, matches_shotmap, matches_referee, matches_player_heatmap
Live matches matches_live_stats, matches_live_timeline, matches_live_player_stats
Players players_list, players_show, players_stats, players_injuries, players_season_heatmap
Odds odds_prematch, odds_live
Coverage coverage_leagues, coverage_league, coverage_summary

Prompts

Apps that support MCP prompts, such as Claude's + menu or / commands in Claude Code, also get four ready-made prompts:

Prompt What it does
match_preview Previews the next match between two teams: form, table, absences and odds.
compare_players Compares two players' season stats side by side, per 90 minutes.
league_table Shows a competition's table for any season, with each team's form.
live_now Lists every match in play, optionally for one competition.

Example questions to ask

Ask What the assistant calls
"Who's top of the Premier League?" find_ids, competitions_show for the current season, then competitions_standings
"Which matches are live right now, and what are the scores?" matches_list with status=live
"When is Arsenal's next match?" find_ids, then matches_list with team_id, status=scheduled and sort=utc_date
"Compare Saka and Salah this season, per 90 minutes." find_ids, players_show, competitions_show, then players_stats
"Preview Arsenal's next match: form, injuries and the odds." find_ids, matches_list, teams_stats, competitions_standings, teams_injuries and odds_prematch

How calls count against your daily limit

To spend fewer, name the competition and season, and ask for what you need rather than "every match this season".

Troubleshooting

Problem What to do
The URL is rejected, or sign-in fails straight away Use exactly https://soccer-data.co/mcp, with no slash at the end. In Claude, choose Register automatically.
invalid_token or "API key is not valid" The key was revoked or mistyped, or the app was disconnected. Create a new key, or connect the app again.
The account has no active subscription MCP is included in Pro and Business. See plans.
USAGE_LIMIT_EXCEEDED or RATE_LIMITED The daily or per-minute limit is reached, shared with your API keys. The assistant is told to stop and tell you rather than retry.
The assistant answers without Soccer Data Switch the connector on for the chat, or start with "Using Soccer Data, …".

Next steps

Frequently asked questions

Is there an MCP server for football data?

Yes. Soccer Data has an MCP server at https://soccer-data.co/mcp that lets Claude, ChatGPT, Cursor and other MCP apps look up fixtures, live scores, lineups, stats, xG, standings, injuries and odds. It's included in the Soccer Data Pro and Business plans.

Can ChatGPT get live football scores?

Yes, once you add the Soccer Data MCP server to ChatGPT as a custom MCP server and sign in. Ask "Which matches are live right now?" and ChatGPT calls matches_list with status=live and answers with the scores.

How do I connect Claude to real football data?

In Claude, open Customize → Connectors, add a custom connector named Soccer Data with the URL https://soccer-data.co/mcp, choose Register automatically if asked, then click Connect and approve. It then works on claude.ai, the desktop apps and mobile.

Do I need an API key to use the Soccer Data MCP server?

No. Claude, ChatGPT, Claude Code, Cursor and VS Code can sign in with your Soccer Data account. Tools that take headers can send an API key in X-Api-Key instead; ChatGPT always uses sign-in.

How many requests does an MCP tool call use?

Each Soccer Data data tool call, find_ids included, counts as one request against your daily limit, shared with your API keys. get_usage doesn't count, and shows what's left today.

Try it with your own key

Fixtures, live scores, stats, xG, standings and odds for 1,100 competitions, in one REST API.

More guides