FutPicks

io.github.KhavelPublished by GitHub account Khavelv1.0.2Updated Oct 24, 2026

Probable football lineups with start probability and expected fantasy points, graded in public.

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

FutPicks gives an assistant probable football lineups with start probabilities and expected fantasy points, plus matches, model picks and a public track record.

What you can do
  • Look up clubs, today's and upcoming fixtures, and match details with the projected XI and model read
  • Browse today's picks, a filterable picks board and individual pick details
  • Check the public track record of graded picks, filtered by market, league, rating, outcome or date
  • With a data key: picks history, match evaluation, backtest runs, CSV export and a data catalog
  • With an ops key: trigger and poll admin operations such as ingestion, scoring, settlement and calibration runs
When to use it
Useful when you want fantasy or betting-oriented football analysis for LaLiga, Premier League, Serie A, Bundesliga, Ligue 1 and Primeira Liga, especially projected starting lineups and model picks with measured accuracy. The public tools need no account, so it is easy to try before adding keys.
Requirements
Runs locally over stdio via npx (Node.js). Every tool calls the public futpicks.com REST API over HTTPS, so network access is needed. Public lineup, match and track-record tools need no key. Pro data tools need FUTPICKS_API_KEY (data-scope key, minted in the web app under Account, API Keys); admin ops tools need FUTPICKS_OPS_TOKEN. FUTPICKS_API_URL optionally overrides the base URL.
Before you install
FUTPICKS_API_KEY and FUTPICKS_OPS_TOKEN are secrets read from the environment; the raw key is shown only once at creation, so store it carefully and revoke it if exposed. The ops tools trigger server-side operations (ingestion, scoring, settlement, calibration, intelligence refreshes) that change data on the service, and the ops token is admin-only. Picks and odds are informational, not financial advice. Requests and parameters are sent to futpicks.com.

Installation

In SourceWeft

  1. Open FutPicks in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

FutPicks MCP Server

Model Context Protocol server for football data: probable lineups with a per-player start probability and expected fantasy points, match analysis, model picks and a public track record — LaLiga, Premier League, Serie A, Bundesliga, Ligue 1 and Primeira Liga.

Every tool calls the public futpicks.com REST API over HTTPS. No database access, no shell, no local secrets beyond the API tokens you put in the environment. The lineup, match and track-record tools need no key at all.

The lineups are graded in public against the confirmed XI, so the accuracy the tools report is measured, not claimed. Same data as futpicks.com/onces/la-liga.

Quick start

Add it to any MCP client (Claude Code shown here) — no install step, npx fetches it:

json
{  "mcpServers": {    "futpicks": {      "command": "npx",      "args": ["-y", "futpicks-mcp"]    }  }}

Then ask for a probable lineup: flab_teams to find a club, flab_matches_upcoming for the fixtures, flab_match_details for the projected XI and the model's read of the match.

To unlock the Pro and admin tools, add the keys:

json
{  "mcpServers": {    "futpicks": {      "command": "npx",      "args": ["-y", "futpicks-mcp"],      "env": {        "FUTPICKS_API_KEY": "flab_live_…"      }    }  }}

Building from source

bash
git clone https://github.com/Khavel/futpicks-mcp.gitcd futpicks-mcpnpm installnpm run build      # compiles src/index.ts → dist/index.js

For local development with hot reload: npm run dev.

Environment variables

VariableRequired forDescription
FUTPICKS_API_URLNoAPI base URL (default: https://futpicks.com)
FUTPICKS_API_KEYData toolsData-scope API key (ProTier policy)
FUTPICKS_OPS_TOKENOps toolsOps-scope API key (Admin policy, admin only)

Public tools work with no token at all.

Where to get the tokens

Mint API keys from the web app: futpicks.com → Account → API Keys (Cuenta → Claves de API).

  • FUTPICKS_API_KEY — create a Data-scope key. It looks like flab_live_… and satisfies the Pro-tier (ProTier) endpoints. Pro and admin users can mint these.
  • FUTPICKS_OPS_TOKEN — create an Ops-scope key. It looks like flab_ops_… and satisfies the admin (Ops) endpoints. Only admins can mint these.

The raw key is shown once at creation, so copy it into your environment immediately. Keys are stored only as SHA-256 hashes, support optional expiry, and can be revoked from the same screen; revoked or expired keys are rejected with 401.

Tools

Public (no auth)

ToolEndpointKey params
flab_picks_todayGET /api/picks/todaydate?, rating?, market?
flab_pick_detailsGET /api/picks/{id}id
flab_picks_boardGET /api/picks/boarddate?, league?, market?, rating?, odds/edge ranges
flab_matches_todayGET /api/matches/today—
flab_match_detailsGET /api/matches/{id}[/intelligence]id, includeIntelligence?
flab_matches_upcomingGET /api/matches/upcomingdays? (1–30)
flab_teamsGET /api/teams—
flab_track_recordGET /api/track-record/filteredmarket?, league?, rating?, outcome?, from?, to?
flab_healthGET /api/health—

Data tools (require FUTPICKS_API_KEY)

ToolEndpointKey params
flab_picks_historyGET /api/picks/historyfrom?, to?, league?, market?, rating?, page?, pageSize?
flab_evaluate_matchesGET /api/evaluate/matches—
flab_evaluate_matchGET /api/evaluate/{matchId}matchId
flab_backtest_runPOST /api/backtest/rundateFrom, dateTo, rating?, market?, minEdge?, leagueId?
flab_export_picksGET /api/picks/exportfrom?, to?, market?, rating? (returns CSV)
flab_data_catalogGET /api/v1/data—

Ops tools (require FUTPICKS_OPS_TOKEN, admin-only)

ToolEndpointKey params
flab_ops_runPOST /api/v1/ops/operations/{kind}kind, plus date?/lastDays?/windowDays?/matchId?
flab_ops_statusGET /api/v1/ops/operations/{id}[/result]id, includeResult?

flab_ops_run kinds: ingestion-runs, scoring-runs, settlement-runs, calibration-runs, intelligence-refreshes. The server auto-generates an Idempotency-Key per ops POST.

Claude Desktop configuration

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "footballlab": {      "command": "node",      "args": ["C:/Users/ceja_/Desktop/Desarrollos/Furbov2/mcp-server/dist/index.js"],      "env": {        "FUTPICKS_API_URL": "https://futpicks.com",        "FUTPICKS_API_KEY": "your-pro-tier-token",        "FUTPICKS_OPS_TOKEN": "your-admin-token"      }    }  }}

Verify locally

bash
npx @modelcontextprotocol/inspector node dist/index.js

Then call flab_health (no token needed) — it should return live system status.

Security

  • No tool reads DB connection strings, appsettings secrets, or shells into the VPS.
  • All inputs are validated with zod; page sizes and ranges are capped server-side.
  • Tokens are read from environment variables only and never logged.
  • Data/ops tools fail with a clear message when their token is missing — they never fall back to an unauthenticated call.
  • Ops mutations send a fresh Idempotency-Key so retries are deduplicated by the API.

Source: README.md at commit 9f57999

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts