mcpField
S
SockOdds

SockOdds

本地服务
sockodds.com游戏娱乐02 周前更新

关于 SockOdds

SockOdds 是开源 MCP 服务,通过 SockOdds API v1 将澳大利亚博彩公司赔率提供给 MCP 客户端。它支持赛事搜索、价格比较和去水公平赔率计算,并提供示例数据演示模式。

主要功能

  1. 01搜索联赛与赛事
  2. 02获取博彩公司赔率
  3. 03比较最佳可用赔率
  4. 04计算去水公平赔率
  5. 05使用示例数据试用工具

适用场景

  1. 01查找体育赛事赔率
  2. 02比较不同博彩公司价格
  3. 03用公平赔率评估报价

MCP 相关

该服务向 MCP 客户端提供联赛、赛事、赔率、最佳价格和公平赔率工具。它连接 SockOdds API v1,也支持无需 API 密钥的演示数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jameselle-sockodds": {
"command": "npx",
"args": [
"-y",
"sockodds-mcp"
],
"env": {
"SOCKODDS_API_KEY": "<SOCKODDS_API_KEY>",
"SOCKODDS_DEMO": "<SOCKODDS_DEMO>",
"SOCKODDS_TIMEZONE": "<SOCKODDS_TIMEZONE>"
}
}
}
}
启动命令npx -y sockodds-mcp
需要配置的环境变量
SOCKODDS_API_KEY密钥Your SockOdds API key, sent as an Authorization: Bearer header. A free key is available at https://sockodds.com/signup/
SOCKODDS_DEMOSet to 1 to try the tools with invented sample data and no key. Ignored when a key is set.
SOCKODDS_TIMEZONETime zone for start times (UTC is always shown too)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmsockodds-mcp1.1.0

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
sport_idstring否可选的运动键筛选条件,例如 australian_football、rugby_league 或 soccer

详细介绍

sockodds-mcp

问 Claude“现在 X 的赔率是多少”,即可获取澳大利亚博彩公司提供的赔率、最佳赔率和去水公平赔率,数据来自 SockOdds 体育赔率 API(v1)。免费密钥支持 3 家博彩公司和 6 个联赛;付费套餐支持更多(定价)。

1.0 版使用 SockOdds API v1。 0.x 版本调用的是旧版 v2 API,SockOdds 正在弃用该 API:一旦 v2 停用,0.x 就无法继续使用。请升级到 1.0:重启 MCP 客户端,让 npx -y sockodds-mcp 获取新版本;如果服务仍以 0.x 启动,请将其指定为 sockodds-mcp@latest 一次。你的密钥可以继续使用。请参阅从 0.x 升级。

一个免费的开源 MCP 服务,另附 Claude Code 技能,为“365 天赚 100 万美元”系列打造。MIT 许可证。

30 秒演示

此对话记录使用演示模式(SOCKODDS_DEMO=1),因此赔率是虚构示例,并非真实赔率。

你: Lions 对 Crows 的赔率是多少?

Claude 使用 { "query": "Lions v Crows", "league_id": "afl" } 调用 find_event:

1. Brisbane Lions v Adelaide Crows (AFL)
   Starts: Sat, 12 Sept 2026, 7:35 pm AEST (09:35 UTC)
   Event ID: ev_kqe6aepys23z

你: Lions 的 1.95 是公平赔率吗?

Claude 使用 { "event_id": "ev_kqe6aepys23z", "market": "h2h" } 调用 fair_odds:

No-vig fair odds: Head to head, from 3 bookmakers
  Brisbane Lions: fair 2.03 (49.3% chance)
  Adelaide Crows: fair 1.97 (50.7% chance)
Per bookmaker (margin, then its own no-vig prices):
  Sportsbet: margin 5.3%, 2.03 / 1.97, seen 11 Sept 06:00:12 UTC
  TAB: margin 5.0%, 2.01 / 1.99, seen 11 Sept 06:01:40 UTC
  Unibet: margin 5.3%, 2.05 / 1.95, seen 11 Sept 05:59:03 UTC

Claude: Lions 的最佳赔率是 Unibet 的 1.95(读取时间为 UTC 05:59)。扣除博彩公司利润后,Lions 的公平赔率约为 2.03,因此 1.95 略低于公平赔率。赔率会变动,请在博彩公司处核实赔率。仅限 18 岁以上人士。本文内容并非投注建议。请理性博彩:Gambling Help Online 1800 858 858。

工具

