fotmob-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fotmob-mcp What are the Premier League fixtures for this weekend?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
fotmob-mcp
Exploring FotMob football data. Two things live here:
An MCP (Model Context Protocol) server for querying FotMob from any MCP-compatible LLM client.
A Premier League stats dashboard: a pipeline that pulls full-squad player stats into SQLite, plus a web UI for sorting players by any stat and viewing FBref-style percentile breakdowns.
Both talk to FotMob's public web API endpoints (undocumented, used by fotmob.com itself), so behavior may change if FotMob changes their API.
Stats dashboard
Pulls every Premier League squad (~580 players) with meta data (age, position, foot, nationality, height, market value) and ~37 season-long stat categories (goals, xG, xA, tackles, defensive actions, goalkeeping stats, etc.) into a local SQLite database, then serves a dashboard to sort, filter, and compare players — including percentile bars against same-position peers, similar to old FBref scouting reports.
npm install
npm run pipeline # fetch everything into data/fotmob.db (~5-10 min; foot/value lookups are the slow part)
npm run pipeline:fast # same, but skips the slow per-player foot/market-value enrichment
npm run web # serve the dashboard at http://localhost:3000Re-run npm run pipeline periodically to refresh with the latest stats (it's a full upsert, safe
to re-run anytime — e.g. weekly during the season). The SQLite file lives at data/fotmob.db and
is gitignored; each environment builds its own.
Dashboard structure
pipeline/— fetches league squads + stat leaderboards from FotMob, writes to SQLiteserver/— Express API (/api/meta,/api/players,/api/players/:id,/api/leaders/:statName) serving the SQLite datapublic/— vanilla JS/HTML/CSS frontend: sortable player table, category tabs (Standard/Shooting/Passing/Possession/Defense/Discipline/Goalkeeping), player detail drawer with percentile bars, and a leaders view
No hosting is set up yet — this runs locally. To make it publicly accessible, deploy server/ (it
serves both the API and the static frontend) to any Node host with a persistent disk for the
SQLite file (e.g. Render, Railway, Fly.io, a VPS), and schedule npm run pipeline to run periodically there.
Related MCP server: football-scraper-mcp
MCP server
Tools
get_matches_by_date— all matches across leagues on a given date (YYYYMMDD)get_match_details— lineups, stats, events, and score for a matchget_team— squad, fixtures, recent results, and table position for a teamget_league— table, top scorers, and fixtures for a leagueget_player— bio, stats, and recent ratings for a playersearch— search teams, players, leagues, or matches by name
Setup
npm install
npm run buildUsage
Run directly:
npm startOr point an MCP client at it, e.g. in Claude Code / Claude Desktop config:
{
"mcpServers": {
"fotmob": {
"command": "node",
"args": ["/absolute/path/to/fotmob-mcp/dist/index.js"]
}
}
}During development, run without building first:
npm run devFinding IDs
FotMob team/league/player/match IDs aren't obvious from names alone — use the search tool
first to resolve a name to an ID, then feed that ID into the other tools.
Available Tools
6 toolsget_leagueA
Get a league's overview: table, top scorers, and fixtures.
Inputs: leagueId (required).
get_match_detailsA
Get detailed info for a single match: lineups, stats, events, and score.
Inputs: matchId (required).
get_matches_by_dateA
Get all football matches (across leagues) scheduled on a given date.
Inputs: date (required).
get_playerB
Get a player's profile: bio, stats, and recent performance ratings.
Inputs: playerId (required).
get_teamA
Get a team's overview: squad, fixtures, recent results, and league table position.
Inputs: teamId (required).
searchB
Search FotMob for teams, players, leagues, or matches by name.
Inputs: term (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a clearly distinct resource: matches by date, match details, teams, leagues, players, and search. There is no meaningful overlap between the entity-specific getters and the general search tool.
Five tools follow the consistent get_<resource> pattern, while 'search' is a bare verb that breaks the pattern slightly. The naming is otherwise predictable and all snake_case.
Six tools is a well-scoped set for a football data server, covering all major entity types without redundancy. Each tool earns its place in the surface.
The surface covers core football data needs: matches by date, detailed match info, teams, leagues, players, and discovery via search. There are no dead ends or obvious missing operations for the stated domain.
Related MCP Connectors
The Ferryhopper MCP server is a connector for LLMs and AI Agents in maritime travel that exposes ferry routes, schedules, and booking options. It enables AI assistants to search ports and connections across 33 countries and 190+ ferry operators, provide real-time ferry itineraries with indicative prices, and assist users with planning island-hopping or multi-leg journeys by processing natural language queries about ferry times, passenger counts, and travel durations.
Scrape, crawl and search the web for AI agents via MCP.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Web search API and MCP server for developers building AI agents.
Related MCP Servers
- FlicenseAqualityDmaintenanceProvides live football data through MCP tools, enabling users to fetch today's matches and top scorers for competitions like the Premier League or World Cup.2-
- FlicenseNot gradedqualityDmaintenanceProvides tools to query football match data, odds, standings, and team statistics via natural language, integrating with the football-scraper-api.-
- FlicenseBqualityDmaintenanceEnables access to live FotMob football data for fixture lookup, team and player research, match details, lineups, league discovery, and search-based entity lookup.710-
- AlicenseAqualityDmaintenanceEnables MCP clients to access live football data from FotMob, including match stats, team form, injuries, and player workload, without making predictions.101MIT