返回市场
蟋蟀-MCP服务器

蟋蟀-MCP服务器

作者:tarun7r7 星标更新:2025-08-08

项目介绍

Cricket MCP Server

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

功能

  • 球员统计:获取详细的板球球员统计,包括各种形式(测试赛、ODI、T20)的击球和投球记录。
  • 正在进行的比赛:获取当前正在进行的板球比赛。
  • 比赛日程:获取即将进行的板球比赛日程。
  • 板球新闻:最新的板球新闻和更新。
  • ICC排名:官方ICC排名,包括测试赛、ODI和T20形式的击球、投球、全能选手和球队排名。
  • 比赛得分卡:详细的比赛分析,包括击球和投球统计。
  • 实时评论:给定比赛URL的最近球对球更新。
  • 网络搜索:关于板球主题的互联网搜索,带有标题/摘要。

安装

  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演示

python3 cricket_gradio.py

这将在浏览器中启动一个Web UI,在那里你可以与板球助手聊天,询问统计数据、正在进行的比赛、新闻等。

提示:聊天UI支持会话记忆和丰富的响应。

演示截图

使用

作为MCP服务器运行

该服务器可以集成到MCP客户端中。以下是配置方法:


    {
        "cricket": {
            "command": "python3",
            "args": ["cricket_server.py"],
            "transport": "stdio",
        }
    }

为了更灵活的设置,你可以使用环境变量定义Python可执行文件和服务器脚本路径。

单独运行

为了测试目的,你可以直接运行服务器:

python3 cricket_server.py

可用工具

1. get_player_stats

获取全面的板球球员统计。

参数:

  • player_name (str):板球球员的名字
  • match_format (str, 可选):特定形式("Test"、"ODI"、"T20")。如果没有提供,则返回所有形式。

返回值:

  • 球员基本信息(名字、国家、角色、图片)
  • 击球和投球的ICC排名
  • 详细的击球统计
  • 详细的投球统计

示例:

# 获取球员的所有统计
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

获取最新的板球新闻。

返回值: 板球新闻文章列表,带有标题、描述、时间戳和类别。

5. get_icc_rankings

获取各种类别的官方ICC板球排名。

参数:

  • category (str):排名类别。必须是以下之一:"batting"、"bowling"、"all-rounder" 或 "teams"。

返回值: 字典,包含测试赛、ODI和T20形式的排名。每个形式都包含一个玩家或团队列表,带有他们的位置、名字、国家和评分。

示例:

# 获取击球排名
batting_rankings = get_icc_rankings("batting")

# 获取投球排名
bowling_rankings = get_icc_rankings("bowling")

# 获取团队排名
team_rankings = get_icc_rankings("teams")

6. get_match_details

获取特定板球比赛的详细得分卡。

参数:

  • match_url (str):Cricbuzz上的比赛URL(可以从get_live_matches获得)。

返回值: 包含比赛详情的字典,包括比赛标题、结果以及每局的详细得分卡,带有击球和投球统计。

7. get_live_commentary

获取特定板球比赛的最近实时评论。

参数:

  • match_url (str):Cricbuzz比赛页面URL(通用比赛或直接评论标签)
  • limit (int, 可选):要返回的最新项目的最大数量(默认20)

返回值: 包含titlecommentary_urlevents(评论行列表)的字典。

示例:

commentary = get_live_commentary("https://www.cricbuzz.com/live-cricket-scorecard/12345")

8. web_search

搜索网络并返回带有标题和摘要的结果。

参数:

  • query (str):搜索查询
  • num_results (int, 可选):结果数量(默认5)
  • site_filter (str, 可选):限制到一个域如cricbuzz.com

返回值: 结果列表:{ "title": str, "url": str, "snippet": str }

9. search_live_commentary

在网络上搜索板球比赛的实时评论和更新。

参数:

  • match_description (str, 可选):完整的比赛描述(例如,“津巴布韦对阵新西兰第二场测试”)
  • team1 (str, 可选):第一支队伍的名字
  • team2 (str, 可选):第二支队伍的名字

返回值: 从板球新闻网站搜索实时评论和比赛更新的结果列表。

示例:

# 根据比赛描述搜索
results = search_live_commentary(match_description="Zimbabwe vs New Zealand 2nd Test")

# 根据队伍名字搜索
results = search_live_commentary(team1="Zimbabwe", team2="New Zealand")

数据来源

此服务器从Cricbuzz.com抓取数据,并使用Google搜索发现球员资料。请确保遵守网站的服务条款并负责任地使用。

依赖项

  • fastmcp:MCP服务器框架
  • requests:用于网络抓取的HTTP库
  • beautifulsoup4:HTML解析库
  • lxml:XML/HTML解析器
  • googlesearch-python:Google搜索API封装

配置

服务器默认使用stdio传输运行。基本使用不需要额外配置。

错误处理

服务器包括全面的错误处理,针对:

  • 网络连接问题
  • 无效的球员名字
  • Cricbuzz上缺少的数据
  • 搜索失败

MCP目录徽章

在README中添加此徽章以显示您的服务器已列出且安全:

<a href="https://glama.ai/mcp/servers/@tarun7r/cricket-mcp-server"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=3562106153,55043720&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>

许可证

本项目根据MIT许可证发布。详见LICENSE文件。

贡献

欢迎提交问题和增强请求!

免责声明

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