MCP服务器

一个基于Node.js的MCP服务器,用于在AI辅助开发环境中集成自定义工具,如数据检索和代码分析。

  • by lucianoayres
  • JavaScript
  • 本地部署
  • 76 星标
  • 更新于
在 GitHub 查看 lucianoayres/mcp-server-node

使用说明

🟢 Node.js中的MCP服务器

在Node.js中构建和运行自定义MCP服务器只需2分钟⏱️

概述 · 特性 · 安装 · MCP检验员测试 · 设置测试环境变量 · 与Cursor AI集成 · 在光标(代理模式)下使用MCP工具 · 代码概述 · 参考文献和资源 · 许可证

概述

MCP(模型上下文协议) 是一个框架,允许您将自定义工具集成到人工智能辅助开发环境中,如Cursor AI。MCP服务器公开功能(如数据检索或代码分析),以便基于LLM的IDE可以按需调用这些工具。在中了解有关MCP的更多信息 模型上下文协议介绍.

这个项目演示了一个使用Node.js在JavaScript中实现的MCP服务器。它定义了两个工具: 添加,它接受两个数字输入并返回它们的总和,以及 getApiKey 的,从 API_KEY 环境变量。它还提供预定义的提示 add_numbers 这允许AI模型推断添加工具的使用情况。

需求

  • Node.js: 需要版本20或更高版本。

特性

  • MCP集成: 将工具功能暴露给基于LLM的IDE。
  • 添加工具: 接受两个数字参数并返回它们的总和。
  • MCP提示: 提供预定义的提示(“add_numbers”),允许AI模型推断工具使用情况。
  • 环境变量检索: 演示如何从配置文件加载示例环境变量。
  • 输入验证: 用途 萨德 用于模式验证。
  • 标准I/O传输: 通过以下方式连接 StdioServerTransport 用于与开发环境集成。

安装

  1. 克隆存储库

    git clone <repository_url>
    cd <repository_directory>
    
  2. 再进行

    您可以通过以下两种方式之一安装项目依赖关系:

    选项1:使用现有 package.json

    只需运行:

    npm install
    

    选项2:手动安装依赖项

    如果愿意,请删除现有 package.json 并手动安装所需的软件包:

    npm install @modelcontextprotocol/sdk zod
    

    然后,更新新生成的 package.json 文件中包含以下行,该行启用ES模块并添加mcp-inspector命令:

    "type": "module",
    "scripts": {
     "inspector": "npx @modelcontextprotocol/inspector node ./mcp-server.js"
    }
    

MCP检验员测试

MCP检查器是一个调试工具,它允许您在与IDE集成之前以交互方式测试服务器的工具。

选项1:直接使用npx运行

npx @modelcontextprotocol/inspector node ./mcp-server.js

选项2:使用npm脚本

npm run inspector

这将:

  1. 启动MCP检查器服务器
  2. 打开浏览器进入检查器界面
  3. 允许您测试工具、资源和提示

在浏览器上打开MCP服务器检查器: http://localhost:6274/

设置测试环境变量

为了测试 getApiKey 具有不同API键的工具,您可以在运行检查器之前设置环境变量:

Linux/macOS(Bash/Zsh):

# Temporary (current session only)
export API_KEY="your-test-key"
npm run inspector

# Or set for single command
API_KEY="your-test-key" npm run inspector

Windows(命令提示符):

# Set for current session
set API_KEY=your-test-key
npm run inspector

Windows(PowerShell):

# Set for current session
$env:API_KEY="your-test-key"
npm run inspector

# Or set for single command
$env:API_KEY="your-test-key"; npm run inspector

与Cursor AI集成

要将此MCP服务器与Cursor IDE集成,您需要通过Cursor的设置界面添加配置:

  1. 打开光标IDE
  2. 首选 设置 → 工具和集成
  3. 点击 添加自定义MCP服务器
  4. 添加以下配置

重要提示: 如果您已经配置了其他MCP服务器,请不要覆盖整个配置。相反,添加 "MCP Server Boilerplate" 反对现有 "mcpServers" 对象。

