Cricket Mcp Server

Cricket Mcp Server

🚀 板球MCP服务器

这是一个模型上下文协议(MCP)服务器,可从Cricbuzz获取全面的板球数据。该服务器提供实时板球统计数据、球员信息、比赛日程和新闻更新。

✨ 主要特性

  • 球员统计数据:获取详细的板球球员统计信息,包括所有比赛形式(测试赛、一日国际赛、T20赛)的击球和投球记录。
  • 实时比赛:获取当前正在进行的板球比赛信息。
  • 比赛日程:获取即将到来的板球比赛日程。
  • 板球新闻:获取最新的板球新闻和更新。

📦 安装指南

  1. 克隆或下载此仓库。
  2. 安装所需的依赖项:
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文件。

贡献

欢迎提交问题和改进请求!

免责声明

此工具从公共网站抓取数据。作者不对任何滥用或违反网站服务条款的行为负责。请负责任地使用,并确保遵守适用的条款和条件。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-21 02:36

相似服务问题