使用说明
国际象棋MCP服务器
模型上下文协议(MCP)服务器,通过Claude、ChatGPT等人工智能助手提供对Chess.com API数据的无缝访问。
MCP资源
项目架构
此国际象棋MCP服务器提供三个主要工具:
getPlayerProfile-检索玩家信息和统计数据getPlayerStats-获取详细的玩家评级和表现数据getDailyPuzzle-访问每日国际象棋拼图
快速开始
先决条件
- Node.js 18.0.0或更高版本
- npm或yarn包管理器
安装
-
克隆存储库
git clone https://github.com/dipalosalvatore/chess-mcp-server.git cd chess-mcp-server -
安装依赖项
npm install -
构建项目
npm run build -
启动服务器
npm start
Docker支持
使用Docker
-
构建Docker镜像
docker build -t chess-mcp-server . -
运行容器
docker run -it chess-mcp-server
MCP客户端的Docker配置
使用Docker时,更新MCP客户端配置以使用Docker容器:
Claude桌面与Docker
{
"mcpServers": {
"chess": {
"command": "docker",
"args": ["run", "-i", "--rm", "chess-mcp-server"],
"env": {}
}
}
}
MCP配置
适用于克劳德桌面
- 打开克劳德桌面设置
- 导航到“服务器”部分
- 使用以下设置添加新服务器:
{
"name": "Chess MCP Server",
"command": "node",
"args": ["/path/to/chess-mcp-server/dist/index.js"],
"env": {}
}
对于其他MCP客户端
大多数MCP客户端支持类似的配置。服务器通过stdin/stdout进行通信,因此您需要指定:
- 命令:
node - 参数:
[path-to-dist/index.js] - 工作目录:您的项目目录
配置文件示例
克劳德桌面(claude_desktop_config.json)
{
"mcpServers": {
"chess": {
"command": "node",
"args": ["/Users/username/projects/chess-mcp-server/dist/index.js"],
"env": {}
}
}
}
ChatGPT(如果支持)
{
"servers": [
{
"name": "Chess Server",
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/chess-mcp-server"
}
]
}
可用工具
1.获取玩家资料
从Chess.com检索全面的玩家信息。
工具名称: getPlayerProfile
参数:
username(字符串,必填):Chess.com用户名
示例用法:
Get the profile for player "magnuscarlsen"
2.获取玩家统计信息
检索详细的玩家统计数据和评级。
工具名称: getPlayerStats
参数:
username(字符串,必填):Chess.com用户名
示例用法:
Get statistics for player "hikaru"
3.获取每日拼图
从Chess.com检索当前每日谜题。
工具名称: getDailyPuzzle
参数:无
示例用法:
Get today's chess puzzle
发展
从源头构建
# Install dependencies
npm install
# Type checking
npm run type-check
# Build the project
npm run build
项目结构详图
国际象棋API包装(src/chess/)
国际象棋API分为几个专业类:
PlayerApi-玩家资料、统计数据和游戏历史PuzzleApi-日常谜题和随机谜题CommunityApi-俱乐部、锦标赛和球队BaseChessApi-常见功能和HTTP客户端设置
MCP工具(src/tools/)
每个工具都被实现为一个函数,该函数:
- 使用Zod模式验证输入
- 调用相应的Chess.com API
- 返回标准化的MCP响应
- 优雅地处理错误
错误处理
服务器提供全面的错误处理:
- 验证错误 (400)-输入参数无效
- 未找到错误 (404)-未找到玩家或资源
- 速率限制错误 (429)-超过API速率限制
- 服务器错误 (5xx)-Chess.com API问题
贡献
欢迎投稿!请随时提交拉取请求。
开发设置
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
