Hack MCP 服务器端

  • 目标与定位
    • 这是一套用于为 LLM 客户端提供上下文信息和能力的后端服务器,核心能力包括资源管理、工具注册与执行、以及 Prompt 模板渲染等,并通过 JSON-RPC 与客户端通信。
  • 主要功能点
    • 资源与数据访问:服务器托管和管理资源,供客户端查询与读取。
    • 工具注册与执行:定义并暴露可调用的外部功能,LLM 客户端可通过 MCP 调用工具实现外部能力。
    • Prompts 定义与渲染:提供可定制的提示模板,支持不同交互模式。
    • 统一通信协议:基于 JSON-RPC,客户端请求包括读取资源、调用工具、获取 Prompt 等,服务器返回标准的 JSON-RPC 响应或事件通知。
    • 会话与能力声明:服务器端维护会话状态与可用能力描述,便于客户端对接与协同。
    • 多传输协议支持:可通过 STDIO、SSE、WebSocket 等传输方式与客户端通信,方便无 Shell/有 Shell 的客户端接入。
  • 安装与运行
    • 该仓库包含实现 MCP 服务端的代码与测试用例,推荐通过仓库的入口命令运行服务,例如使用 Node/Bun 启动入口并指定 mcp 子命令实现 serve。
  • 服务器配置(JSON 结构说明,供 MCP 客户端使用的配置)
    • serverName:服务器在客户端的标识名称,如 "hack-mcp"。
    • command:启动 MCP 服务器的可执行命令(如 "bun"、"node" 等)。
    • args:启动命令的参数数组,通常包含入口脚本及子命令,如 ["index.ts","mcp","serve"],用于启动服务器。
    • transport:传输方式,客户端可选择如 "stdio"(默认)、"sse"、"websocket" 等。
    • 说明:客户端在建立连接时,至少需要服务器的启动命令与参数来接入 MCP 服务。
  • 基本使用
    • 安装/准备:确保 MCP 服务器代码可运行,按项目文档部署(包括依赖、入口脚本等)。
    • 启动服务:以 serverName、command、args、transport 等信息启动 MCP 服务端。
    • 客户端接入:MCP 客户端通过指定的启动命令与参数连接,进行资源读取、工具调用与 Prompts 获取等操作。
    • 通过 JSON-RPC 进行交互,服务器返回相应的响应或通知。
  • 运行与验证
    • 可参考仓库中提供的测试用例(如 mcp.test.ts),验证服务器注册的工具、可见的项目、以及对客户端请求的响应格式。

服务器信息