投注API服务器

Tabcorp MCP Server是一个企业级的模型上下文协议服务器,提供对Tabcorp全面投注API的无缝访问,适用于开发投注应用程序、分析工具和自动化系统。

  • by bencousins22
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 bencousins22/tab-mcp

使用说明

Tabcorp MCP服务器

用于全面Tabcorp博彩API访问的企业级模型上下文协议服务器

🚀 快速开始 • 📚 文档 • 🛠️ API 参考 • 🎓 教程 • 🤝 贡献


🌟 概述

Tabcorp MCP服务器是一款可用于生产的模型上下文协议(MCP)服务器,可无缝访问Tabcorp的综合投注API。随着 28种专用工具 在赛车、体育博彩和账户管理方面,它使开发人员能够构建复杂的博彩应用程序、分析工具和自动化系统。

实时服务器: https://server.smithery.ai/@bencousins22/tab mcp/mcp

✨ 主要特点

  • 🔐 完整的OAuth 2.0实现 -密码授予、刷新令牌和客户端凭据
  • 🏇 综合赛车数据 -会议、比赛、表格指南、跑步者、游泳池和头奖
  • ⚽ 全面体育报道 -足球、篮球、网球、AFL、NRL,以及现场和结果市场
  • 📊 实时赔率和市场 -固定赔率、投注池和股息近似值
  • 🛡️ 生产准备就绪 -错误处理、验证、速率限制和全面测试
  • 📈 高性能 -带连接池的异步/等待架构
  • 🔧 开发者友好 -类型提示、详细文档和示例代码

📦 包含什么

6类28种专用工具:

类别 工具 描述
OAuth身份验证 3个工具 密码授予、刷新令牌、客户端凭据
API赛车 10个工具 会议、比赛、表格指南、跑步者、游泳池、头奖
体育API 7个工具 公开运动、比赛、锦标赛、比赛
运动成绩 4个工具 由此产生的体育、比赛、比赛和红利
FootyTAB 2个工具 AFL/NRL小费比赛和轮次
通用API 2个工具 用于自定义端点的低级GET/POST

🎯 用例

  • 博彩机器人 -自动价值投注和风险管理系统
  • 形状分析 -统计竞赛分析和预测模型
  • 赔率比较 -多市场比较和套利检测
  • 数据分析 -历史趋势和绩效跟踪
  • 自定义应用程序 -构建自己的投注工具和仪表板

🚀 快速开始

选项1:使用实时托管服务器(最简单)

直接连接到我们的托管服务器:

from mcp.client import Client
import asyncio

async def main():
    async with Client("https://server.smithery.ai/@bencousins22/tab-mcp/mcp") as client:
        # Authenticate
        auth = await client.call_tool(
            "tab_oauth_client_credentials",
            {
                "client_id": "your_client_id",
                "client_secret": "your_client_secret"
            }
        )

        # Get next-to-go races
        races = await client.call_tool(
            "racing_get_next_to_go",
            {"access_token": auth["access_token"], "count": 5}
        )

        print(f"Found {len(races['races'])} upcoming races!")

asyncio.run(main())

选项2:本地运行

1.克隆和安装

git clone https://github.com/bencousins22/tab-mcp.git
cd tab-mcp
uv sync  # or: pip install -r requirements.txt

2.配置环境

cp .env.example .env
# Edit .env with your Tabcorp API credentials

3.运行开发服务器

uv run dev  # Server starts on http://localhost:8081

4.运行测试

pytest tests/unit -v
pytest tests/integration -v  # Requires API credentials

🏗️ 建筑

graph TB
    subgraph "Client Applications"
        A[Betting Bot]
        B[Form Analyzer]
        C[Odds Comparison]
    end

    subgraph "Tabcorp MCP Server"
        D[FastMCP Server]
        E[OAuth Manager]
        F[Racing Tools]
        G[Sports Tools]
        H[Error Handler]
    end

    subgraph "Tabcorp API"
        I[OAuth Endpoint]
        J[Racing API]
        K[Sports API]
    end

    A --> D
    B --> D
    C --> D
    D --> E
    D --> F
    D --> G
    D --> H
    E --> I
    F --> J
    G --> K

关键组件

  • FastMCP服务器:基于Smithery的FastMCP框架构建,具有会话管理功能
  • OAuth管理器:自动令牌刷新和凭据管理
  • 工具层:28个具有验证和错误处理功能的专用工具
  • API客户端:具有连接池和重试逻辑的异步HTTP客户端
  • 错误处理程序:全面的错误分析和用户友好的消息

📚 文档

对于用户

  • 入门指南 -通过安装和第一次API调用完成初学者指南
  • API 参考 -所有28个工具的综合文档及其示例

教程(分步项目)

面向开发人员和DevOps


🎓 教程

1.智能博彩机器人

构建一个完整的博彩机器人,包括表单分析、价值检测和风险管理:

# Analyzes form data, calculates value bets, manages bankroll
# Features: Kelly Criterion, statistical models, bet tracking
# See: TUTORIAL_BETTING_BOT.md

