enjoy MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • enjoy 的 MCP 服务器实现是一个面向模型上下文协议(MCP)的服务端组件,旨在向 LLM 客户端暴露“工具”(Tools),以便 LLM 能调用外部功能,并提供对项目状态、排行榜等信息的查询能力。它通过 JSON-RPC 风格的请求与响应进行通信,且默认使用标准输入输出(Stdio)作为传输底层,便于与 Claude、Claude Desktop 等工具配合使用。
  • 主要功能点

    • 提供一个工具集合(Tools)供 LLM 客户端查询与执行,例如 project_status、leaderboard、player_stats 等。
    • 实现 CallTool 与 ListTools 的服务器端处理,支持结构化的输入输出,便于 LLM 进行推理与调用。
    • 通过 StdioServerTransport 实现与客户端的串行化通信,便于嵌入到现有的 CLAUDE/CLI 工作流中。
    • 易于扩展:可以在同一个服务器中注册更多工具,按需暴露额外能力。
    • 与仓库中的其他模块(如 GitHub 数据、状态管理、工具实现)紧密集成,能够在 Claude 侧完成对项目状态、排行榜、PR 详情等信息的查询。
  • 安装步骤

    1. 克隆仓库并进入 MCP 子目录:mcp/enjoy
    2. 安装依赖并编译构建:
      • npm install
      • npm run build
    3. 启动服务器(CLI 使用 Claude/相关客户端时,由客户端通过 JSON 配置指定服务器启动命令与参数来建立连接)。
    4. 启动后服务器会通过标准输入输出(stdio)与客户端通信,等待 JSON-RPC 请求。
  • 服务器配置(JSON 配置示例,供 MCP 客户端使用) 说明:以下配置用于告知 MCP 客户端如何启动服务器,以及使用哪种传输方式建立连接。服务器名称用于标识;command 指定启动命令;args 指定启动参数。MCP 客户端本身不需要实现细节,故仅提供必要信息以便对接。

    { "server_name": "enjoy-mcp", "command": "node", "args": ["./mcp/enjoy/dist/index.js"], "transport": "stdio" }

    注释说明:

    • server_name: MCP 服务的唯一标识符,便于在多服务场景中区分。
    • command: 启动服务器所用的可执行程序,此处为 Node.js。
    • args: 启动参数,指向编译后的入口文件路径(dist/index.js 是构建产物的典型入口)。
    • transport: 指定与客户端通信的传输方式,此处为 stdio,适合无网络的嵌入式部署或在 CLAUDE 等工具中直接管道通信。
  • 基本使用方法

    1. 在 Claude / Claude Desktop 中配置 MCP 客户端,使用上述 JSON 配置中的 server_name、command 与 args 来启动并连接 MCP 服务器。
    2. 向 MCP 服务器发送请求,例如 请求工具列表、调用某个工具、获取项目状态等,服务端会返回 JSON-RPC 风格的响应,LLM 客户端据此进行推理和对话管理。
    3. 通过调用不同工具,可以实现查询项目状态、排行榜、最近活动等信息,以支持对话式交互和上下文提供。
    4. 如需扩展能力,可在服务器端新增工具,并在工具定义中提供输入输出结构,确保与 MCP 客户端的交互格式保持一致。
  • 运行与扩展

    • 该 MCP 服务器实现具备可运行的服务器端代码,且具备示例工具集与对接文档(README 的 MCP 部分)。如需自定义或扩展工具,只需按照现有工具的结构添加新的 Tool 定义和实现处理函数即可。

服务器信息