Skip to main content
Glama
GenKenobiJedi

soccer-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SOCCER_MCP_TTLNoCache seconds for the current day900
SOCCER_MCP_CACHENoWhere day scoreboards are cached~/.cache/soccer-mcp
SOCCER_ENGINE_PATHNoOperator-only: path to a private analysis engine to bridge into
SOCCER_MCP_PLUGINSNoComma-separated plugin module paths or file paths used to attach private tools, e.g. soccer_engine.mcp_tools,/opt/private/pro_tools.py
SOCCER_MCP_LEAGUE_TTLNoCache duration for the ESPN league id-to-name map (30 days by default)
SOCCER_MCP_FINISHED_TTLNoCache seconds for past days (scores never change)604800

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_fixturesA

All football fixtures of one day (YYYY-MM-DD) across every competition, with scores when played.

Args: date: ISO date, e.g. 2026-09-20 league: optional case-insensitive substring filter on the competition name only_finished: only return matches with a final score

get_resultsA

Finished matches with final score for one day — the input for settling bets.

Args: date: ISO date, e.g. 2026-09-20 league: optional substring filter on the competition name

settle_picksA

Settle a list of picks against the real scorelines and return per-pick results plus totals.

Each pick: {"home": "...", "away": "...", "market": "O2.5", "odds": 1.75, "date": "2026-09-20"} Supported markets: O/U lines (1.0-4.5, quarter lines included), BTTS, 1X2, 2X2, DC. Team names are matched fuzzily against the day's fixtures, so slight spelling differences are fine.

Args: picks: list of picks, each needing home, away, market and odds date: fallback ISO date when a pick carries no date of its own

devig_marketA

Strip the bookmaker margin from one market's prices and return the market's own probabilities.

Args: prices: the decimal prices of all outcomes of the same market, e.g. [1.75, 3.6, 4.4] for 1X2

evaluate_priceA

Judge a price against your own probability: fair odds, EV, minimum odds and a scaled Kelly stake.

Args: probability: your probability for the outcome, e.g. 0.55 (not 55) odds: the decimal price on offer, e.g. 1.90 margin_pct: how much better than fair a price must be before you take it kelly_fraction: stake scaling; 0.25 means quarter Kelly

parlay_mathB

Combined odds and EV of an accumulator, plus how fast the edge decays with each leg.

Args: legs: e.g. [{"probability": 0.6, "odds": 1.8}, {"probability": 0.5, "odds": 2.0}]

engine_statusA

Report whether the optional private analysis engine and private plugins are wired up.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation3/5

get_fixtures and get_results overlap substantially—get_results is essentially the finished-match subset of get_fixtures with only_finished enabled—so agents could misselect between them. The other tools are mostly distinct, especially the betting math tools, though devig_market and evaluate_price both deal with odds and probabilities and require careful reading of their descriptions.

Naming Consistency4/5

Most names follow a clear verb_noun snake_case pattern: get_fixtures, get_results, settle_picks, devig_market, evaluate_price. Minor deviations include engine_status and parlay_math, which are noun-centric rather than imperative, but the overall style remains readable and predictable.

Tool Count5/5

Seven tools is a well-scoped size for a soccer betting analytics server. Each tool has a clear role in the workflow, from fetching fixtures and results to settling picks, devigging odds, evaluating prices, and computing parlay math.

Completeness4/5

The core betting workflow is well covered: data retrieval, pick settlement, margin removal, price evaluation, and parlay calculations. Minor gaps exist around current odds fetching and league/team metadata, but agents can work around these since most math tools accept prices and probabilities as inputs.

Maintenance

ActivityMaintained
ResponsivenessNo issues