README
🚀 板球MCP服务器
这是一个模型上下文协议(MCP)服务器,可从Cricbuzz获取全面的板球数据。该服务器提供实时板球统计数据、球员信息、比赛日程和新闻更新。
✨ 主要特性
- 球员统计数据:获取详细的板球球员统计信息,包括所有比赛形式(测试赛、一日国际赛、T20赛)的击球和投球记录。
- 实时比赛:获取当前正在进行的板球比赛信息。
- 比赛日程:获取即将到来的板球比赛日程。
- 板球新闻:获取最新的板球新闻和更新。
📦 安装指南
- 克隆或下载此仓库。
- 安装所需的依赖项:
pip install -r requirements.txt
🚀 快速开始
演示:Gradio Web UI
你可以使用由Gradio和Gemini驱动的对话式Web界面与板球MCP服务器进行交互。
1. 设置你的Gemini API密钥
你需要一个Google Gemini API密钥才能使用对话代理。将其设置为环境变量:
export GOOGLE_API_KEY="your-gemini-api-key"
2. 运行Gradio演示
python cricket_gradio.py
这将在你的浏览器中启动一个Web UI,你可以在其中与板球助手聊天,询问统计数据、实时比赛、新闻等信息。
💡 使用建议
聊天界面支持对话记忆和丰富的响应。

💻 使用示例
作为MCP服务器运行
该服务器可以与MCP客户端集成。以下是配置方法:
{
"cricket": {
"command": "python",
"args": ["cricket_server.py"],
"transport": "stdio",
}
}
为了更灵活的设置,你可以使用环境变量来定义Python可执行文件和服务器脚本的路径。
独立运行
出于测试目的,你可以直接运行服务器:
python cricket_server.py
可用工具
1. get_player_stats
获取全面的板球球员统计信息。
参数:
player_name(str):板球球员的姓名match_format(str, 可选):特定的比赛形式("Test"、"ODI"、"T20")。如果未提供,则返回所有比赛形式的统计信息。
返回值:
- 球员基本信息(姓名、国家、角色、图片)
- 击球和投球的国际板球理事会排名
- 详细的击球统计数据
- 详细的投球统计数据
示例:
# 获取一名球员的所有统计信息
stats = get_player_stats("Virat Kohli")
# 仅获取T20比赛的统计信息
t20_stats = get_player_stats("Virat Kohli", "T20")
2. get_live_matches
获取当前正在进行的板球比赛信息。
返回值: 包含比赛队伍和当前状态的实时比赛信息列表。
3. get_cricket_schedule
获取即将到来的板球比赛日程。
返回值: 包含日期和详细信息的即将到来的国际板球比赛列表。
4. get_cricket_news
获取最新的板球新闻。
返回值: 包含标题、描述、时间戳和类别的板球新闻文章列表。
🔧 技术细节
数据源
该服务器从Cricbuzz.com抓取数据,并使用Google搜索来发现球员资料。请确保你遵守该网站的服务条款并负责任地使用。
依赖项
fastmcp:MCP服务器框架requests:用于网页抓取的HTTP库beautifulsoup4:HTML解析库lxml:XML/HTML解析器googlesearch-python:Google搜索API包装器
配置
服务器默认使用stdio传输。基本使用无需额外配置。
错误处理
服务器包含全面的错误处理机制,可处理以下情况:
- 网络连接问题
- 无效的球员姓名
- Cricbuzz上缺少数据
- 搜索失败
MCP目录徽章
将此徽章添加到你的README中,以表明你的服务器已列出且安全:
📄 许可证
本项目采用MIT许可证。有关详细信息,请参阅LICENSE文件。
贡献
欢迎提交问题和改进请求!
免责声明
此工具从公共网站抓取数据。作者不对任何滥用或违反网站服务条款的行为负责。请负责任地使用,并确保遵守适用的条款和条件。
扫码联系在线客服