你将学到什么: 表单分析、价值押注、风险管理、数据库跟踪、绩效分析

2.赛车形态分析仪

使用统计模型创建复杂的表单分析工具:

# Comprehensive form analysis with multiple performance metrics
# Features: Statistical scoring, PDF reports, visualizations
# See: TUTORIAL_FORM_ANALYSIS.md

你将学到什么: 数据收集、统计分析、预测模型、报告生成

3.体育赔率比较

构建一个带有套利检测的赔率比较系统:

# Multi-sport odds scanning with arbitrage finder
# Features: Real-time scanning, value detection, alerts
# See: TUTORIAL_ODDS_COMPARISON.md

你将学到什么: 套利检测、价值发现、赔率跟踪、警报系统


🔧 配置

环境变量

创建一个 .env 项目根目录中的文件:

# OAuth Credentials (Required)
TAB_CLIENT_ID=your_client_id
TAB_CLIENT_SECRET=your_client_secret

# Personal Account (Optional - for betting features)
TAB_USERNAME=your_tab_account
TAB_PASSWORD=your_tab_password

# API Configuration
TAB_BASE_URL=https://api.beta.tab.com.au
DEFAULT_JURISDICTION=NSW

安全说明:从不承诺 .env 版本控制。默认情况下,该文件被忽略。

会话配置

通过MCP客户端配置每个会话的设置:

ctx.session_config.jurisdiction = "VIC"
ctx.session_config.client_id = "custom_client_id"

🧪 测试

运行所有测试

pytest tests/ -v

测试类别

# Unit tests (fast, no API calls)
pytest tests/unit -v

# Integration tests (requires credentials)
pytest tests/integration -v

# Performance tests
pytest tests/performance -v

# Specific category
pytest tests/unit/oauth -v

覆盖范围报告

pytest --cov=src/tab_mcp --cov-report=html
# Open htmlcov/index.html

当前覆盖范围:31%(基线)| 目标: 80%+


🚀 部署

部署到Smithery(推荐)

通过GitHub Actions自动部署:

  1. 推到 main 分支
  2. GitHub Actions运行测试
  3. Smithery UI中的手动审批
  4. 自动部署到生产环境

看 部署.md 以完成部署程序。

自托管部署

# Production mode
uv run start

# Or with gunicorn
gunicorn -w 4 -k uvicorn.workers.UvicornWorker src.tab_mcp.server:app

🛡️ 安全

最佳实践

  • ✅ 将凭据存储在环境变量中,而不是代码中
  • ✅ 使用 .env 本地文件(gitignored)
  • ✅ 每90天轮换一次凭据
  • ✅ 在所有帐户上启用2FA
  • ✅ 对API作用域使用最小特权原则
  • ✅ 监控访问日志中的可疑活动

漏洞报告

发现安全问题?请发送电子邮件至security@example.com(不要公开问题)。

看 安全.md 完整的安全策略。


📊 演出

基准测试

  • 认证:~200ms(OAuth令牌请求)
  • 赛车数据:~150ms(单场比赛,带模板)
  • 体育数据:~180ms(与比赛竞争)
  • 并发请求:支持100多个同时连接
  • 速率限制:尊重Tabcorp API的自动退让限制

优化功能

  • 异步/等待非阻塞I/O
  • HTTP请求的连接池
  • 令牌缓存以减少身份验证开销
  • 频繁访问数据的响应缓存(计划)

🤝 贡献

我们欢迎捐款!请看 贡献.md 用于:

  • 开发工作流程和设置
  • 代码风格指南(黑色,Ruff)
  • 测试要求
  • 拉取请求流程
  • 社区指南

快速贡献指南

# 1. Fork and clone
git clone https://github.com/YOUR_USERNAME/tab-mcp.git

# 2. Create feature branch
git checkout -b feature/amazing-feature

# 3. Make changes and test
pytest tests/ -v

# 4. Commit and push
git commit -m "Add amazing feature"
git push origin feature/amazing-feature

# 5. Open Pull Request

📝 更新日志

看 更改日志.md 查看版本历史和发行说明。

最新版本:v1.0.0(2024-10-29)

  • ✨ 首次生产发布
  • ✅ 6个类别的28个工具
  • ✅ 全面的测试套件
  • ✅ 完整文档
  • ✅ CI/CD自动化

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。


🙏 致谢

  • 史密瑟里 -MCP服务器托管平台
  • FastMCP -MCP服务器框架
  • Tabcorp -API访问和文档
  • 本项目的所有贡献者和用户

📞 支持

获取帮助

资源

  • 实时服务器: https://server.smithery.ai/@bencousins22/tab mcp/mcp
  • 仓库: https://github.com/bencousins22/tab-mcp
  • Smithery仪表板: https://smithery.ai/@bencousins22/tab mcp
  • MCP协议: https://modelcontextprotocol.io

⭐ 明星历史

如果你觉得这个项目有用,请考虑给它一颗星! ⭐


内置❤️ 对于博彩界

由以下材料制成 FastMCP •托管于 史密瑟里