NBA Markets Desk
Kalshi NBA props and game lines vs DraftKings, FanDuel and Novig, plus who gains when a star sits.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"nba": {
"url": "https://predictionmarketspicks.com/api/mcp-nba/mcp?via=registry"
}
}
}Remote-Endpunkte
https://predictionmarketspicks.com/api/mcp-nba/mcp?via=registrystreamable-httpWas es kann
Tool-Inventar
Tools (7)
🟢nba_prop_board(team, game, player, statType, limit)
Use for "where is LeBron's points line cheapest tonight". Every Kalshi NBA player-prop strike (points, rebounds, assists, threes) beside DraftKings, FanDuel, BetRivers, Fanatics, ESPN, Novig and ProphetX at the same strike: the cheapest venue per side, Kalshi fee included. Market prices only, no model.
Eingabe-Schema
{
"type": "object",
"properties": {
"team": {
"description": "Team code or name (LAL, Lakers).",
"type": "string",
"maxLength": 40
},
"game": {
"description": "Two teams, e.g. \"BOS @ DET\".",
"type": "string",
"maxLength": 60
},
"player": {
"description": "Player name (partial).",
"type": "string",
"maxLength": 60
},
"statType": {
"description": "Optional stat. One of: pts · reb · ast · threes.",
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"enum": [
"pts",
"reb",
"ast",
"threes"
]
}
]
},
"limit": {
"description": "Max rows (default 15).",
"type": [
"number",
"string",
"null"
]
}
}
}🟢nba_game_board(team, game, market, limit)
Use for "Knicks moneyline on Kalshi vs the books" and "cheapest place for the Celtics spread tonight". Kalshi NBA moneyline, spread and total beside DraftKings, FanDuel, BetRivers, Fanatics, ESPN, Novig and ProphetX at the same line: the cheapest venue per side, Kalshi fee included. Market prices only, no model.
Eingabe-Schema
{
"type": "object",
"properties": {
"team": {
"description": "Team code or name (NYK, Knicks).",
"type": "string",
"maxLength": 40
},
"game": {
"description": "Two teams, e.g. \"BOS @ DET\".",
"type": "string",
"maxLength": 60
},
"market": {
"description": "Optional market. One of: moneyline · spread · total.",
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"enum": [
"moneyline",
"spread",
"total"
]
}
]
},
"limit": {
"description": "Max games (default 5).",
"type": [
"number",
"string",
"null"
]
}
}
}🟢nba_injury_impact(team, game, player, stat)
Use for "Embiid's out tonight — who benefits?" and "who's out in the NBA today". Today's NBA absences from the official injury report, and for each absent star the teammates whose minutes, points, rebounds, assists and usage rose in past games without him (last two seasons, sample size on every row), beside today's Kalshi prop prices. Questionable players fork into plays/sits branches until ruled. Historical splits only, no projection.
Eingabe-Schema
{
"type": "object",
"properties": {
"team": {
"description": "Team code or name (PHI, Sixers).",
"type": "string",
"maxLength": 40
},
"game": {
"description": "Two teams, e.g. \"BOS @ NYK\".",
"type": "string",
"maxLength": 60
},
"player": {
"description": "The absent player, or a teammate to look up (partial name).",
"type": "string",
"maxLength": 60
},
"stat": {
"description": "Stat to rank beneficiaries by (default points). One of: pts · reb · ast · min · usg · fg3m · stl · blk.",
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"enum": [
"pts",
"reb",
"ast",
"min",
"usg",
"fg3m",
"stl",
"blk"
]
}
]
}
}
}🟢find_arbitrage(minGap)
Use for "where is the arbitrage" and "Kalshi vs Polymarket price gaps". Cross-venue gaps on the same NFL, NBA, NHL or MLB game: Kalshi against Polymarket US (the exchange US traders use, fees included), Polymarket international as a reference. Gap in pp, WATCH/ARB signal, cheaper venue, settlement_match; near misses when nothing clears. Free: the top 3 gaps in full; Pro returns the whole board.
Eingabe-Schema
{
"type": "object",
"properties": {
"minGap": {
"description": "Minimum gap in percentage points to include (default 3 = WATCH threshold).",
"type": [
"number",
"string"
]
}
}
}🟢calculate_ev(marketPrice, yourProbability)
Use for "is this contract mispriced" and "what is my edge". Give a Kalshi or Polymarket price in cents and your own probability; returns the % expected-value edge and a BUY / SELL / SKIP read.
Eingabe-Schema
{
"type": "object",
"properties": {
"marketPrice": {
"description": "Current contract price in cents (1–99), equal to the implied probability in %. Required for a real answer. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%.",
"type": [
"number",
"string"
]
},
"yourProbability": {
"description": "Your own estimate of the true probability the contract resolves YES, in % (0–100). Required for a real answer. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%.",
"type": [
"number",
"string"
]
}
}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"tell_user": {
"description": "Show this sentence to the user first.",
"type": "string"
},
"timestamp": {
"type": "string"
},
"data_freshness": {},
"sources": {},
"needs_input": {},
"example_call": {},
"edge_pct": {
"description": "Expected-value edge, %."
},
"edge_pp": {
"description": "Your probability minus the price, pp."
},
"signal": {
"description": "BUY / SELL / SKIP."
},
"interpretation": {
"description": "Plain-English read."
},
"market_price_cents": {
"description": "Price used, cents."
},
"your_probability_pct": {
"description": "Probability used, %."
}
},
"additionalProperties": {}
}🟢kelly_size(winProbability, marketPrice, bankroll, fraction)
Compute the optimal Kelly position size for a prediction-market contract. Given your win probability, the market price (which sets the payout), your bankroll, and a Kelly fraction (full / half / quarter / eighth), returns the dollar stake and a risk rating. Use for "how much should I stake", "what is my position size", "Kelly sizing for this trade".
Eingabe-Schema
{
"type": "object",
"properties": {
"winProbability": {
"description": "Your probability the contract resolves YES, in % (0–100). Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%.",
"type": [
"number",
"string"
]
},
"marketPrice": {
"description": "Contract price in cents (1–99). Sets the payout ratio. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%.",
"type": [
"number",
"string"
]
},
"bankroll": {
"description": "Total bankroll in dollars (e.g. 1000). Optional — omit it and the result is the % of bankroll to stake, without a dollar figure.",
"type": [
"number",
"string"
]
},
"fraction": {
"description": "Kelly fraction to apply. Half-Kelly is the common sharp-money default. One of: full · half · quarter · eighth.",
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"enum": [
"full",
"half",
"quarter",
"eighth"
]
}
]
}
},
"required": [
"winProbability",
"marketPrice"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"tell_user": {
"description": "Show this sentence to the user first.",
"type": "string"
},
"timestamp": {
"type": "string"
},
"data_freshness": {},
"sources": {},
"needs_input": {},
"example_call": {},
"stake_dollars": {
"description": "Suggested stake in dollars (when a bankroll was given)."
},
"full_kelly_pct": {
"description": "Full-Kelly fraction of bankroll, %."
},
"applied_fraction_pct": {
"description": "The fraction applied, %."
},
"rating": {
"description": "Qualitative read of the sizing."
}
},
"additionalProperties": {}
}🟢convert_probability(value, format)
Convert between implied probability, American odds, and decimal odds. Give one value and its format and get all three back (American odds carry no commas, e.g. +441 or -200). Use for "what is +150 as a probability", "convert 62% to American odds", "decimal to implied odds".
Eingabe-Schema
{
"type": "object",
"properties": {
"value": {
"description": "The numeric value to convert. Needed for a real answer, with format.",
"type": [
"number",
"string"
]
},
"format": {
"description": "Format of `value`: probability (0–100 %), american (e.g. -200 / +150), or decimal (e.g. 2.5). One of: probability · american · decimal.",
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"enum": [
"probability",
"american",
"decimal"
]
}
]
}
}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"tell_user": {
"description": "Show this sentence to the user first.",
"type": "string"
},
"timestamp": {
"type": "string"
},
"data_freshness": {},
"sources": {},
"needs_input": {},
"example_call": {},
"probability_pct": {
"description": "Implied probability, %."
},
"american_odds": {
"description": "American odds, no commas."
},
"decimal_odds": {
"description": "Decimal odds."
}
},
"additionalProperties": {}
}Community
Nachweis