示例配置文件: 此项目包括一个示例配置文件,位于 ./cursor/mcp.json 你可以参考或复制。

配置结构

以下是您需要添加的配置:

Linux/macOS示例:

{
  "MCP Server Boilerplate": {
    "command": "node",
    "args": ["/home/john/mcp-server-node/mcp-server.js"],
    "env": {
      "API_KEY": "abc-1234567890"
    }
  }
}

Windows示例:

{
  "MCP Server Boilerplate": {
    "command": "node",
    "args": ["C:\\Users\\john\\mcp-server-node\\mcp-server.js"],
    "env": {
      "API_KEY": "abc-1234567890"
    }
  }
}

如果您配置了现有的MCP服务器,则完整配置可能如下:

{
  "mcpServers": {
    "existing-server": {
      "command": "python",
      "args": ["/path/to/existing/server.py"]
    },
    "MCP Server Boilerplate": {
      "command": "node",
      "args": ["/home/john/mcp-server-node/mcp-server.js"],
      "env": {
        "API_KEY": "abc-1234567890"
      }
    }
  }
}

配置参数

  • MCP服务器主板:
    这是服务器配置的关键。你可以随心所欲地命名它。

  • 命令:
    运行服务器的Node.js可执行文件。您可以使用以下任一方式:

    • "node" (如果Node.js在你的PATH中)
    • Node.js可执行文件的完整路径(如果需要)

    找到你的Node.js路径:

    Linux/macOS:

    which node
    # Example output: /home/john/.nvm/versions/node/v20.13.1/bin/node
    

    Windows(命令提示符):

    where node
    # Example output: C:\Program Files\nodejs\node.exe
    

    Windows(PowerShell):

    Get-Command node
    # Example output: C:\Program Files\nodejs\node.exe
    
  • args:
    包含MCP服务器文件绝对路径的数组。

    Linux/macOS示例:

    ["/home/john/mcp-server-node/mcp-server.js"]
    

    Windows示例:

    ["C:\\Users\\john\\mcp-server-node\\mcp-server.js"]
    
  • 环境: (可选)
    为MCP服务器进程定义环境变量。在这个例子中 API_KEY 设置为 "abc-1234567890"。根据您的环境需要调整此值。

代码概述

该项目包括以下关键部分:

  • MCP服务器初始化:
    MCP服务器使用以下方式实例化 McpServer 从MCP SDK发送并通过连接 StdioServerTransport.

  • 工具定义:

    • 添加:
      使用接受两个数字的Zod模式定义(a 和 b)并将它们的总和作为文本返回。
    • getApiKey:
      从环境变量中检索API键 API_KEY 并将其作为文本返回。
  • 提示定义:

    • add_numbers:
      一个预定义的提示,允许AI模型推断添加工具的使用情况。

重要提示:不需要为工具定义提示。这个例子只是演示了提示的一种功能,允许AI模型根据您的输入推断使用哪个工具。当人工智能确定任务需要工具时,它也可以直接使用这些工具。

在光标(代理模式)下使用MCP工具

将MCP服务器集成到Cursor IDE中并启用代理模式后,您可以通过多种方式使用这些工具:

添加工具使用

方法1:自然语言提示 只需使用自然语言提示,如:

add 3 and 5

或

what is 7 plus 12?

方法2:基于提示的工具调用 在聊天中键入以下提示:

/add_numbers

键入此提示后按Enter键时,Cursor将自动:

  1. 认识到你想使用 add 节点服务器中的工具
  2. 显示GUI提示,询问两个数字参数
  3. AI模型将推断出它需要使用 add 计算结果的工具

加法工具的参数:

  • 参数 a:要添加的第一个数字
  • 参数 b:要添加的第二个数字
  • 退货:两个数字的总和作为文本

API关键工具使用

对于 getApiKey 工具,您可以使用:

what is my API key?

或

get my API key

AI代理将根据您的请求自动推断要使用的适当工具。

参考文献和资源

许可证

该项目根据 MIT许可证.