{"name":"io.github.odds-api-io/odds-api-mcp-server","slug":"odds-api-io-odds-api-mcp-server","title":null,"description":"Live sports betting odds from 365+ bookmakers across 34 sports, with value bets and arbitrage.","url":"https://mcp.market/server/odds-api-io-odds-api-mcp-server","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":34,"stars":2,"forks":3,"downloads_week":159,"last_push_at":"2026-10-27T18:57:46.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/odds-api-io/odds-api-mcp-server","website":"https://docs.odds-api.io/ai-vibe-coding","version":"1.6.0","remotes":[],"packages":[{"registryType":"npm","identifier":"odds-api-mcp-server","version":"1.6.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Odds-API.io API key (free tier available, no credit card)","isRequired":true,"isSecret":true,"name":"ODDS_API_KEY"}]}],"tools":[{"name":"clear_selected_bookmakers","description":"Clear all selected bookmakers for the authenticated user. Limited to once every 12 hours.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_arbitrage_bets","description":"Get arbitrage opportunities across bookmakers. Returns profit margin, optimal stake distribution, and direct bet links for each leg.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_bookmakers","description":"List all supported bookmakers with their name and active status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_documentation","description":"Fetch the complete Odds-API.io API documentation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_dropping_odds","description":"Get odds that have dropped the most from opening, based on sharp bookmaker data. Useful for tracking where sharp money is moving. Updated every ~10 seconds. Only available on paid plans. Response includes drop percentages for multiple time windows (sinceOpening, 12h, 24h, 48h). For player prop markets, the response includes market.label with the player name (e.g. 'Carlos Baleba'). Use markets=Play","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_event","description":"Get a single event by its unique ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_events","description":"Get events for a sport with filtering by league, participant, status, date range, bookmaker availability, and pagination support.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_historical_events","description":"Get finished events for a sport and league within a date range (max 31-day span).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_historical_odds","description":"Get closing odds and final scores for a finished event from selected bookmakers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_leagues","description":"Get leagues for a sport. Returns league name, slug, and active event count.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_live_events","description":"Get all currently live events across all sports, optionally filtered by sport.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_markets","description":"List the exact market names served for a sport, with how to read each one (shape), the period it covers and whether it is available prematch and live. Use it before passing markets to other tools; names must match in full, e.g. 'ML' not 'Match Winner'.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_multi_odds","description":"Get odds for multiple events in a single request (up to 10 events). Counts as only 1 API call.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_odds","description":"Get betting odds for a specific event from selected bookmakers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_odds_movements","description":"Get historical odds line movements for an event from a bookmaker. Returns opening, latest, and all intermediate price changes for a specific market.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_participant","description":"Get a single participant/team by their unique ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_participants","description":"Get teams/participants for a sport, optionally filtered by name search.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_selected_bookmakers","description":"Get the authenticated user's currently selected bookmakers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_settlements","description":"Get what happened in up to 50 events: status (pending, live, awaiting_result, settled, cancelled), final score by period and a `final` flag that says the result is confirmed. Unknown ids are listed in notFound. Paid plans.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_sports","description":"List all available sports with their name and slug identifier.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_updated_odds","description":"Get odds updated since a Unix timestamp for a bookmaker and sport, limited to the markets you name. The timestamp must be at most 90 seconds old. Useful for efficient polling.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_value_bets","description":"Get positive expected value betting opportunities for a bookmaker. Updated every 5 seconds. EV formula: (Probability x Odds) - 1.","write_action":false,"price_micros":0,"input_schema":null},{"name":"grade_bets","description":"Settle up to 50 bets. Each selection is graded as won, lost, void, half_won, half_lost, pending or ungradeable, with a reason, a `final` flag and the score it was based on. Covers 64 markets in 20 sports, including Asian handicap quarter lines, totals, corners, bookings and player props. Football settles on 90 minutes. Paid plans.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_events","description":"Search events by team name or text query. Returns up to 10 matching results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"select_bookmakers","description":"Add bookmakers to the authenticated user's selection.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":80,"grade":"B","scanned_at":"2026-11-01T13:27:33.667Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-01T13:27:33.632Z","components":{"code":{"score":25,"max":25,"notes":["9 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 5 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"odds-api-mcp-server","version":"1.6.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-10-13T12:02:03.561Z","repositoryUrl":"git+https://github.com/odds-api-io/odds-api-mcp-server.git","weeklyDownloads":159}],"repo":{"found":true,"owner":"odds-api-io","repo":"odds-api-mcp-server","archived":false,"pushedAt":"2026-10-27T18:57:46Z","stars":2,"forks":3,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/257475998?v=4","ownerCreatedAt":"2026-01-27T07:51:43Z","license":"MIT"},"icon":{"url":"https://docs.odds-api.io/mintlify-assets/_mintlify/favicons/odds-apiio/8ofph8VBmT-MI39h/_generated/favicon/apple-touch-icon.png","source":"registry","width":180,"height":180},"presence":{"stars":2,"forks":3,"downloadsWeek":159,"license":"MIT","lastPushAt":"2026-10-27T18:57:46.000Z","score":34}}}},"grade_history":[],"reviews":[]}