Soccer MCP Server
Provides football (soccer) statistics and live match data using the API-Football service.
Soccer MCP Server
A Python server implementing Model Context Protocol (MCP) for football (soccer) statistics and live match data using the API-Football service.
Overview
This server provides a comprehensive set of tools for accessing football data through the API-Football API. It serves as a bridge between applications and football data services, offering both live match information and historical statistics for leagues, teams, and players worldwide.
Features
- League data (standings, fixtures, schedules)
- Team information and fixtures
- Player statistics and profiles
- Live match data (events, statistics, timelines)
- Match analysis (statistics, events)
Configuration
This server requires an API key from RapidAPI for the API-Football service:
- Create an account on RapidAPI
- Subscribe to the API-Football API
- Set the environment variable:
RAPID_API_KEY_FOOTBALL=your_api_key_here
Tools
League Data
-
get_league_id_by_name
- Retrieve the league ID for a given league name
- Example:
get_league_id_by_name(league_name="Premier League")
-
get_all_leagues_id
- Retrieve a list of all football leagues with IDs
- Can be filtered by country
- Example:
get_all_leagues_id(country=["England", "Spain"])
-
get_standings
- Retrieve league standings for multiple leagues and seasons
- Can be filtered by team
- Example:
get_standings(league_id=[39, 140], season=[2022, 2023])
-
get_league_info
- Retrieve information about a specific football league
- Example:
get_league_info(league_name="Champions League")
-
get_league_fixtures
- Retrieves all fixtures for a given league and season
- Example:
get_league_fixtures(league_id=39, season=2023)
-
get_league_schedule_by_date
- Retrieves the schedule for a league on specified dates
- Example:
get_league_schedule_by_date(league_name="Premier League", date=["2024-03-08", "2024-03-09"], season="2023")
Player Data
-
get_player_id
- Retrieve player IDs and information for players matching a name
- Example:
get_player_id(player_name="Messi")
-
get_player_profile
- Retrieve a player's profile by their last name
- Example:
get_player_profile(player_name="Messi")
-
get_player_statistics
- Retrieve detailed player statistics by seasons and league name
- Example:
get_player_statistics(player_id=154, seasons=[2022, 2023], league_name="La Liga")
-
get_player_statistics_2
- Retrieve detailed player statistics by seasons and league ID
- Example:
get_player_statistics_2(player_id=154, seasons=[2022, 2023], league_id=140)
Team Data
-
get_team_fixtures
- Returns past or upcoming fixtures for a team
- Example:
get_team_fixtures(team_name="Manchester United", type="past", limit=3)
-
get_team_fixtures_by_date_range
- Retrieve fixtures for a team within a date range
- Example:
get_team_fixtures_by_date_range(team_name="Liverpool", from_date="2023-09-01", to_date="2023-09-30", season="2023")
-
get_team_info
- Retrieve basic information about a specific team
- Example:
get_team_info(team_name="Real Madrid")
Match/Fixture Data
-
get_fixture_statistics
- Retrieves detailed statistics for a specific fixture
- Example:
get_fixture_statistics(fixture_id=867946)
-
get_fixture_events
- Retrieves all in-game events for a fixture (goals, cards, subs)
- Example:
get_fixture_events(fixture_id=867946)
-
get_multiple_fixtures_stats
- Retrieves statistics for multiple fixtures at once
- Example:
get_multiple_fixtures_stats(fixture_ids=[867946, 867947, 867948])
Live Match Data
-
get_live_match_for_team
- Checks if a team is currently playing live
- Example:
get_live_match_for_team(team_name="Chelsea")
-
get_live_stats_for_team
- Retrieves live in-game stats for a team in a match
- Example:
get_live_stats_for_team(team_name="Liverpool")
-
get_live_match_timeline
- Retrieves real-time timeline of events for a team's live match
- Example:
get_live_match_timeline(team_name="Manchester City")
Usage
The server is implemented using the Fast MCP framework and can be run as a standalone service.
# Start the server
python soccer_server.py
# or
mcp run soccer-server.py
Configuration
- The server runs with a 30-second timeout for more reliable operation
- Signal handlers are implemented for graceful shutdown (Ctrl+C)
Usage with Claude Desktop
Option 1: Using Docker (Recommended)
- Clone this repository
git clone https://github.com/obinopaul/soccer-mcp-server.git
cd soccer-mcp-server
- Install dependencies
pip install -r requirements.txt
- Build the Docker image
docker build -t soccer_server .
- Run the Docker container (ensure your API key is passed as an environment variable)
docker run -d -p 5000:5000 -e RAPID_API_KEY_FOOTBALL=your_api_key_here --name soccer_server soccer_server
- Add this to your
claude_desktop_config.json:
{
"mcpServers": {
"soccer_server": {
"command": "docker",
"args": [
"exec",
"-i",
"soccer_server",
"python",
"soccer_server.py"
],
"env": {
"RAPID_API_KEY_FOOTBALL": "your_api_key_here"
}
}
}
}
Option 2: Direct Python Execution
- Clone this repository
git clone https://github.com/obinopaul/soccer-mcp-server.git
cd soccer-mcp-server
- Install dependencies
pip install -r requirements.txt
- Set the API key environment variable
export RAPID_API_KEY_FOOTBALL=your_api_key_here
- Add this to your
claude_desktop_config.json, adjusting the Python path as needed:
{
"mcpServers": {
"soccer_server": {
"command": "/path/to/your/python",
"args": [
"/path/to/soccer_server.py"
],
"env": {
"RAPID_API_KEY_FOOTBALL": "your_api_key_here"
}
}
}
}
After adding your chosen configuration, restart Claude Desktop to load the soccer server. You'll then be able to use all the football data tools in your conversations with Claude.
Technical Details
The server is built on:
- API-Football via RapidAPI
- MCP for API interface
- Pydantic for input validation
- Requests for API communication
License
This MCP server is available under the MIT License.
Verwandte Server
MONEI
European payment platform MCP server. Generate payment links, look up transactions, view revenue analytics, and manage subscriptions through AI assistants. First European Payment Institution with native MCP support. Banco de España #6911. OAuth 2.0 + PKCE. Live at mcp.monei.com.
Lightning Faucet MCP
Give AI agents a Bitcoin wallet with Lightning Network payments
GMX MCP Server
Perpetuals trading data, pool stats, and position info on GMX
senado-br-mcp
MCP Server for Brazilian Federal Senate open data - legislators, bills, votes, committees
Send247 Human Logistics
Human Logistics in the AI Layer
SettlementWitness MCP
SettlementWitness is a stateless MCP verification tool that returns replay-stable settlement receipts (PASS/FAIL) by forwarding task_id, spec, and output to the Default Settlement Verifier. Designed for agent execution gating and x402 settlement flows.
SO-ARM100 Robot Control with MCP
Control SO-ARM100 and LeKiwi robot arms using LLM-based AI agents.
teckel navigation toolbox
Give LLM/AI/Agents the ability to provide accurate navigation information (time & place, road-trips, general aviation).
Universal Image MCP
Universal MCP server for AI image generation supporting AWS Bedrock (Nova Canvas), OpenAI (GPT Image, DALL-E), and Google Gemini (Imagen 4). Generate, transform, and edit images using multiple AI models through a single Model Context Protocol interface.
BikeScout
BikeScout is designed for cyclists and mountain bikers. It provides intelligent trail recommendations by combining real-world map data with advanced routing analysis.
