项目简介

这是一个专门为程序员设计的 Model Context Protocol (MCP) 服务器实现。它旨在通过提供结构化的编程相关上下文信息、可调用的工具集以及灵活的Prompt模板管理,增强大型语言模型(LLM)在代码理解、生成、审查等任务中的能力。服务器通过标准JSON-RPC协议与兼容的LLM客户端通信,支持多种传输方式。

主要功能点

  • 多协议支持: 支持通过 Stdio 和 SSE (Server-Sent Events) 协议与客户端进行通信。
  • Prompt模板管理: 可以读取和管理基于 YAML 文件定义的 Prompt 模板。
  • 自动化工具创建: 能够自动将定义的 Prompt 模板转化为可供 LLM 调用的工具。
  • 工具注册: 除了Prompt衍生的工具外,还可以注册并执行其他自定义工具。
  • REST API (辅助): 提供一个基于 Express 的辅助 REST API,用于访问模型信息和 Prompt 模板列表。

安装步骤

要运行此MCP服务器,您需要安装 Node.js 和 pnpm 包管理器。

  1. 克隆仓库到本地: 'git clone https://github.com/zaizaizhao/mcp-for-programmer.git'
  2. 进入项目目录: 'cd mcp-for-programmer'
  3. 安装项目依赖: 'pnpm install'
  4. 构建项目: 'pnpm build'

服务器配置

MCP服务器通常由MCP客户端启动和管理。客户端需要知道如何执行服务器程序以及传递必要的参数。以下是针对这个服务器,MCP客户端可能需要的配置信息示例(JSON格式,请根据您的MCP客户端实际需求调整,以下仅为核心参数示例及说明):

  • 配置 Stdior 传输模式 (默认):

    {
      "name": "programmer-mcp-server-stdio",   // 为这个服务器连接起一个易于识别的名字
      "command": "pnpm",                       // 启动服务器的命令,这里使用pnpm运行开发脚本
      "args": ["dev", "--transport", "stdio"]  // 传递给命令的参数,指定使用stdio传输模式
    }
  • 配置 SSE 传输模式:

    {
      "name": "programmer-mcp-server-sse",     // 为这个服务器连接起一个易于识别的名字
      "command": "pnpm",                       // 启动服务器的命令
      "args": ["dev:sse", "--port", "3322"]    // 传递给命令的参数,使用dev:sse脚本启动sse模式,并指定端口
    }

    (注意:SSE 模式需要客户端通过 HTTP 连接到指定的端口和路径)

基本使用方法

  1. 完成安装和构建步骤。
  2. 配置您的MCP客户端,使用上述提供的配置信息连接到服务器。
  3. 启动MCP客户端,它将自动启动并连接到MCP服务器。
  4. 一旦连接建立,客户端可以:
    • 查询服务器的能力,发现可用的工具和Prompt模板。
    • 通过标准MCP JSON-RPC请求调用服务器提供的工具(如Prompt模板衍生的工具),传递参数并接收结果。
    • 对于SSE模式,客户端通过HTTP建立SSE连接接收服务器通知,并通过HTTP POST发送消息。
    • (可选)通过 'http://localhost:3001/api/prompts' 等REST API端点查看Prompt模板列表和内容。

服务器启动后,您可以在控制台看到服务器的启动日志和监听的端口信息。

信息

分类

开发者工具