Infersports

dev.infersports由 infersports.dev 發布官方發布者v1.0.0更新於 Oct 24, 2026

Sharp Asian odds + opening-line (初盘) movement for agents: 6 Asian books + Pinnacle. Read-only.

已驗證Streamable HTTP可網頁執行金融資料與分析

概覽

AI 產生的概覽

一個唯讀的體育賠率伺服器,讓助理查詢足球與籃球賽程、比較各博彩公司盤口,並找出價值投注或套利訊號。

可以做什麼
依球隊名稱、日期或日期範圍尋找賽事,列出當日賽程及即時比分與比賽時鐘,並取得比賽基本資訊與熱門一方。取得各博彩公司在一賠二、亞洲讓球與大小球市場的目前賠率,並比較盤口、共識價格與去水後的公平賠率。讀取初盤並與目前價格對照以觀察盤口變化,並解釋亞洲讓球盤口。偵測價值投注、跨博彩公司套利與市場隱含的正確比分機率,並用銳利公平盤口評判外部機率。從30天結果快取回看已結束比賽的比分。
適用情境
適合助理回答足球與籃球的賠率、盤口變化或賽程問題,或篩選某一天的比賽以尋找價值與套利訊號。它只做唯讀分析,不是下注或帳戶工具。
執行需求
助理透過 streamable HTTP 連線的遠端端點;不需本機執行環境、套件或宣告的憑證。免費層級不含銳利博彩公司(Pinnacle),而多個比較與價值工具依賴它。
安裝前請注意
唯讀且僅做偵測:它回報價值與套利訊號,但不下注也不轉移資金。賠率與結果來自第三方博彩公司資料,結果快取僅涵蓋30天。層級涵蓋範圍限制了可用的博彩公司與銳利盤口比較。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Infersports,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/dev.infersports%2Finfersports/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "infersports": {
      "type": "http",
      "url": "https://api.infersports.dev/mcp"
    }
  }
}

工具

17

get_sharp_line

Get Sharp Line

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-language fixture, e.g. "Arsenal vs Man City" or a single team. market_type: "1x2", "asian_handicap" (default) or "totals". period: "full_time" (default) or "half_time". format: odds format — decimal | hk | malay | american | indonesian | probability. sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. verbosity: "full" (default) or "terse". "terse" empties the per-book ``books`` array inside ``comparison`` to save tokens; the ``summary`` and worked numbers are kept either way. On an ambiguous query, ``status`` is "ambiguous" and ``ask_user`` carries a disambiguation prompt — do not assume a match; ask the user or re-call with a more specific query. A ``decision`` block (``safe_to_proceed`` / ``ask_user`` / ``next_action``) pre-computes the go/no-go — branch on it instead of re-judging the result.

輸入參數datequery必填sportformatperiodverbositymarket_type

find_match

Find Match

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 47" or "ht", and a confidence score) plus alternatives. Use the returned ``event_id`` with get_match_odds / compare_lines. A ``decision`` block tells you whether it's ``safe_to_proceed`` and the suggested ``next_action`` (or ``ask_user`` when ambiguous).

輸入參數datequery必填sport

get_match_odds

Get Match Odds

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 — decimal | hk | malay | american | indonesian | probability.

輸入參數formatperiodmarketsevent_id必填bookmakers

compare_lines

Compare Lines

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 "half_time". format: display odds format (analytics are computed in decimal regardless). verbosity: "full" (default) or "terse". "terse" drops the per-book ``books`` array (the bulk of the payload) and returns only the worked answer (best_prices / consensus_line / fair_odds / summary).

輸入參數formatperiodevent_id必填verbositymarket_type

explain_handicap

Explain Asian Handicap

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.

輸入參數line必填

list_today_matches

List Today's Matches

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 null pre-match. Args: sport: optional filter — "football" or "basketball". status: optional filter — "live", "scheduled" or "finished". league: optional league filter — a name (fuzzy-matched, e.g. "World Cup") or an external id ("lg_…"). limit: max fixtures to return (1–200, default 50). timezone: optional IANA timezone (e.g. "America/New_York", "Asia/Shanghai") to render each fixture's kickoff in its ``summary`` as local time; default UTC.

輸入參數limitsportleaguestatustimezone

list_events

List Events (day or date range)

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 IANA ``timezone`` and the day boundaries are computed in that zone (so "June 12 in Shanghai" excludes a match that is still June 11 / already June 13 locally); each fixture keeps its UTC ``scheduled_at`` and adds ``scheduled_at_local``. Capped to ``limit`` (``truncated`` flags overflow) — narrow with sport/status/league rather than paging. Args: date: REQUIRED calendar day "YYYY-MM-DD" (e.g. "2026-06-12") — the window start. date_to: optional inclusive end day "YYYY-MM-DD" (max 31 days after ``date``); omit for a single day. timezone: optional IANA timezone (e.g. "Asia/Shanghai", "America/New_York") for the day boundary; default is the UTC day. sport: optional filter — "football" or "basketball". status: optional filter — "scheduled", "live" or "finished". league: optional league filter — a name (fuzzy-matched, e.g. "World Cup") or an external id ("lg_…"). limit: max fixtures to return (1–200, default 50).

輸入參數date必填limitsportleaguestatusdate_totimezone

match_info

