Server definition
- Hash
- sha256:6a7ee6990e61a6c880fb1c6523fc0281fb40c748604a441525fea4e31c7eba65
- What it is
- What a remote MCP server returned when asked what it offers: 7 tools
The blob, as servednamed by its sha256
{
"instructions": "Read-only data service for current Pinnacle sportsbook odds: live/in-play + prematch decimal odds for 13 sports, recent price drops, and no-vig fair prices. Use these tools when the user needs current Pinnacle prices (moneylines/match winner, spreads/handicaps, totals/over-under, team totals, periods, props, specials); dropping odds, odds shortening, line movement or steam-move candidates; implied or fair win probabilities (on drop records nvp is the no-vig decimal fair price, 1/nvp the fair implied probability — an estimate, not a guarantee); the sharp reference leg for arbitrage checks, +EV / expected-value or value-betting screens, closing-line-value tracking; or sportsbook data for betting/handicapping models and sports prediction-market research. Do not describe PinnWire as a multi-book arbitrage scanner, bookmaker, bet-execution service, historical odds archive, prediction-market order-book API, or settlement source — it supplies current Pinnacle data only (drops buffer ~3h; store snapshots yourself for backtests). Start with list_sports when the sport id is unknown; get_drops surfaces what just moved. Responses carry generated_at (ISO) — trust it over any cached copy. Connector URL: https://pinnwire.com/mcp?key=YOUR_KEY (free key: enter an email at https://pinnwire.com, key arrives by email; no key = shared demo quota, 10 req/min and 50/day in total across all demo users). Flat-rate plans, no per-request metering: https://pinnwire.com/#pricing",
"tools": [
{
"description": "Recent Pinnacle price DROPS — the dropping-odds / odds-shortening / steam-move signal: every outcome whose price fell, with from/to decimal prices, drop %, and nvp, the no-vig decimal fair price (1/nvp = fair implied probability — a de-vigged baseline for arbitrage checks, +EV / value betting, prediction-market pricing and model calibration; an estimate, not a guarantee). Buffer covers roughly the last 3 hours. Does not compare other sportsbooks or prove a move is informed money.",
"inputSchema": {
"properties": {
"limit": {
"description": "Max drop records returned. Default 25, max 100",
"type": "integer"
},
"min_drop_pct": {
"description": "Minimum price decrease in percent. Default 2 for this tool (REST default is 5)",
"type": "number"
},
"mode": {
"description": "Live or prematch drops. Default live",
"enum": [
"live",
"prematch"
],
"type": "string"
},
"sport_id": {
"description": "Sport identifier: 1 Soccer, 2 Tennis, 3 Basketball, 4 Hockey, 5 Football, 6 Baseball, 7 Rugby, 8 MMA, 9 Boxing, 10 Volleyball/Handball, 11 Esports, 12 Golf, 13 Cricket. Call list_sports when unknown.",
"type": "integer"
}
},
"type": "object"
},
"name": "get_drops",
"outputSchema": null
},
{
"description": "Current full odds detail for one event (live, prematch or special) by event_id. Use after get_live_odds / get_prematch_odds returns the id.",
"inputSchema": {
"properties": {
"event_id": {
"description": "Event id from another odds tool",
"type": "integer"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "get_event",
"outputSchema": null
},
{
"description": "Current feed status: events in store and last_odds_update_seconds_ago (feed-update age). generated_at is response time, not the source odds tick.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_health",
"outputSchema": null
},
{
"description": "Current live (in-play) sports betting odds from Pinnacle, the sharp bookmaker whose prices arbitrage scanners, betting models and prediction markets treat as the market reference. Returns available decimal moneylines/match-winner prices, spreads/handicaps, totals/over-under and team totals per period, plus optional props & specials. Use for live odds displays, +EV / expected-value screens, model features, or the Pinnacle leg of a cross-book comparison. Not a multi-book aggregator, historical archive, or bet-placement tool.",
"inputSchema": {
"properties": {
"include_specials": {
"description": "Also include currently published player props, team props, exact-score markets, futures and other specials",
"type": "boolean"
},
"max_events": {
"description": "Max events returned. Default 25, max 100",
"type": "integer"
},
"sport_id": {
"description": "Sport identifier: 1 Soccer, 2 Tennis, 3 Basketball, 4 Hockey, 5 Football, 6 Baseball, 7 Rugby, 8 MMA, 9 Boxing, 10 Volleyball/Handball, 11 Esports, 12 Golf, 13 Cricket. Call list_sports when unknown.",
"type": "integer"
}
},
"required": [
"sport_id"
],
"type": "object"
},
"name": "get_live_odds",
"outputSchema": null
},
{
"description": "Compact current full-game lines for one prematch event (no period structure). Optional market_type filter: money_line | spreads | totals | team_total.",
"inputSchema": {
"properties": {
"event_id": {
"description": "Event id from another odds tool",
"type": "integer"
},
"market_type": {
"description": "Limit the response to one market type",
"enum": [
"money_line",
"spreads",
"totals",
"team_total"
],
"type": "string"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "get_prematch_lines",
"outputSchema": null
},
{
"description": "Current prematch (pregame / upcoming-match) Pinnacle odds for one sport — sharp lines for handicapping, expected-value screens and model features. Same shape as get_live_odds. Callers can store snapshots for their own line-history or closing-line-value analysis; this is not a historical opening/closing-odds archive.",
"inputSchema": {
"properties": {
"include_specials": {
"description": "Also include currently published props & specials",
"type": "boolean"
},
"max_events": {
"description": "Max events returned. Default 25, max 100",
"type": "integer"
},
"sport_id": {
"description": "Sport identifier: 1 Soccer, 2 Tennis, 3 Basketball, 4 Hockey, 5 Football, 6 Baseball, 7 Rugby, 8 MMA, 9 Boxing, 10 Volleyball/Handball, 11 Esports, 12 Golf, 13 Cricket. Call list_sports when unknown.",
"type": "integer"
}
},
"required": [
"sport_id"
],
"type": "object"
},
"name": "get_prematch_odds",
"outputSchema": null
},
{
"description": "Map the 13 covered sports to sport_id values before calling the odds tools. Does not consume API quota.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_sports",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:6a7ee6990e61a6c880fb1c6523fc0281fb40c748604a441525fea4e31c7eba65 | sha256sum