Endpoints: 28,729MCP servers: 18,415Payout addresses: 2,071Paid calls: 1,575Letters: 14Defects: 1,337counted 3 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:6a7ee6990e61a6c880fb1c6523fc0281fb40c748604a441525fea4e31c7eba65 | sha256sum