ooffside.

Vercel-hosted integration

Connect Offside with MCP

Connect ChatGPT or another compatible client to Offside's read-only tools over HTTPS. The hosted MCP endpoint runs on Vercel and keeps database access on the server.

Connect ChatGPT

After deploying this branch to Vercel and setting DATABASE_URL if you want database-backed tools, add https://YOUR-DOMAIN/api/mcp as a custom MCP server in ChatGPT. Replace YOUR-DOMAIN with the production domain assigned to this Offside deployment. A hosted connection does not require cloning this repository or running a local process. Custom MCP availability depends on your ChatGPT plan and workspace permissions; check OpenAI's current help guidance or ask your workspace admin if you do not see the option.

Set DATABASE_URL in Vercel Project Settings → Environment Variables if you want database-backed tools, then redeploy. No MCP token or client authentication is required. Never put DATABASE_URL in ChatGPT; it stays in Vercel.

  1. Deploy the branch to a Vercel Preview or Production environment. Configure DATABASE_URL in Vercel if you want database-backed tools.
  2. In ChatGPT on the web, go to Plugins → Add custom MCP server (if this option is available for your plan and workspace).
  3. Enter a name such as Offside and the HTTPS endpoint above. No authentication is required.
  4. Review the connection warning, create the plugin, and inspect the available read-only tools.
  5. Start a new chat, select Offside, and try: "Look up FPL manager team 123456 and summarize their current team."

Optional: run locally

  1. 1. Install the project dependencies.
    npm install
  2. 2. Configure your MCP client to start the server.

    Set the working directory to this repository and use the following command:

    npm run mcp

    The client launches the process over stdio and discovers its tools automatically. The exact configuration file depends on your MCP client.

  3. 3. Provide the database connection when using database tools.

    For this local server only, set DATABASE_URL in the MCP server process environment. Use a secret/environment setting, not a committed config file.

Available tools

Read-only · public endpoint

get_manager

Get public manager details, gameweek squad, captaincy, bank, team value, transfer history, and chips already played. Defaults to the current gameweek. Remaining chips and free transfers are unavailable from public endpoints.

Data source: Fantasy Premier League API

search_player_market

Search available or doubtful players by name, position, or maximum price, then rank by average or gameweek predicted points. Optionally filter by the minimum probability of scoring more than 5 points (requires a gameweek).

Data source: Offside PostgreSQL database

get_player_profile

Look up a player by FPL player ID or name, including current stats, availability/news, and model predictions.

Data source: Offside PostgreSQL database

compare_players

Compare two to five players by ID across current stats and model predictions.

Data source: Offside PostgreSQL database

get_fixture_difficulty

Get latest-season fixture matchups with kickoff, win probabilities, expected goals, scores, and completion status. Optionally filter by team ID or gameweek.

Data source: Offside PostgreSQL database

get_training_data

Fetch a paginated subset of fpl.training_data. Filter by player ID, gameweek, season (for example 2026/27), and whether rows are future fixtures. Filters combine with AND. Rows contain historical outcomes/statistics, rolling and all-time features, expected goals, position indicators, and player/team/kickoff metadata. Page size defaults to 100 and is capped at 500; use offset to paginate.

Data source: Offside PostgreSQL database

get_feature_importance

Fetch a paginated subset of the model feature-importance table for inspecting which training features contribute most to predictions.

Data source: Offside PostgreSQL database

get_player_fixtures

Review played match history and remaining scheduled fixtures for a positive FPL player ID, including opponent/team details, actual stats where available, win probability, expected goals, scores, and completion status.

Data source: Offside PostgreSQL database

What MCP does

MCP is a connection standard. Your AI client starts the Offside server, sees the available tools, and can call them to retrieve structured FPL data. The AI uses those results to form its response; MCP does not provide an AI model itself.

Hosting model

The website and MCP route can deploy together on Vercel. The route uses stateless Streamable HTTP so requests do not depend on in-memory session affinity. The local stdio command remains available for development. Market and fixture tools need PostgreSQL; manager and picks tools use the public FPL API.