Skip to main content
Glama
Mavline

Odds De-vig MCP Server

by Mavline

Odds De-vig MCP 服务器

用于从 The Odds API 获取体育赔率并去除博彩公司水钱(vig)的 MCP 服务器。

✅ 最新改进(v1.1.0)

  • API 使用跟踪:所有响应现在都包含剩余 API 调用次数

  • 重试逻辑:连接问题时自动重试(3 次尝试)

  • 更好的错误处理:改进的网络错误处理

  • 响应格式:带有 summary 和 apiUsage 的结构化响应

功能

工具(Tools)

  1. get_sports - 获取支持的体育项目列表(无需 API 请求)

  2. get_today_mlb - 获取今日 MLB 比赛及处理后的赔率(节省请求)

  3. get_upcoming_odds - 获取原始赔率(默认:今日 MLB 比赛)

  4. get_processed_odds - 获取去除水钱后的处理赔率

  5. get_event_consensus - 获取特定事件的共识盘口

  6. get_api_usage - 获取 API 使用统计(消耗 1 次 API 请求)

资源(Resources)

  • odds://sports - 支持的体育项目列表(无需 API 请求)

  • odds://today-mlb - 今日 MLB 比赛及处理后的赔率

  • odds://processed - 去除水钱后的处理赔率(默认:今日 MLB)

去除水钱的方法

1. Proportional(比例法)- 默认

最简单且常用的方法:

fair_probability = implied_probability / total_implied_probability

2. Power(幂法/Shin)

更复杂的方法,考虑结果数量:

fair_probability = implied_probability^n / total_implied_probability^(n-1)

3. Additive(加法法)

将水钱均匀分配到所有结果中:

fair_probability = implied_probability - (total_vig / number_of_outcomes)

安装与运行

# Установка зависимостей
npm install

# Сборка
npm run build

# Запуск
npm start

# Разработка
npm run dev

配置

设置环境变量 ODDS_API_KEY 或使用默认密钥:

export ODDS_API_KEY=your_api_key_here

⚠️ API 限制

重要: The Odds API 免费计划每月限制 500 次请求!

节省请求的优化措施:

  • 默认仅请求今日 MLB 比赛

  • get_sports 返回硬编码列表,无需 API 请求

  • get_today_mlb 是获取数据最节省的方式

  • 所有请求都会记录 API 使用情况

建议:

  • 使用 get_today_mlb 进行测试

  • 测试时每天限制 20 次请求

  • 通过 get_api_usage 监控使用情况

使用方法

获取体育项目列表(无需 API 请求)

{
  "tool": "get_sports"
}

获取今日 MLB 比赛(节省请求)

{
  "tool": "get_today_mlb",
  "arguments": {
    "deVigMethod": "proportional"
  }
}

获取处理后的赔率

{
  "tool": "get_processed_odds",
  "arguments": {
    "sport": "americanfootball_nfl",
    "deVigMethod": "proportional",
    "removeOutliers": true,
    "minBookmakers": 3
  }
}

获取共识盘口

{
  "tool": "get_event_consensus",
  "arguments": {
    "eventId": "event_id_from_api",
    "deVigMethod": "power"
  }
}

数据结构

ProcessedEvent

interface ProcessedEvent {
  id: string;
  sportKey: string;
  sportTitle: string;
  commenceTime: string;
  homeTeam: string;
  awayTeam: string;
  bookmakers: ProcessedBookmaker[];
  consensusLine?: {
    homeTeamFairOdds: number;
    awayTeamFairOdds: number;
    averageVig: number;
  };
}

ProcessedOutcome

interface ProcessedOutcome {
  name: string;
  americanOdds: number;
  decimalOdds: number;
  impliedProbability: number;
  fairProbability: number; // После удаления маржи
}

API 限制

关键: 每月 500 次请求限制!

当前优化:

  • 专注于 MLB(每天都有比赛)

  • 仅请求今日比赛

  • 硬编码体育项目列表

  • 记录每次请求

监控:

{
  "tool": "get_api_usage"
}

返回:

{
  "requestsUsed": "15",
  "requestsRemaining": "485",
  "monthlyLimit": 500,
  "eventsFound": 12
}

后续计划

  1. Polymarket CLOB API 服务器 - 用于从 Polymarket 获取数据

  2. 比较服务器 - 用于比较盘口并寻找套利机会

  3. 新闻/SERP 服务器 - 用于获取新闻和上下文

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mavline/odds-devig-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server