Match Info

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_York"), the favored team with a plain win probability (de-vigged from the 1x2 line), and a ready-to-read ``summary`` you can quote directly. Args: query: natural-language fixture or team, e.g. "Brazil vs Argentina" or just "Brazil". timezone: optional IANA timezone (e.g. "America/New_York", "Asia/Shanghai") for the kickoff time; default UTC. sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. On an ambiguous query, ``status`` is "ambiguous" and ``ask_user`` carries a prompt — do not guess. ``favorite`` is best-effort (null when no 1x2 is on file for the fixture).

輸入參數datequery必填sporttimezone

list_bookmakers

List Bookmakers

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.

無需輸入參數。

get_opening_line

Get Opening Line

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 opens days earlier). A market with no opening yet on file is omitted. Args: query: natural-language fixture, e.g. "Real Madrid vs Barcelona" or a single team. 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 — decimal | hk | malay | american | indonesian | probability. sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. On an ambiguous query, ``status`` is "ambiguous" and ``ask_user`` carries a disambiguation prompt — do not assume a match. Best-effort: a book/line with no opening on file is omitted.

輸入參數datequery必填sportformatperiodmarketsbookmakers

find_value

Find Value Bets

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. Args: query: natural-language fixture, e.g. "Netherlands vs Algeria" or a single team. markets: optional filter — any of "1x2", "asian_handicap", "totals" (default: all). period: optional — "full_time" or "half_time" (default: both). min_edge_pct: only report outcomes beating fair by at least this % (default 1.0). format: odds format — decimal | hk | malay | american | indonesian | probability. sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. On an ambiguous query, ``status`` is "ambiguous" and ``ask_user`` carries a prompt — do not guess. Needs the sharp book to de-vig; on the Free tier ``note`` flags that fair is approximate.

輸入參數datequery必填sportformatperiodmarketsmin_edge_pct

compare_prob

Compare External Probability

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 data, sizes a stake, or picks — it gives you the sharp reference and the gap; the call is yours. Args: query: natural-language fixture, e.g. "France vs Argentina" or a single team. external_prob: the external implied probability for ``outcome``, in (0,1). Pre-net it for the venue's fee/spread (e.g. a Polymarket YES ask of 0.55 → 0.55). market_type: "1x2" (default; the prediction-market-comparable moneyline), "asian_handicap" (only ±0.5 maps cleanly to a binary), or "totals". period: "full_time" (default) or "half_time". outcome: which leg the probability is for — home/draw/away (1x2), home/away (AH), over/under. external_label: optional source label echoed back, e.g. "polymarket" | "kalshi". sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. Read ``caveats`` before acting: a 1x2 fair is regulation 90-min (a prediction market that includes extra time / "to advance" is a different market); quarter/integer AH carries push mass. On an ambiguous query ``status`` is "ambiguous" — do not guess. ``status`` is "no_line" when no sharp fair is available to judge against.

輸入參數datequery必填sportperiodoutcomemarket_typeexternal_prob必填external_label

score_prob

Score Probabilities (market-implied)

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 fit and reported as ``ah_ev_check`` (≈0 means the three markets are internally consistent). This is the market's own distribution, never an InferSports prediction. Football only, one match per call. Args: query: natural-language fixture, e.g. "Mexico vs South Africa" or a single team. sport: optional filter; only "football" is supported by this tool. date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. top: how many scorelines to return (default 5, max 10).

輸入參數topdatequery必填sport

find_arbitrage

Find Arbitrage

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 sizing, no bet links — InferSports is read-only. Args: query: natural-language fixture, e.g. "Netherlands vs Algeria" or a single team. markets: optional filter — any of "1x2", "asian_handicap", "totals" (default: all). period: optional — "full_time" or "half_time" (default: both). min_margin_pct: only report opportunities with at least this guaranteed margin (default 0). format: odds format — decimal | hk | malay | american | indonesian | probability. sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. On an ambiguous query, ``status`` is "ambiguous" and ``ask_user`` carries a prompt — do not guess.

輸入參數datequery必填sportformatperiodmarketsmin_margin_pct

scan_slate

Scan Slate

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`` (so truncation drops the quiet ones). Line movement is NOT included (that needs the opening lookup) — drill into a single fixture with get_opening_line. DETECTION ONLY / read-only. Args: sport: optional filter — "football" or "basketball". status: optional filter — "live" | "scheduled" | "finished". league: optional league filter — a name (fuzzy-matched, e.g. "World Cup") or an external id (lg_…). markets: optional — limit the value/arb scan to "1x2"/"asian_handicap"/"totals" (default all). period: optional — "full_time" or "half_time" (default both). min_edge_pct: value threshold for the per-match signal (default 1.0). min_margin_pct: arbitrage threshold for the per-match signal (default 0.0). only_signal: if true, return only fixtures that have a value or arb signal. format: odds format — decimal | hk | malay | american | indonesian | probability. limit: max entries to return, signal-first (default 20, max 100).

輸入參數limitsportformatleagueperiodstatusmarketsonly_signalmin_edge_pctmin_margin_pct

list_results

List Results

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. team: optional case-insensitive substring matched against either team name. league: optional case-insensitive substring matched against the league name. limit: max results to return, most-recent-first (1–200, default 50).

輸入參數dateteamlimitleague

get_result

Get Result

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.

輸入參數event_id必填

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 72%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分

    請在註冊中心條目中發布圖示。

  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款不適用

    託管服務按其提供方的條款使用,因此這裡不要求授權條款。此檢查項不計入百分比。