使用说明
项目简介
Codeforces-MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,专注于为大型语言模型 (LLM) 提供 Codeforces 平台的相关信息。它通过实现 MCP 协议,允许 LLM 客户端以标准化的方式调用工具来获取 Codeforces 用户的 рейтинг、用户信息等数据,从而增强 LLM 在处理与 Codeforces 竞赛和用户信息查询相关的任务时的能力。
主要功能点
- 提供 Codeforces 用户信息查询工具: 通过 'get_user_info' 工具,可以查询 Codeforces 用户的基本信息,包括用户名、姓名、 рейтинг、段位、组织和贡献度等。
- 提供 Codeforces 用户 рейтинг 查询工具: 通过 'get_user_rating' 工具,可以查询 Codeforces 用户的 рейтинг 历史记录,方便 LLM 分析用户 рейтинг 变化趋势。
- 基于 FastMCP 框架: 使用 'fastmcp' 库简化 MCP 服务器的开发,快速搭建可运行的 MCP 服务。
- 标准 Stdio 传输: 默认使用标准输入输出 (stdio) 作为 MCP 服务器与客户端之间的通信协议,易于集成和部署。
安装步骤
- 确保已安装 Python 3.7 或更高版本。
- 安装必要的 Python 库:
打开终端或命令提示符,执行以下命令安装 'fastmcp' 和 'httpx' 库:
pip install fastmcp httpx
服务器配置
对于 MCP 客户端,需要配置以下信息以连接到 Codeforces-MCP 服务器。配置信息为 JSON 格式,示例如下:
{ "server_name": "codeforces-mcp", // MCP 服务器名称,可自定义 "command": "python", // 启动服务器的命令,这里使用 python 解释器 "args": ["server.py"], // 启动服务器命令的参数,指定 server.py 文件 "transport": "stdio" // 使用 stdio 传输协议 }
配置信息参数说明:
- 'server_name': 服务器的名称,客户端用以标识不同的 MCP 服务器。
- 'command': 运行服务器端程序的命令。由于 'server.py' 是 Python 脚本,所以这里使用 'python' 命令。
- 'args': 传递给 'command' 的参数列表。这里指定运行 'server.py' 文件。
- 'transport': 指定 MCP 服务器使用的传输协议,这里为 'stdio',表示标准输入输出。
注意: 请确保 MCP 客户端能够找到 'server.py' 文件。如果 'server.py' 不在客户端的当前工作目录,'args' 需要配置 'server.py' 的完整路径或相对路径。
基本使用方法
-
启动 MCP 服务器: 在终端或命令提示符中,进入 'server.py' 文件所在的目录,并确保已安装所需库,然后直接运行 'server.py' 文件,服务器将通过 stdio 启动并等待客户端连接和请求。
python server.py注意: 由于配置中使用的是 'stdio' 传输协议,服务器启动后不会有明显的界面,它会在后台等待 MCP 客户端通过标准输入发送 JSON-RPC 请求。
-
配置和启动 MCP 客户端: 根据 MCP 客户端的使用说明,配置服务器连接信息,将上面提供的 JSON 配置信息填入客户端的服务器配置中。启动 MCP 客户端后,客户端会尝试连接到 Codeforces-MCP 服务器。
-
通过 MCP 客户端调用工具: 在 MCP 客户端中,可以使用类似以下的 JSON-RPC 请求来调用 Codeforces-MCP 服务器提供的工具。
示例请求 (调用 'get_user_info' 工具):
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "get_user_info", "tool_args": { "handle": "tourist" // Codeforces 用户名 } }, "id": 1 }示例请求 (调用 'get_user_rating' 工具):
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "get_user_rating", "tool_args": { "handle": "tourist" // Codeforces 用户名 } }, "id": 2 }MCP 客户端发送以上 JSON-RPC 请求后,Codeforces-MCP 服务器会处理请求,调用相应的工具,并将结果通过 JSON-RPC 响应返回给客户端。客户端根据响应内容进行后续处理,例如展示给用户或用于 LLM 的上下文信息。
信息
分类
网页与API