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.
- Deploy the branch to a Vercel Preview or Production environment. Configure
DATABASE_URLin Vercel if you want database-backed tools. - In ChatGPT on the web, go to Plugins → Add custom MCP server (if this option is available for your plan and workspace).
- Enter a name such as Offside and the HTTPS endpoint above. No authentication is required.
- Review the connection warning, create the plugin, and inspect the available read-only tools.
- Start a new chat, select Offside, and try: "Look up FPL manager team 123456 and summarize their current team."
Optional: run locally
- 1. Install the project dependencies.
npm install - 2. Configure your MCP client to start the server.
Set the working directory to this repository and use the following command:
npm run mcpThe client launches the process over stdio and discovers its tools automatically. The exact configuration file depends on your MCP client.
- 3. Provide the database connection when using database tools.
For this local server only, set
DATABASE_URLin 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.