国际象棋数据服务

一个提供Chess.com玩家数据整合的MCP服务器,允许AI助手获取实时国际象棋玩家资料和统计信息。

  • by CyprianFusi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 CyprianFusi/mcp-chess-server

使用说明

MCP象棋服务器

通过 BINATI A分析

提供Chess.com玩家数据集成的模型上下文协议(MCP)服务器。该服务器允许像Claude这样的人工智能助手从chess.com的公共API获取实时国际象棋选手档案和统计数据。

截图

特性

  • 玩家档案查找:获取任何Chess.com玩家的详细个人资料信息
  • 球员统计:检索包括评级、游戏计数和性能指标在内的综合统计数据
  • 错误处理:为API请求提供强大的错误处理,并提供详细的错误消息
  • 类型安全:完整的类型提示,以获得更好的代码质量和IDE支持

安装

先决条件

  • Python>=3.13
  • uv(推荐)或pip用于包装管理

设置

  1. 克隆存储库:
git clone https://github.com/CyprianFusi/mcp-chess-server.git
cd mcp_chess_server
  1. 使用uv安装依赖项:
uv sync

或者使用pip:

pip install -e .

用法

运行服务器

可以使用安装的命令直接运行服务器:

chess

或者通过Python模块:

python -m chess.server

与Claude Desktop集成

要将此MCP服务器与Claude Desktop一起使用,请将以下配置添加到您的Claude Desktop配置文件中:

适用于MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 对于Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "chess": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp_chess_server",
        "run",
        "chess.py"
      ]
    }
  }
}

替换 /path/to/mcp_chess_server 带有安装目录的实际路径。

或者,您也可以通过更新claude桌面直接从Github集成它,如下所示:

"chess": {
	"command": "uvx",
	"args": [
		"--from",
		"git+https://github.com/CyprianFusi/mcp-chess-server.git",
		"chess.py"
	]
}

如果这是您的第一台MCP服务器,请使用以下内容:

{
  "mcpServers": {
	"chess": {
		"command": "uvx",
		"args": [
			"--from",
			"git+https://github.com/CyprianFusi/mcp-chess-server.git",
			"chess.py"
		]
	}
  }
}

可用工具

1. get_chess_player_profile

检索Chess.com玩家的公开资料。

参数:

  • player_name (str):Chess.com用户名

退货:

  • 玩家资料信息包括:
    • 用户名
    • 玩家ID
    • 统一资源定位符
    • 姓名(如公开)
    • 国家
    • 位置
    • 加入日期
    • 上次在线时间戳
    • 关注者计数
    • 还有更多。..

例子:

Get the profile for player "hikaru"

2. get_chess_player_stats

检索Chess.com玩家的全面统计数据。

参数:

  • player_name (str):Chess.com用户名

退货:

  • 玩家统计数据包括:
    • 所有游戏类型(闪电战、子弹、快速、每日等)的当前评级
    • 最佳评级
    • 赢/输/平局记录
    • 战术评级
    • 课程统计
    • 拼图冲刺得分

例子:

Get the stats for player "magnuscarlsen"

项目结构

mcp_chess_server/
├── src/
│   └── chess/
│       ├── __init__.py       # Package initialization
│       ├── server.py         # MCP server implementation
│       └── chess_api.py      # Chess.com API client
├── assets/                   # Screenshots and images
├── main.py                   # Entry point (legacy)
├── pyproject.toml           # Project configuration
├── uv.lock                  # Dependency lock file
└── README.md                # This file

依赖项

  • mcp[cli] (>=1.22.0):模型上下文协议框架
  • 请求: (>=2.32.5):API调用的HTTP库
  • 开放人工智能 (>=2.8.1):OpenAI Python客户端

api参考

此服务器使用Chess.com Public API(https://api.chess.com/pub).不需要API密钥,因为它使用公共可用的终结点。

错误处理

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

  • 网络超时(请求超时10秒)
  • HTTP错误响应
  • 玩家名称无效
  • API停机时间

所有错误都会通过描述性消息正确传播,以帮助诊断问题。

发展

运行测试

# Install development dependencies
uv sync --dev

# Run tests (when available)
pytest

代码质量

代码库遵循Python最佳实践:

  • 为所有函数键入提示
  • 全面的文档字符串
  • PEP 8风格指南
  • 所有API调用的错误处理

贡献

欢迎投稿!请随时提交拉取请求。

许可证

该项目是开源的,可在 MIT许可证.

致谢

支持

对于问题、疑问或贡献,请在GitHub存储库上打开问题。