Skip to main content
Glama
universal-mcp

Fpl Universal MCP Server

README.md
# Fpl Universal MCP Server

This repository contains an implementation of an Fpl Universal MCP (Model Context Protocol) server. It provides a standardized interface for interacting with Fpl's tools and services through a unified API.

The server is built using the Universal MCP framework.

This implementation follows the MCP specification, ensuring compatibility with other MCP-compliant services and tools.

## Usage

You can start using Fpl directly from [agentr.dev](https://agentr.dev). Visit [agentr.dev/apps](https://agentr.dev/apps) and enable Fpl.

If you have not used universal mcp before follow the setup instructions at [agentr.dev/quickstart](https://agentr.dev/quickstart)

## Available Tools

The full list of available tools is at [Tools](./src/universal_mcp_fpl/README.md)

## Local Development

### šŸ“‹ Prerequisites

Ensure you have the following before you begin:

- **Python 3.11+** (recommended)
- **[uv](https://github.com/astral-sh/uv)** (install globally with `pip install uv`)

### šŸ› ļø Setup Instructions

Follow the steps below to set up your development environment:

1. **Sync Project Dependencies**

   ```bash
   uv sync
   ```

   This installs all dependencies from `pyproject.toml` into a local virtual environment (`.venv`).

2. **Activate the Virtual Environment**

   For Linux/macOS:

   ```bash
   source .venv/bin/activate
   ```

   For Windows (PowerShell):

   ```powershell
   .venv\Scripts\Activate
   ```

3. **Start the MCP Inspector**

   ```bash
   mcp dev src/universal_mcp_fpl/server.py
   ```

   This will start the MCP inspector. Make note of the address and port shown in the console output.

4. **Install the Application**
   ```bash
   mcp install src/universal_mcp_fpl/server.py
   ```

## šŸ“ Project Structure

```text
.
ā”œā”€ā”€ src/
│   └── universal_mcp_fpl/
│       ā”œā”€ā”€ __init__.py       # Package initializer
│       ā”œā”€ā”€ server.py         # Server entry point
│       ā”œā”€ā”€ app.py            # Application tools
│       └── README.md         # List of application tools
ā”œā”€ā”€ tests/                    # Test suite
ā”œā”€ā”€ .env                      # Environment variables for local development
ā”œā”€ā”€ pyproject.toml            # Project configuration
└── README.md                 # This file
```

## šŸ“„ License

This project is licensed under the [MIT License](LICENSE).

---

_Generated with **MCP CLI** — Happy coding! šŸš€_

TDQS

B3.4/5.0

Scored across 12 tools

Disambiguation4/5

Most tools have distinct purposes (player info, search, gameweek status, league standings, team info), but fpl_analyze_players and fpl_search_fpl_players overlap somewhat in filtering/analyzing players, and fpl_analyze_player_fixtures vs fpl_analyze_fixtures could be confused despite one being player-specific.

Naming Consistency4/5

All tools use a consistent fpl_ prefix with verb_noun structure (get_, search_, analyze_, compare_, etc.). Minor inconsistency: fpl_team_info breaks the verb pattern compared to fpl_get_* tools, but overall the naming is predictable.

Tool Count5/5

12 tools is well-scoped for an FPL server covering players, fixtures, gameweeks, and leagues. Each tool serves a distinct aspect of Fantasy Premier League data without feeling bloated.

Completeness4/5

The server covers player lookup, search, analysis, comparison, fixture analysis, gameweek info, and league standings/analytics. Missing obvious operations like getting overall FPL standings or user/team-specific data, but the core fantasy football workflows are well covered.

Maintenance

ActivityInactive
ResponsivenessNo issues