PinnWire — Pinnacle Odds, Price Drops & No-Vig Fair Prices

Live and prematch Pinnacle odds, price drops and no-vig fair prices. Free demo access, no key.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
79%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,115Tokens (tool definitions)
~909 BTypical response size
Moderate attention impact (0.87% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "pinnacle-odds": {
      "url": "https://pinnwire.com/mcp"
    }
  }
}

Remote endpoints

https://pinnwire.com/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_live_odds(sport_id, include_specials, max_events)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "sport_id": {
      "type": "integer",
      "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."
    },
    "include_specials": {
      "type": "boolean",
      "description": "Also include currently published player props, team props, exact-score markets, futures and other specials"
    },
    "max_events": {
      "type": "integer",
      "description": "Max events returned. Default 25, max 100"
    }
  },
  "required": [
    "sport_id"
  ]
}
🟢get_prematch_odds(sport_id, include_specials, max_events)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "sport_id": {
      "type": "integer",
      "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."
    },
    "include_specials": {
      "type": "boolean",
      "description": "Also include currently published props & specials"
    },
    "max_events": {
      "type": "integer",
      "description": "Max events returned. Default 25, max 100"
    }
  },
  "required": [
    "sport_id"
  ]
}
🟢get_event(event_id)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "description": "Event id from another odds tool"
    }
  },
  "required": [
    "event_id"
  ]
}
🟢get_prematch_lines(event_id, market_type)

Compact current full-game lines for one prematch event (no period structure). Optional market_type filter: money_line | spreads | totals | team_total.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "description": "Event id from another odds tool"
    },
    "market_type": {
      "type": "string",
      "enum": [
        "money_line",
        "spreads",
        "totals",
        "team_total"
      ],
      "description": "Limit the response to one market type"
    }
  },
  "required": [
    "event_id"
  ]
}
🟢get_drops(mode, min_drop_pct, sport_id, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "live",
        "prematch"
      ],
      "description": "Live or prematch drops. Default live"
    },
    "min_drop_pct": {
      "type": "number",
      "description": "Minimum price decrease in percent. Default 2 for this tool (REST default is 5)"
    },
    "sport_id": {
      "type": "integer",
      "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."
    },
    "limit": {
      "type": "integer",
      "description": "Max drop records returned. Default 25, max 100"
    }
  }
}
🟢get_health

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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢list_sports

Map the 13 covered sports to sport_id values before calling the odds tools. Does not consume API quota.

Input Schema

{
  "type": "object",
  "properties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools