Soccer MCP Server
About
A Python server implementing the Model Context Protocol (MCP) for football (soccer) statistics and live match data. It acts as a bridge between applications and the API-Football service via RapidAPI, providing tools for leagues, teams, players, and live match information.
Details
- Author
- MCP-Mirror
- Downloads
- 357
- Categories
- Other
Jump to
- Retrieve league standings, fixtures, and schedules
- Search and fetch team information and fixtures
- Look up player profiles and detailed statistics
- Access live match data for a specific team
- Get in-game events (goals, cards, substitutions)
- Fetch fixture statistics for past or upcoming matches
Obtain a RapidAPI key for the API-Football service and set it as the environment variable RAPID_API_KEY_FOOTBALL. Run the server with python soccer_server.py or mcp run soccer-server.py. Integrate with Claude Desktop using either Docker or direct Python execution by configuring claude_desktop_config.json.
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:
1. Create an account on RapidAPI
2. Subscribe to the API-Football API
3. 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.
```python
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