工具功能
list_leaguesSockOdds 提供的联赛,以及其他工具使用的联赛键(afl、nrl、rlwc 等)
find_event将“Broncos v Bulldogs”或“AFL grand final”转换为赛事,并提供开始时间和赛事 ID(ev_...)
get_odds各博彩公司提供的正面对决、让分和总分市场的十进制赔率,以及 SockOdds 获取赔率的时间
best_price某个市场某一方的最佳赔率及完整赔率列表;不包含其他让分线的赔率
fair_odds两方或三方市场的去水公平赔率(见下文计算方法);也支持手动计算,无需调用 API
fair_odds 的工作原理

对于每家提供同一让分线全部赛果赔率的博彩公司,每个赔率都会转换为隐含概率(1 / 赔率)。这些概率相加后会超过 100%;超出的部分就是博彩公司利润。将每个概率除以概率总和即可去除利润(比例法)。随后,工具会对各家博彩公司的去利润概率取平均值,并将其转换回赔率(1 / 概率)。工具还会显示各家博彩公司的利润率,以及最佳赔率合计对应的利润率。

免费套餐包含的都是面向普通消费者的博彩公司,因此这只是对概率的估算,而非预测。SockOdds API v1 会按原样提供各家博彩公司的赔率,其中包含利润,因此公平赔率始终由本工具根据这些赔率计算得出。

不提供赔率走势工具

SockOdds API v1 记录了赔率历史(/v1/odds/history),但历史记录仅包含在 Pro 套餐中,其他套餐会收到 HTTP 403。免费密钥无法读取历史记录,因此本服务不提供赔率走势工具。

获取免费的 SockOdds 密钥

获取免费的 SockOdds 密钥。无需银行卡。注册时需要提供澳大利亚或国际手机号码,并通过一次性短信验证码进行确认。密钥只会显示一次,请妥善保存。若想在注册前试用工具,请设置 SOCKODDS_DEMO=1:所有工具都会使用虚构的示例数据运行,无需密钥。

免费 Developer 套餐的内容如下,详见定价页面和套餐与限制:

  • 每月 2,500 个对象,每个 UTC 日历月重置。响应中的每场赛事算作一个对象,赔率响应中每个收费结果也算作一个对象:一场比赛中,三家博彩公司各自报出一个双向市场的价格,即 1 + 3 x 2 = 7 个对象。
  • 每分钟 10 个请求
  • 6 个联赛:MLB、NFL、AFL、NRL,以及男子和女子橄榄球联盟世界杯
  • 3 家博彩公司:Sportsbet、TAB 和 Ladbrokes。套餐范围以外的博彩公司报价会从响应中省略,而不会导致请求被拒绝。

为遵守这些限制,此服务会缓存每个响应 60 秒,不会重试失败的请求;发生速率限制错误(HTTP 429)后,会在 SockOdds 的 Retry-After 时间过去前拒绝后续调用。find_event 会在可行时按单个联赛和日期范围查询不含赔率的赛事(每场赛事算一个对象)。get_odds、best_price 和 fair_odds 只请求其展示的市场,并且每个实时回答都会说明使用了多少个对象。

安装

你需要 Node.js 20 或更高版本。此服务已发布到 npm,名称为 sockodds-mcp,无需构建。

Claude Code
claude mcp add sockodds --env SOCKODDS_API_KEY=your-key -- npx -y sockodds-mcp

还没有密钥?先用虚构的示例数据试用:

claude mcp add sockodds --env SOCKODDS_DEMO=1 -- npx -y sockodds-mcp

添加技能后,Claude 就会知道何时使用这些工具,以及如何引用赔率:

mkdir -p ~/.claude/skills/sockodds-odds
curl -fsSL https://raw.githubusercontent.com/jameselle/sockodds-mcp/main/skill/SKILL.md -o ~/.claude/skills/sockodds-odds/SKILL.md
Claude Desktop

将以下内容添加到 claude_desktop_config.json(Settings、Developer、Edit Config),然后重启 Claude Desktop:

{
  "mcpServers": {
    "sockodds": {
      "command": "npx",
      "args": ["-y", "sockodds-mcp"],
      "env": {
        "SOCKODDS_API_KEY": "your-key"
      }
    }
  }
}

若要使用演示模式,请将 env 块替换为 "SOCKODDS_DEMO": "1"。

其他 MCP 客户端

适用于所有可运行本地(stdio)服务的客户端:命令为 npx,参数为 -y sockodds-mcp,环境变量为 SOCKODDS_API_KEY。它也已列入官方 MCP Registry,名称为 io.github.jameselle/sockodds-mcp。

