板球预测MCP服务器
  
MCP Client Start MCP Client Tools MCP Client Tools MCP Client GUI with Bootstrap/jQuery
这是一个样本 模型上下文协议(MCP) 使用Python构建的服务器,演示如何向LLM和MCP客户端公开工具和资源。它还包括一个与Google Gemini集成的MCP客户端示例。
特性
- 预测赢家工具:预测两支板球队之间的胜者(模拟逻辑)。
- 获取玩家统计工具:返回板球运动员的模拟统计数据。
- 获取印度俘虏信息工具:返回板球运动员的模拟统计数据或领先统计数据,包括奖杯和退役状态。
- 匹配数据CSV资源:将模拟板球比赛数据作为CSV资源公开,并支持采样行。
- MCP客户端:使用MCP和Google Gemini的示例客户端(需要API密钥)。
- Web GUI客户端:一个Bootstrap+jQuery聊天界面,用于通过FastAPI与MCP服务器交互。
设置
- 安装 紫外线:
# Follow instructions at https://astral.sh/uv/- 安装依赖项:
uv venv
uv add "mcp[cli]" httpx pre-commit fastapi uvicorn jinja2 python-dotenv- 设置Google Gemini API密钥:
- 创建一个 .env 项目根目录中的文件,内容如下:
GEMINI_KEY=your-gemini-api-key-here预提交钩子
设置预提交挂钩以确保代码质量:
- 安装预提交挂钩:
uv run pre-commit install- 手动运行所有预提交钩子:
uv run pre-commit run --all运行服务器
运行MCP服务器(现在命名为 mcp_server.py):
uv run mcp dev mcp_server.py运行客户端
运行MCP客户端(需要 .env 使用Gemini API密钥):
uv run python mcp_client.pyMCP客户端GUI(Bootstrap+jQuery)
使用Bootstrap和jQuery提供了一个简单的基于web的聊天客户端,由FastAPI提供服务。
如何启动GUI客户端
- 启动FastAPI后端:
uvicorn app:app --reload- 打开浏览器并转到:
http://localhost:8000- 使用聊天界面与MCP服务器交互。
- 键入您的消息,然后单击“发送”。 - 等待响应时将出现加载微调器。 - 助理的回复将显示在聊天窗口中。
用法
此服务器公开以下MCP工具和资源:
工具
predict_winner(team1: str, team2: str) -> str:预测两队之间的胜者(模拟逻辑)。get_player_stats(player_name: str) -> str:返回玩家的模拟统计数据。get_indian_captian_information(player_name: str) -> str:返回板球运动员和印度队长的统计数据,包括赢得的奖杯、年龄范围和退役状态。如果播放器不存在,则返回不存在消息。
资源
match_data_csv() -> str:以CSV格式返回模拟匹配数据。\[待办事项\]
关于MCP
模型上下文协议(MCP)规范了应用程序如何向LLM提供上下文和工具。了解更多信息,请访问 模型上下文协议.io.
______________________________________________________________________
此项目仅用于演示目的,使用模拟数据和逻辑。
