MCP Chess.com服务器
一个模型上下文协议(MCP)服务器,提供对Chess.com的公共API的访问,允许人工智能助手获取玩家信息和统计数据。
特性
- 玩家信息:获取详细的玩家资料,包括用户名、评级和帐户信息
- 球员统计:检索全面的游戏统计数据,包括不同时间控件的评级
- MCP集成:与Claude等MCP兼容的AI助手无缝集成
安装
先决条件
- Python 3.10或更高版本
uv包管理器(推荐)或pip
安装说明
- 初始化项目:
uv init- 创建并激活虚拟环境:
uv venv
.\.venv\Scripts\activate # Windows
# or
source .venv/bin/activate # Linux/macOS- 安装依赖项:
uv add mcp[cli]
uv sync- 测试服务器:
uv run chess项目结构
mcp-server-chess-com/
├── src/
│ └── chess/
│ ├── __init__.py
│ ├── chess_api.py # Chess.com API client
│ └── server.py # MCP server implementation
├── pyproject.toml # Project configuration
├── uv.lock # Dependency lock file
└── README.md # This file配置
MCP客户端设置(Claude/Cline)
要通过Cline与Claude一起使用此服务器,请更新您的MCP设置:
- 找到MCP设置文件:
- 路径: ~/.config/claude-desktop/claude_desktop_config.json (macOS/Linux) - 路径: %APPDATA%\Claude\claude_desktop_config.json (Windows) - 或者对克莱恩来说: cline_mcp_settings.json
- 添加服务器配置:
{
"mcpServers": {
"server": {
"command": "uv",
"args": [
"--directory",
"BASE_PATH_TO_MCP_PROJECT\\mcp-server-chess-com",
"run",
"chess"
]
}
}
}备注:替换 BASE_PATH_TO_MCP_PROJECT 带有项目目录的实际路径。
- 重新启动MCP客户端 加载新服务器。
- 验证服务器是否已加载:重新启动后,您应该看到MCP服务器面板中列出的服务器,如下所示:
服务器应显示为“服务器”,带有绿色状态指示器,表示已成功连接并准备使用。
用法
配置后,您可以通过MCP客户端与Chess.com API进行交互:
可用工具
get_chess_player_info
检索基本玩家信息。
参数:
username(string):Chess.com用户名
示例查询:
- “Hikaru的玩家详细信息是什么?”
- “获取有关Magnus Carlsen的Chess.com个人资料的信息”
- “显示玩家'GMHikaru'的详细信息”
get_chess_player_stats
检索包括评级在内的详细玩家统计信息。
参数:
username(string):Chess.com用户名
示例查询:
- “光目前的收视率是多少?”
- “给我看看马格努斯·卡尔森的国际象棋统计数据”
- “获取玩家'GMHikaru'的评分统计数据”
示例交互
以下是MCP服务器在实践中的工作示例:
上面的屏幕截图显示了一个真实的交互,其中:
- 用户查询:“Hikaru的玩家详细信息是什么?”
- MCP工具已调用:
get_chess_player_info - 参数:
{"username": "GMHikaru"} - 响应:来自Chess.com的完整玩家资料数据
- 令牌使用情况:显示输入/输出令牌和每次交互的成本
- 演出:演示实时API响应和详细的播放器信息
User: "What is the player details for Hikaru?"
Assistant: [Calls get_chess_player_info with username "GMHikaru"]
User: "What are Magnus Carlsen's current ratings?"
Assistant: [Calls get_chess_player_stats with username "MagnusCarlsen"]api参考
Chess.com API使用的端点
- 玩家简介:
https://api.chess.com/pub/player/{username} - 玩家统计:
https://api.chess.com/pub/player/{username}/stats
响应格式
服务器直接从Chess.com的API返回JSON数据,包括:
玩家信息响应:
- 玩家详细信息(用户名、头衔、关注者等)
- 账户状态和验证
- 个人资料URL和头像
玩家统计响应:
- 不同时间控制(子弹、闪电、快速、每日)的当前评级
- 游戏统计数据(赢、输、平局)
- 性能指标
发展
建设项目
# Install in development mode
uv sync
# Run the server
uv run chess
# Run with debugging
uv run chess --debug项目配置
该项目使用以下关键配置 pyproject.toml:
[project]
name = "mcp-server-chess-com"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"mcp[cli]>=1.13.1",
"requests>=2.25.0",
]
[project.scripts]
chess = "chess.server:main"
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.setuptools]
package-dir= {"" = "src"}
[tool.setuptools.packages.find]
where = ["src"]依赖项
- mcp\[cli\] (>=1.13.1):模型上下文协议框架
- 请求: (>=2.25.0):Chess.com API调用的HTTP客户端
错误处理
该服务器包括强大的错误处理功能,用于:
- 用户名无效
- API速率限制
- 网络连接问题
- Chess.com API停机时间
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 彻底测试
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
致谢
- Chess.com为公众提供API
- MCP社区提供卓越的协议和工具
- FastMCP简化MCP服务器开发
支持
对于问题和疑问:
- 查看Chess.com的API文档:https://www.chess.com/news/view/published-data-api
- 审查MCP文件:https://spec.modelcontextprotocol.io/
- 在此存储库中打开问题
