使用说明
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客户端
- 错误处理程序:全面的错误分析和用户友好的消息
📚 文档
对于用户
教程(分步项目)
面向开发人员和DevOps
- 部署指导 -生产部署程序和回滚策略
- 测试指导 -运行测试和CI/CD工作流
- 安全指南 -凭证管理和安全最佳实践
- DevOps总结 -完整的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自动部署:
- 推到
main分支 - GitHub Actions运行测试
- Smithery UI中的手动审批
- 自动部署到生产环境
看 部署.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
⭐ 明星历史
如果你觉得这个项目有用,请考虑给它一颗星! ⭐
内置❤️ 对于博彩界