Sharp Asian odds + opening-line (初盘) movement for agents: 6 Asian books + Pinnacle. Read-only.
| Endpoint | https://api.infersports.dev/mcp (streamable-http) |
|---|---|
| Registry version | 1.0.0 |
| Now | 17 tools · grade F (42) · pin ts_2b0b183b95225e728146d695fe851bf5 · protocol 2025-06-18 |
| First / last listed | 2026-10-30 02:32 UTC / 2026-10-30 02:32 UTC |
| Grade over time | 2026-10-30: F (42), 17 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: get_sharp_line find_match get_match_odds compare_lines explain_handicap list_today_matches list_events match_info list_bookmakers get_opening_line find_value compare_prob score_prob find_arbitrage scan_slate list_results get_result
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-l params: query*, market_type, period, format, sport, date, verbosity |
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 params: query*, sport, date |
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 params: event_id*, markets, bookmakers, period, format |
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 params: event_id*, market_type, period, format, verbosity |
explain_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.
params: line* |
list_today_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 params: sport, status, league, limit, timezone |
list_events | 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 params: date*, date_to, timezone, sport, status, league, limit |
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 params: query*, timezone, sport, date |
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.
params: none |
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
o params: query*, markets, bookmakers, period, format, sport, date |
find_value | 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.
params: query*, markets, period, min_edge_pct, format, sport, date |
compare_prob | 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 params: query*, external_prob*, market_type, period, outcome, external_label, sport, date |
score_prob | 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 params: query*, sport, date, top |
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 s params: query*, markets, period, min_margin_pct, format, sport, date |
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` params: sport, status, league, markets, period, min_edge_pct, min_margin_pct, only_signal, format, limit |
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.
t params: date, team, league, limit |
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.
params: event_id* |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.