FPL Advisor MCP Server
# FPL Advisor MCP Server
A Model Context Protocol (MCP) server that gives Fantasy Premier League advice. Built with [FastMCP](https://github.com/modelcontextprotocol/python-sdk).
## Tools
| Tool | Description |
|------|-------------|
| `recommend_transfer(team_json)` | Suggest transfer targets based on form and value |
| `recommend_captain(team_json)` | Pick the best captain from your squad |
| `find_differentials(max_price)` | Find low-ownership players under a price ceiling |
`team_json` is a JSON array of player names, e.g. `'["Erling Haaland", "Mohamed Salah"]'`.
## 1. Run Locally
```bash
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
# Run with MCP Inspector (opens a browser UI to test tools)
uv run mcp dev server.py
# Or run the server directly
uv run python server.py
```
## 2. Connect to Claude Desktop / Cursor
Add this to your Claude Desktop config file:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"fpl-advisor": {
"command": "uv",
"args": ["run", "--directory", "/ABSOLUTE/PATH/TO/fpl-advisor-mcp", "python", "server.py"]
}
}
}
```
Replace `/ABSOLUTE/PATH/TO/fpl-advisor-mcp` with the actual path, then restart Claude Desktop.
## 3. Connect to Claude Code
Add the MCP server to your project settings:
```bash
claude mcp add fpl-advisor -- uv run --directory /ABSOLUTE/PATH/TO/fpl-advisor-mcp python server.py
```
### Sample prompts to try
Once connected, try these prompts in Claude Code:
```
Who should I captain this week? My team has Haaland, Salah, Saka, Palmer, and Watkins.
```
```
I have £7m to spend — find me a differential pick that no one else owns.
```
```
Suggest a transfer for my team: Haaland, Salah, Trent, Saka, Watkins.
Who gives me the best value for money?
```
```
Compare Cole Palmer vs Bukayo Saka — who's the better FPL asset right now?
```
```
Build me a front three under £30m using the best form-to-price ratio.
```
TDQS
Scored across 3 tools
Each tool serves a distinct purpose: recommending transfers, selecting a captain, and finding differentials. There is no overlap in functionality, and the descriptions make clear when to use each one.
All tool names follow a consistent verb_noun pattern (recommend_transfer, recommend_captain, find_differentials). While verbs differ, the structure is uniform and easily predictable.
The server has 3 tools, which is well within the ideal 3-15 range for a focused advisor. Each tool addresses a core decision area in FPL without unnecessary bloat.
The toolset covers key FPL decisions—transfers, captain, and differentials—but lacks additional advisory features like chip strategy or fixture difficulty analysis. These are minor gaps given the server's clear scope.