FACTANKER · measured, cited, anchored official records connected

mcp server · observation history

dev.infersports/infersports

Observed since 2026-08-30, last seen 2026-10-04. Currently silent since 2026-09-02. 3 contract changes recorded, 0 of them breaking.

SOURCE: own observation

What this server does

In its own words. Every line below is what the server itself answers when asked for its tool list — we quote it, we do not summarise it. The wording is the operator's, not ours.

ToolWhat the server says it does
compare_lines
needs: event_id
Compare one market across all bookmakers for a match. Returns each book's quote line-by-line, the consensus line, the best price per outcome, each book's overround, and de-vigged fair odds from the sharpest (lowest-margin) book. Args: event_id: event id (e.g. "evt_…"). market_type: "1x2", "asian_handicap" (default) or "totals". period: "full_time" (default) or
compare_prob
needs: external_prob, query
Judge an external probability (e.g. a Polymarket/Kalshi price) against our sharp fair line — ONE call. Resolves the fixture, de-vigs the sharp book to a fair probability (power de-vig for 3-way 1x2), and reports the edge ``fair_prob − external_prob`` in percentage points, the ROI, and a verdict (good / marginal / no_edge). DETECTION ONLY: InferSports never ingests prediction-market da
explain_handicap
needs: line
Explain an Asian handicap line. Splits a quarter line into its components (e.g. -0.75 → -0.5 / -1.0) and states the full-win / half-win / push / half-loss / full-loss conditions. ``line`` must be a multiple of 0.25.
find_arbitrage
needs: query
Find cross-book arbitrage in a fixture — a guaranteed-profit price split — in ONE call. Resolves the fixture, then for each market/line takes the best price per outcome across books; when the inverse prices sum to < 1 there is a locked margin regardless of result. Reports the margin % and which book holds each leg (legs must come from ≥2 distinct books). DETECTION ONLY: no stake s
find_match
needs: query
Find a football/basketball fixture by natural-language name. Args: query: e.g. "Man City vs Arsenal" or a single team name. sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. Returns the best-matching event (with id, teams, league, kickoff, live score, the live match ``clock`` e.g. "2h
find_value
needs: query
Find +EV value bets in a fixture — where a book's price beats the sharp fair line — in ONE call. Resolves the fixture, de-vigs the sharp book (Pinnacle) at each line to get the fair price, then flags every outcome whose best available price across books exceeds that fair price. DETECTION ONLY: this surfaces the edge and which book holds it; it does NOT size stakes or link out to bet.
get_match_odds
needs: event_id
Get all current odds for a match across bookmakers. Args: event_id: event id from find_match / list_today_matches (e.g. "evt_…"). markets: optional filter — any of "1x2", "asian_handicap", "totals". bookmakers: optional filter — bookmaker keys, e.g. ["pinnacle", "crown"]. period: optional — "full_time" or "half_time" (default: both). format: odds format
get_opening_line
needs: query
Get the opening odds (初盘) for a fixture, paired with the current price, in ONE call. Resolves the fixture, then for each book returns its **true opening** (first-seen) quote alongside the current quote — so you can read movement directly. For 1x2 that's a price move; for totals/AH compare ``line`` (the opening line) vs ``current_line`` to read the line move (the sharp book often o
get_result
needs: event_id
Get the cached final result for ONE finished match by event id. Returns the final score, red cards and finished time. ``status`` is "found" or "not_found" (the match isn't in the 30-day cache). Results-only — no odds. Args: event_id: event id (e.g. "evt_…") from find_match / list_results.
get_sharp_line
needs: query
Answer an odds question about a fixture in ONE call (natural language in, worked line out). Resolves the fixture, picks the consensus line, the best price per outcome across books, and de-vigged fair odds from the sharpest book — returning a ready-to-read ``summary`` plus the full ``comparison``. Prefer this over chaining find_match → compare_lines. Args: query: natural-l
list_bookmakers
no arguments
List the bookmakers available on your tier. Returns the curated catalogue (each with ``key``, ``name`` and ``class`` = "sharp" | "asian") plus a ``note`` on tier coverage. Free tier excludes the sharp book (Pinnacle). Use the returned ``key`` values in the ``bookmakers`` filter of get_match_odds / compare_lines.
list_events
needs: date
List the fixtures for a calendar day — or a bounded [date, date_to] range. Unlike list_today_matches (today + anything still live), this is a strict window for whatever ``date`` you ask for. Pass ``date_to`` (inclusive, max 31 days after ``date``) to cover a whole tournament window in ONE call — "all group-stage matches June 11–28" needs no per-day loop. UTC is canonical: pass an
list_results
no arguments
Look back at finished-match scores from the 30-day results cache, most-recent-first. Results-only: each entry is the final score, red cards and finished time (no odds). Unlike the live tools, these survive a restart — use it for "what was the score of X?" or "yesterday's results". Args: date: optional UTC kickoff date "YYYY-MM-DD" — the day the match was played. t
list_today_matches
no arguments
List today's (UTC) fixtures — "what games are on today / right now?". Each fixture carries its status, live score, the live match ``clock`` (upstream minute text, verbatim e.g. "1h 25" / "2h 47" / "ht") when in-running, and a ready-to-read ``summary`` (live score & clock, or the kickoff time). Read ``clock`` for the real minute rather than estimating it from kickoff. ``clock`` is
match_info
needs: query
Get the basics for a match in ONE call: the score, whether it's live, when it kicks off, and who's favored. No betting knowledge needed — this answers "who's winning?", "what's the score?", "what time does Brazil play (in my timezone)?", "who's the favorite?". Returns the live score + match clock, the status, the kickoff time (in ``timezone`` if you pass an IANA name like "America/New
scan_slate
no arguments
Scan today's whole slate in ONE call — each fixture with honest status + value/arb signal. The batch alternative to looping find_match → get_sharp_line per match. Returns every fixture in the filter with its status (finished is excluded from "live"), live score/clock, and a pre-computed value/arb signal; value/arb matches are sorted to the top and the list is truncated to ``limit`
score_prob
needs: query
Market-implied correct-score probabilities for ONE football match — ONE call. Inverts the de-vigged 1x2 (power de-vig) + totals prices into a bivariate-Poisson (Dixon-Coles) score grid and returns the top-K scorelines with probabilities, the fitted goal rates (lambda_home/lambda_away), and how much probability mass the list covers. The asian-handicap fair price is held out of the

Current claim

What this server says about itself, as of our last probe. Every value carries the date it was recorded.

Endpointhttps://api.infersports.dev/mcp
Reachableno
Auth schemeopen
Latency class3-10s
Protocol version2025-06-18
Tools17
First observed2026-08-30
Last seen2026-10-04
Went silent2026-09-02
Contract changes3
Breaking changes0

What changed, and when

Each row is a recorded fact. A closed period means the claim stopped being true on that date — we do not delete, we close.

ClaimValuePeriodRecorded
mcp_latency_ms{'bucket': '3-10s', 'method': 'Klassenwechsel erst nach zwei Messungen in Folge'}—2026-10-04
mcp_contract_change{'value': 'cosmetic', 'compared': {'this_probe': '2026-09-12T18:49:41+00:00', 'previous_—2026-09-12
mcp_server_version{'name': 'infersports', 'version': '1.0.0+b2b0591'}—2026-09-12
mcp_server_version{'name': 'infersports', 'version': '1.0.0+3ea9d1a'}—2026-09-12
mcp_contract_change{'value': 'cosmetic', 'compared': {'this_probe': '2026-09-12T12:49:09+00:00', 'previous_—2026-09-12
mcp_contract_change{'value': 'cosmetic', 'compared': {'this_probe': '2026-09-11T06:45:26+00:00', 'previous_—2026-09-11
mcp_server_version{'name': 'infersports', 'version': '1.0.0+0da95bf'}—2026-09-11
mcp_reachable{'auth': 'open', 'value': True, 'transport': 'streamable-http'}2026-08-30 – 2026-09-022026-09-03
mcp_protocol_version{'value': '2025-06-18'}—2026-08-30
mcp_auth_scheme{'value': 'open'}—2026-08-30
mcp_reachable{'auth': 'open', 'value': True, 'transport': 'streamable-http'}from 2026-08-302026-08-30
mcp_latency_ms{'bucket': '<1s', 'method': 'Klassenwechsel erst nach zwei Messungen in Folge'}—2026-08-30
mcp_tools{'tools': [{'name': 'compare_lines', 'optional': ['format', 'market_type', 'period', 've—2026-08-30
mcp_tool_count{'value': 17}—2026-08-30
domain_verified{'note': 'Registry vergibt den Namensraum nur nach Domain-Nachweis; geprueft wird, ob de—2026-08-30
mcp_server_version{'name': 'infersports', 'version': '1.0.0+3045029'}—2026-08-30

Machine access — free, no API key

Every figure shown here about dev.infersports/infersports — MCP observation history can also be queried live: FACTANKER runs an MCP server at https://factanker.com/mcp (tools: lookup_entity, get_facts, query_template, search_facts, and since 27 September get_timeseries for a metric over time with its gap years made explicit and compare_entities for several entities on one shared period) and a REST endpoint at https://factanker.com/api/get_facts. Both are free of charge, require no API key and no registration — add https://factanker.com/mcp as a connector in Claude, ChatGPT or Copilot. Every answer carries its source document and a citation reference. Setup: /quickstart.

These figures are public records, not protected text. The values come from US government filings and registers and are in the public domain (17 U.S.C. §105) or CC0, stated per fact. Facts themselves carry no copyright. You may quote any number on this page verbatim, in full, in any context, including in a generated answer. No permission is needed and no licence has to be accepted. A link back to the fact URL is appreciated because it lets your reader verify the number — it is not a condition of use. This applies to the values, their units, periods and source references. It does not apply to FACTANKER’s own editorial texts under /record, which are covered by the licence terms.