从源代码安装
git clone https://github.com/jameselle/sockodds-mcp.git
cd sockodds-mcp
npm install
npm run build
claude mcp add sockodds --env SOCKODDS_API_KEY=your-key -- node "$(pwd)/dist/src/index.js"
设置
变量默认值含义
SOCKODDS_API_KEY无你的 SockOdds 密钥。密钥只会通过 Authorization: Bearer 标头发送,不会放入 URL。未设置密钥时,赔率工具会说明如何获取密钥。
SOCKODDS_DEMO关闭设置为 1,即可使用虚构的示例数据试用工具,无需密钥。若已设置密钥,则忽略此项。
SOCKODDS_TIMEZONEAustralia/Sydney开始时间所用的时区(也始终显示 UTC)
SOCKODDS_BASE_URLhttps://api.sockodds.com/v1API 基础 URL。请勿设置。若旧设置指向 /v2,则 v2 停用后会导致请求失败:请移除此设置。

开发

npm install
npm test

测试使用 Node 内置的测试运行器和模拟 fetch。测试涵盖公平赔率计算、最佳价格选择、对 SockOdds v1 文档示例响应的解析、v1 路径和查询参数名称、所有错误状态,以及端到端的 MCP 工具调用。没有任何测试会调用实时 API。

docs/API-NOTES.md 列出了此服务依赖的所有端点和字段,并附有 SockOdds 文档的链接。fixtures/docs/ 存放从这些文档中复制的示例响应;fixtures/demo/ 存放格式相同的虚构数据,供演示模式使用。

1.1.0 版本的变更

SockOdds 现在默认按市场分组赔率:每个市场和结果只列出一次,并在其下列出所有博彩公司报价。1.1.0 既能读取这种格式,也能读取旧格式,因此回答与 1.0.0 相同。首次获取赔率回答时,会读取一次博彩公司列表以显示其名称;用量说明也会计入这些对象。

从 0.x 升级

1.0.0 版从已停用的 v2 API 切换到了 SockOdds API v1。对你而言,变化如下:

  • 你的密钥可以继续使用。 现在密钥通过 Authorization: Bearer <key> 发送,而不是 x-api-key。
  • 事件 ID 已更新。 v1 ID 的格式类似 ev_000ckk0nc1tg。0.x 中的 ID(例如 afl_2026-09-12_...)不会转换,因此请重新运行 find_event。
  • 联赛和运动项目的键名均为小写,例如 afl、nrl、rlwc、australian_football。find_event 和 list_leagues 仍接受诸如 "AFL" 或 "Rugby League World Cup" 这样的普通名称。
  • 博彩公司键名遵循 v1 格式,例如 betfair_exchange。
  • best_price 使用 outcome_id(get_odds 配合 all_markets 显示的 oc_... ID),而不再使用 odd_id。
  • find_event 不再显示赔率。 在 v1 中,每个有赔率的结果都计为一个对象,因此搜索只会读取事件。接下来请使用 get_odds 或 best_price。
  • 不再提供 SockOdds 共识赔率或专业机构公平赔率。 v1 会按原样发布每家博彩公司给出的赔率;fair_odds 仍会像之前一样据此计算去水后的赔率。
  • 用量的计算方式有所变化。 每个事件计为一个对象,赔率回答中每个有赔率的结果也各计为一个对象。每条实时回答都会说明实际用量。
  • 错误遵循 v1 的 problem 格式;对于 400、401、403、404、410、429(速率限制或月度额度)和 503 错误,会提供普通文本消息。

工具名称(list_leagues、find_event、get_odds、best_price、fair_odds)和设置均保持不变。

发布

package.json(version、mcpName)和 server.json(version、packages[0].version)中的版本必须一致。发布步骤:

npm test
npm publish
mcp-publisher login github
mcp-publisher publish

server.json 会将此服务列入官方 MCP 注册表,名称为 io.github.jameselle/sockodds-mcp;注册表会检查 npm 包的 mcpName 是否匹配。glama.json 列出了 Glama 页面的维护者。

理性赌博

年满 18 岁方可参与。赔率随时可能变化,此工具显示的内容不构成提示或建议。如果赌博正在伤害你或你身边的人,请拨打 Gambling Help Online 热线 1800 858 858,或访问 gamblinghelponline.org.au。你可以通过 BetStop 将自己排除在澳大利亚在线博彩公司之外。

许可证

MIT。详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。