Node.js中的MCP服务器
概述
MCP(模型上下文协议) 是一个框架,允许您将自定义工具集成到人工智能辅助开发环境中,如Cursor AI。MCP服务器公开功能(如数据检索或代码分析),以便基于LLM的IDE可以按需调用这些工具。在中了解有关MCP的更多信息 模型上下文协议介绍.
这个项目演示了一个内置于Node.js中的MCP服务器,它提供了两个基本工具。一个工具, 添加,接受两个数字并返回它们的总和,而另一个, getApiKey 的,从环境中检索API密钥(通过 API_KEY 变量)。
需求
- Node.js: 需要版本20或更高版本。
特性
- MCP集成: 将工具功能暴露给基于LLM的IDE。
- 添加工具: 接受两个数字参数并返回它们的总和。
- 环境变量检索: 演示如何从配置文件加载示例环境变量。
- 输入验证: 用途 萨德 用于模式验证。
- 标准I/O传输: 通过以下方式连接
StdioServerTransport用于与开发环境集成。
安装
- 克隆存储库
git clone
cd - 再进行
您可以通过以下两种方式之一安装项目依赖关系:
选项1:使用现有 package.json
只需运行:
npm install选项2:手动安装依赖项
如果愿意,请删除现有 package.json 并手动安装所需的软件包:
npm install @modelcontextprotocol/sdk @coinpaprika/api-nodejs-client zod然后,更新新生成的 package.json 文件中包含以下行,该行启用ES模块:
"type": "module"与Cursor AI集成
该项目包括 ./cursor 包含以下内容的子目录 mcp.json 用于配置MCP服务器的文件。Cursor AI使用此文件自动发现并启动您的MCP服务器。打开文件并按如下方式更新字段:
这 ./cursor/mcp.json 结构
下面是配置文件的完整JSON结构:
{
"mcpServers": {
"MCP Server Boilerplate": {
"command": "/path/to/node",
"args": ["/path/to/mcp-server.js"],
"env": {
"API_KEY": "abc-1234567890"
}
}
}
}- mcpServers:\
将服务器名称映射到其配置的对象。
- MCP服务器主板:\
这是服务器配置的关键。你可以随心所欲地命名它。
- 命令:\
指定Node.js可执行文件的绝对路径。例如:
/home/john/.nvm/versions/node/v20.13.1/bin/node- args:\
包含MCP服务器文件绝对路径的数组。例如:
["/home/john/mcp-server-node/index.js"]- 环境: (可选)\
为MCP服务器进程定义环境变量。在这个例子中 API_KEY 设置为 "abc-1234567890"。根据您的环境需要调整此值。
您可以通过运行以下命令来验证Node.js可执行文件的绝对路径 which node 在你的终端。
可选:配置自动化脚本
通过使用正确的绝对路径自动更新mcp.json文件,可以轻松配置本地环境。要应用本地设置,请从项目根运行以下命令:
chmod +x ./scripts/update_config.sh
./scripts/update_config.sh此脚本将mcp.json中的占位符路径替换为Python和服务器脚本的机器绝对路径,确保您的配置设置始终准确。
可选:全局光标设置
您还可以移动 mcp.json 将文件保存到位于以下位置的全局Cursor AI配置目录 ~/.cursor 以使配置在全球范围内可用。
在光标生成器中使用MCP工具(代理模式)
将MCP服务器集成到Cursor AI中,并在Cursor Composer中启用代理模式,只需使用自然语言提示,如:
add 3 and 5或
what is my API key?AI代理将推断可用 add 或 getApiKey 从您的MCP服务器下载工具并相应地执行它。
代码概述
该项目包括以下关键部分:
- MCP服务器初始化:\
MCP服务器使用以下方式实例化 McpServer 从MCP SDK发送并通过连接 StdioServerTransport.
- 工具定义:
- 添加:\ 使用接受两个数字的Zod模式定义(a 和 b)并将它们的总和作为文本返回。 - getApiKey:\ 从环境变量中检索API键 API_KEY 并将其作为文本返回。
什么是MCP?
模型上下文协议(MCP) 提供了一种标准化的方法,将自定义工具集成到人工智能辅助开发环境中。使用MCP,您可以定义执行特定任务的工具,例如检索外部数据、验证代码或执行编码标准,IDE中的AI助手可以根据上下文自动调用这些工具。这有助于提高开发人员的生产力,确保一致的质量,并简化工作流程。
参考文献和资源
许可证
该项目根据 MIT许可证.
