Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
FPL data, points predictions, and transfer, captain and chip advice for any team.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:
https://fpl-mcp-9tiv.onrender.com/mcpÖffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"fpl": {
"command": "npx",
"args": [
"-y",
"fpl-mcp-server"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add --transport http fpl https://fpl-mcp-9tiv.onrender.com/mcpclaude mcp add fpl -- npx -y fpl-mcp-serverIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"fpl": {
"url": "https://fpl-mcp-9tiv.onrender.com/mcp"
}
}
}In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"fpl": {
"command": "npx",
"args": [
"-y",
"fpl-mcp-server"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"fpl": {
"type": "http",
"url": "https://fpl-mcp-9tiv.onrender.com/mcp"
}
}
}In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"fpl": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"fpl-mcp-server"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
ChatGPT verbindet sich nur mit Servern im Internet:
https://fpl-mcp-9tiv.onrender.com/mcpMenünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Die Tool-Liste dieses Servers haben wir noch nicht gelesen; wir prüfen die Endpunkte reihum.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto GilbertKamau bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Noch nicht geprüft; wir prüfen die Endpunkte reihum
Noch nicht geprüft; wir prüfen die Endpunkte reihum
Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Beides geht: Installiere ihn auf deinem Computer oder verbinde dich mit der Cloud-Version.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.2.1) kam vor 28 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Tethered Trust
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
An open-source MCP server for Fantasy Premier League that works with Claude, ChatGPT, Grok, Cursor, VS Code and any other MCP client. It pulls live data from the official FPL API and past seasons (2016-17 onward) from the vaastav dataset, predicts every player's points for the next five gameweeks, and recommends squads, transfers, captains and chips. Data lives in SQLite or Supabase.
Try it without installing anything:
https://fpl-mcp-9tiv.onrender.com/mcp (claude.ai, ChatGPT, Grok, Cursor; see Connecting AI clients)npx -y fpl-mcp-server for apps that run local servers (Claude Desktop, Cursor, VS Code)io.github.GilbertKamau/fpl-mcp)The hosted server runs on a free plan, so the first request after a quiet spell can take a minute.
Example questions: *"Who are the best midfielders under £7m for the next 3 gameweeks?"*, *"Suggest transfers for team 1234567"*, *"Should I play my Bench Boost this week?"*
Requires Python 3.12+.
git clone https://github.com/GilbertKamau/fpl_mcp.git && cd fpl_mcp
python -m venv .venv
pip install -e ".[supabase,dev]" fpl-sync all # load data (~3 min to SQLite; ~15 min to a remote Supabase the first time) fpl-model all # train the model and write predictions (~3-6 min the first time)
fpl-sync jobs:
| Job | What it does | Time |
|---|---|---|
live | Players, prices, injuries, teams, gameweeks, fixtures | seconds |
current | This season's per-match stats for every player (FPL API) | ~1 min |
history | Past seasons from vaastav (--seasons 2024-25 to pick some) | minutes, once |
all | All of the above | |
weekly | live + current, then retrain and refresh predictions | ~5 min |
fpl-model jobs: evaluate (test only), compare (feature sets side by side), train, predict, all (train + predict). Add --refresh-cache after re-loading history, so the local cache of past seasons is rebuilt.
SQLite at data/fpl.db by default. To use Supabase, copy .env.example to .env and paste your Supabase Session pooler connection string as DATABASE_URL (the direct db. .supabase.co host is IPv6-only). Special characters in the password are encoded automatically. Tables are created automatically.
| Table | Contents |
|---|---|
players, teams, gameweeks, fixtures | Current-season snapshot |
player_gameweeks | One row per player per match, every season. player_code links a player across seasons |
season_teams | Team id → name for each season |
predictions | Expected points per player per upcoming fixture |
prediction_history | Every prediction made, with benchmarks, for live scoring |
model_artifacts | Trained models |
model_runs | Every training run, its test results, and whether it was accepted |
sync_log | When each sync ran |
Data quirks: 2019-20 gameweeks run to 47 (the COVID restart was numbered 39-47); 2024-25 includes AM (assistant manager) rows, which the model ignores; xG/xA exist from 2022-23 onward.
data/ (SQLite backup, cache, logs), models/ and .env are git-ignored, and a local pre-commit hook refuses to commit them.
LightGBM predicts each player's points per fixture from information available before kick-off:
A gameweek's expected points is the sum over its fixtures, so double gameweeks count twice. Injury and suspension news scales the next gameweek's prediction by FPL's chance of playing. The trained model is stored in the database, so any machine can make predictions with it.
Testing on past seasons. Walk-forward: for each of the last three complete seasons, the model is trained only on earlier seasons and predicts every fixture. The baseline is the player's average points over their last 6 matches.
| Season | Model MAE | Baseline MAE | Regular starters: model / baseline |
|---|---|---|---|
| 2023-24 | 0.931 | 0.999 | 2.19 / 2.40 |
| 2024-25 | 0.988 | 1.053 | 2.20 / 2.41 |
| 2025-26 | 0.954 | 1.055 | 2.26 / 2.55 |
That is 7.5% better than the baseline overall. Adding last-match form, season-long form and the market features improved the average MAE from 0.982 to 0.958 and was better in every test season (fpl-model compare reruns this). A retrained model is only used if it beats the baseline and is no worse than the current model.
Past-season tests have no injury news (there's no historical record of it), so they understate live accuracy. They also can't fairly be compared with FPL's own expected points: the historical xP column includes injury news, and its 2025-26 values are on a different scale.
Live tracking. Every prediction is archived. After each gameweek, the prediction made before the deadline is scored against actual points, next to two benchmarks recorded at the same moment: the 6-match baseline and FPL's own expected points (ep_next). It also compares what each method's top 20 players actually scored. model_report shows the running results.
FPL points are very noisy (a 2-pointer and a 15-pointer can come from the same performance), so treat predictions as estimates.
Integer programs solved with HiGHS (via PuLP) that follow FPL rules: 2 GKP / 5 DEF / 5 MID / 3 FWD, max 3 per club, a valid formation, the budget, and −4 per transfer beyond the free ones. Points for later gameweeks are discounted (×0.85 per week) because predictions further out are less reliable.
For a manager's team it uses public endpoints only (no login). Selling prices are estimated from the manager's transfer history (FPL keeps half of any price rise), and free transfers from their gameweek history (up to 5 banked, kept through Wildcard and Free Hit weeks). Transfers made since the last deadline aren't public yet, so they aren't included.
| Tool | What it does |
|---|---|
gameweek_status | Current/next gameweek and deadline |
search_players | Filter by position, team, price, minutes; sort by any stat |
get_player | Stats, injury news, last 6 matches, next 5 gameweeks' fixtures |
compare_players | 2-6 players side by side with per-90 and value numbers |
get_fixtures | A team's next fixtures, or a whole gameweek |
team_summary | Results, goals, clean sheets, fixture run, top players |
player_season_history | A player's totals for every season since 2016-17 |
get_my_team | Any manager's squad by team id (public, no login) |
predict_points | Expected points for the next 1-5 gameweeks, ranked |
model_report | How accurate the model is versus the baseline |
optimal_squad | Best 15-man squad from scratch for a budget |
suggest_transfers | Best transfers for a team, or advice to roll the transfer |
pick_captain | Captain, vice-captain and the top 5 options |
chip_advice | Which chips are left this half, what each is worth, play or save |
refresh_data | Re-pull the live snapshot |
There are two ways to run the server:
In the examples, /path/to/fpl_mcp/.venv/bin/python is the Python inside your virtual environment (Windows: C:\path\to\fpl_mcp\.venv\Scripts\python.exe), and https://your-server.example.com/mcp is your deployed URL.
claude mcp add fpl -- /path/to/fpl_mcp/.venv/bin/python -m fpl_mcp.server # local
claude mcp add --transport http fpl https://your-server.example.com/mcp # remote
Local: Settings > Developer > Edit Config, then add to claude_desktop_config.json:
{
"mcpServers": { "fpl": { "command": "/path/to/fpl_mcp/.venv/bin/python", "args": ["-m", "fpl_mcp.server"] } } }
Remote: use Settings > Connectors > Add custom connector (same as claude.ai below).
Settings > Connectors > Add custom connector, and paste https://your-server.example.com/mcp. Available on paid plans; on Team/Enterprise an owner adds it for the organization. claude.ai connects to servers without a login or with OAuth, so leave MCP_AUTH_TOKEN unset.
Turn on Developer mode (Settings > Apps & Connectors > Advanced), create a connector with the URL https://your-server.example.com/mcp and authentication None, then pick it from the tools menu in a chat. Plan availability varies, so check OpenAI's current docs. Like claude.ai, it can't send a fixed token, so leave MCP_AUTH_TOKEN unset.
Grok connects to remote MCP servers through the xAI API:
from xai_sdk import Client
from xai_sdk.chat import user from xai_sdk.tools import mcp
client = Client() # reads XAI_API_KEY chat = client.chat.create( model="grok-4.7", tools=[mcp(server_url="https://your-server.example.com/mcp", server_label="fpl")], ) chat.append(user("Who should I captain in gameweek 7?")) print(chat.sample().content)
Or with the Responses API, add this to tools:
{ "type": "mcp", "server_url": "https://your-server.example.com/mcp", "server_label": "fpl" }
If you set MCP_AUTH_TOKEN, also pass "authorization": " ".
Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": { "fpl": { "command": "/path/to/fpl_mcp/.venv/bin/python", "args": ["-m", "fpl_mcp.server"] } } }
Remote: "fpl": { "url": "https://your-server.example.com/mcp" }, plus "headers": { "Authorization": "Bearer " } if you set a token.
.vscode/mcp.json:
{
"servers": { "fpl": { "type": "stdio", "command": "/path/to/fpl_mcp/.venv/bin/python", "args": ["-m", "fpl_mcp.server"] } } }
Remote: "fpl": { "type": "http", "url": "https://your-server.example.com/mcp" }.
Any MCP client that supports stdio or Streamable HTTP works. To try the server interactively: npx @modelcontextprotocol/inspector /path/to/fpl_mcp/.venv/bin/python -m fpl_mcp.server.
The hosted server only reads the database. Data, training and predictions run on your own machine (or any scheduled job) with fpl-sync weekly, and the hosted server picks up new predictions within 10 minutes. You therefore need a database both can reach, such as Supabase.
scripts/supabase_readonly_role.sql in Supabase's SQL editor.Nur der Anfang wird gezeigt; den Rest findest du im Repo