enjoy-mcp-服务器

使用说明内容(Markdown格式)

  1. 项目简介
  • enjoy-mcp-服务器 是一个基于 MCP 的后端服务器实现,核心职责是向 MCP 客户端暴露统一的工具集合(Tools),并通过 JSON-RPC 进行请求与响应。
  • 目前实现重点:工具的注册、列出工具、调用工具以及对工具输出的规范化返回,方便 LLM 客户端在对话中读取系统状态、查询排行榜、获取 PR/历史活动等信息。
  • 传输方式:使用 Stdio Server Transport,直接通过标准输入/输出与客户端通信,适合在 Claude 系统的工作流中嵌入。
  1. 主要功能点
  • 工具注册与查询
    • 提供一组可调用的工具,如 project_status、leaderboard、player_stats、recent_activity、github_activity、bounties、pr_check、open_prs、refresh_cache 等。
    • 客户端可通过 ListTools 请求获取可用工具清单,通过 CallTool 请求执行具体工具并得到结构化结果。
  • 与外部数据源的集成
    • 集成 GitHub 数据获取(如仓库统计、PR、Issue、工作流等),以及对 Enjoy 游戏状态的读取与汇总。
  • 状态与缓存
    • 一些工具实现了对 state 的缓存与更新,提供快速响应和一定的离线容错能力。
  • MCP 基本接入
    • 使用 @modelcontextprotocol/sdk/server 的 Server 与 StdioServerTransport 构建 MCP 服务端,具备 ListTools、CallTool 等标准请求/响应路径。
  1. 安装步骤
  • 进入 MCP 目录并安装依赖:进入 mcp/enjoy 目录,执行安装命令。
  • 构建服务器:在 mcp/enjoy 目录执行构建命令(npm install 以及 npm run build)。
  • 启动与连接
    • 启动后端 MCP 服务器会以标准输出/输入方式对接客户端(如 Claude Code/桌面版),客户端通过 MCP 的 JSON-RPC 通道与之通信。
    • 启动前请确保客户端配置能够指向该服务器的启动命令和参数,以建立通信通道。
  1. 服务器配置(MCP 客户端需要的启动信息) 说明:以下为 MCP 客户端需要的启动信息字段示例与说明,实际客户端不需要包含代码,只需理解字段含义。请据此在客户端配置中填入相应参数。

{ "server_name": "enjoy-mcp", "description": "MCP 服务端,提供 Enjoy 项目工具查询与执行能力", "command": "node", "args": ["dist/index.js"], // 构建产物入口文件 "working_directory": "mcp/enjoy", // 服务器所在目录(相对路径,确保客户端能找到可执行文件) "transport": "stdio" // 指定传输方式为标准输入/输出 }

组件说明:

  • server_name: MCP 服务器在客户端中的唯一标识(名称要唯一、便于区分)。
  • command 与 args: 客户端启动服务器的命令及参数。根据仓库的构建产物位置,dist/index.js 是常见的入口文件名称,实际以构建后的产出为准。
  • working_directory: 运行服务器的工作目录,确保服务器执行时的相对路径正确。
  • transport: 指定传输通道,本实现为 stdio(与 Claude 的内嵌客户端通信方式一致)。
  1. 基本使用方法
  • 启动后,请在 Claude(Code/桌面端)中使用 MCP 客户端功能,向服务器发出以下常见请求:
    • ListTools:获取当前服务器暴露的工具清单及简要描述。
    • CallTool:按名称调用具体工具,例如查询 leaderboard、player_stats、pr_check 等,得到结构化的 JSON 响应。
  • 使用示例(在 MCP 客户端的对话中,以自然语言触发对应工具,客户端会将请求转化为 JSON-RPC 调用并展示结果):
    • "请给我当前排行榜中的前十名。" -> 调用 leaderboard 工具,返回榜单数据。
    • "显示玩家 alice 的统计信息。" -> 调用 player_stats 工具,返回 alice 的各项统计信息。
    • "检查最近的活动与 PR 状态。" -> 调用 recent_activity、pr_check 等工具组合返回综合数据。
  • 服务器内置的工具输出为 JSON 格式,便于 LLM 分析、上下文集成和后续对话使用。
  1. 关键词 资源管理、工具执行、JSON-RPC、Claude 集成、AI 后端

  2. 分类 6

服务器信息