项目简介

这个仓库提供了一个MCP(Model Context Protocol)服务器的启动模板。它允许开发者基于Model Context Protocol构建自己的后端服务,为ChatGPT、Claude Desktop、Cursor、Claude Code、Gemini等AI助手提供自定义工具、动态资源和预设Prompt模板,从而扩展AI助手的智能和功能。

主要功能点

  • 自定义工具 (Tools) 注册与执行: 允许您为AI助手定义和实现各种功能,例如访问外部API、执行特定计算等。AI助手可以通过调用这些工具来完成更复杂的任务,例如本模板中包含的 "hello-world" 工具,可以根据AI助手的请求进行个性化问候。
  • 动态资源 (Resources) 提供: 能够根据请求动态地生成和提供内容,例如从数据库读取数据、获取实时信息等,让AI助手获取最新的上下文。模板提供了添加资源的能力。
  • Prompt模板 (Prompts) 定义: 创建可重用的Prompt模板,标准化AI助手的交互模式,提高交互效率和一致性。模板提供了添加Prompt模板的能力。
  • 多客户端集成: 提供方便的安装脚本,将您的MCP服务器无缝集成到各种兼容的AI客户端中。
  • TypeScript支持: 基于TypeScript开发,提供类型安全和更好的开发体验。
  • 自动化发布: 支持将您的自定义服务器发布到npm,便于其他用户或客户端使用。

安装步骤

  1. 克隆仓库 (如果您想自定义开发):
    git clone https://github.com/BoosClues/coding
    cd coding # 进入项目目录
  2. 安装依赖:
    pnpm install
  3. 构建项目:
    pnpm run build
  4. 启动服务器 (本地开发):
    pnpm start
  5. 或者直接使用已发布的包 (如果已发布到npm):
    npx @r-mcp/coding # 这将直接运行最新版本的服务器,无需克隆和构建。

服务器配置 (客户端集成)

MCP服务器需要被MCP客户端配置才能正常连接和使用。您可以运行项目提供的安装脚本来自动配置您的AI客户端。

例如,运行以下命令可以安装到所有支持的客户端(Claude Desktop, Cursor, Claude Code, Gemini, 本地开发配置):

pnpm run install-server

或者安装到特定客户端,例如 Cursor IDE:

pnpm run install-cursor

安装脚本会生成以下类似JSON格式的配置信息,并添加到您的AI客户端的配置路径中。

生产客户端配置示例 (例如,'~/.cursor/mcp.json'):

{
  "mcpServers": {
    "coding": {
      "command": "npx",
      "args": ["-y", "@r-mcp/coding@latest"],
      "env": {
        // 如果您在项目根目录创建了 .env.local 文件,
        // 其中的环境变量会被自动包含在此处。
        // 示例: "API_KEY": "your-api-key"
      }
    }
  }
}

本地开发配置示例 (例如,项目根目录的 '.mcp.json'):

{
  "mcpServers": {
    "coding": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"],
      "env": {
        // 如果您在项目根目录创建了 .env.local 文件,
        // 其中的环境变量会被自动包含在此处。
        // 示例: "API_KEY": "your-api-key"
      }
    }
  }
}

请注意:

  • 'coding' 是基于本仓库名称生成的服务器名称和npm包名。如果您将仓库名称修改为 'your-server-name',则此处将变为 'your-server-name' 和 '@r-mcp/your-server-name@latest'。
  • '/absolute/path/to/dist/index.js' 是本地服务器编译后的入口文件的绝对路径。
  • 安装后,请重启您的AI客户端以加载新的服务器配置。

基本使用方法

一旦您的MCP服务器成功安装并运行,并被AI客户端配置,AI助手将能够:

  1. 调用工具: 如果您在服务器中定义了名为 "hello-world" 的工具,AI助手可能会通过调用此工具(例如,通过自然语言或特定语法 'hello-world(name="World")'),并接收到 "Hello World" 的响应。
  2. 访问资源: AI助手可以通过 'resource://example/someId' 这样的URI来访问您服务器上定义的资源,获取动态内容。
  3. 使用Prompt模板: AI助手可以根据您定义的Prompt模板来生成特定的交互内容,例如 'prompt("prompt-name", {topic: "AI"})'。 通过修改 'src/tools.ts' 文件并根据 'README.md' 中的说明添加 'server.resource'、'server.prompt' 定义,您可以轻松扩展服务器功能,满足AI助手的各种需求。

信息

分类

AI与计算