项目简介
generator-mcp 是一个 Yeoman 生成器,旨在简化 MCP 服务器的创建过程。它能够快速生成一个包含基本 MCP 服务器框架的项目,开发者可以基于此框架扩展资源管理、工具和 Prompt 模板等核心功能。生成的服务器默认集成了工具注册功能,并使用标准 Stdio 传输协议,方便与 MCP 客户端进行交互。
主要功能点
- 快速生成 MCP 服务器项目骨架:通过 Yeoman 提供交互式命令行界面,引导用户设置服务器名称和工具名称,快速生成包含必要代码结构的项目。
- 预置工具注册示例:生成的服务器代码中包含一个简单的工具注册示例,展示了如何定义工具名称、描述、输入参数和执行函数,方便开发者快速上手工具功能的开发。
- 使用 Stdio 传输协议:默认配置使用 Stdio (标准输入输出) 作为服务器传输协议,简化了本地开发和测试流程。
- 基于 MCP SDK 构建:生成的服务器项目基于 '@modelcontextprotocol/sdk/server' 开发,确保了与 MCP 协议的兼容性和规范性。
安装步骤
-
安装 Yeoman 和 generator-mcp
确保你已经安装了 Node.js 和 npm。在命令行中运行以下命令全局安装 Yeoman 和 generator-mcp:
npm install -g yo npm install -g generator-mcp -
生成 MCP 服务器项目
在你希望创建项目的目录下,运行以下命令:
yo mcp根据提示,输入 MCP 服务器的名称和工具名称。例如:
? What is the MCP Server name? Weather MCP Server ? What is the tool name for the MCP server? get_weatherYeoman 将会在当前目录下生成一个新的 MCP 服务器项目。
-
安装项目依赖
进入新生成的项目目录,运行以下命令安装项目依赖:
npm install
服务器配置
对于 MCP 客户端,连接此 MCP 服务器需要如下配置信息。请注意,'command' 和 'args' 需要根据实际的项目路径进行调整。
{ "serverName": "Weather MCP Server", // MCP 服务器名称,与生成项目时输入的名称一致 "command": "node", // 启动服务器的命令,这里使用 node "args": ["./dist/src/index.js"] // 启动命令的参数,指向编译后的服务器入口文件 }
参数注释:
- 'serverName': MCP 服务器的名称,用于客户端识别和连接。
- 'command': 启动 MCP 服务器进程的可执行命令。由于项目是 Node.js 应用,这里使用 'node' 命令。
- 'args': 传递给 'command' 的参数数组,用于指定服务器的入口文件。'./dist/src/index.js' 是 TypeScript 项目编译后的 JavaScript 入口文件路径。你需要先运行 'npm run build' 或类似的命令编译 TypeScript 代码。
基本使用方法
-
编译项目 (如果需要)
如果修改了 'src' 目录下的 TypeScript 代码,需要先编译项目。运行以下命令:
npm run build或者根据 'package.json' 中的 scripts 配置,运行相应的编译命令。
-
启动 MCP 服务器
在项目根目录下,运行以下命令启动 MCP 服务器:
npm start这会执行 'package.json' 中定义的 'start' 脚本,通常会启动 'dist/src/index.js' 文件,从而运行 MCP 服务器。服务器启动后,会通过 Stdio 监听来自 MCP 客户端的请求。
-
配置并连接 MCP 客户端
在 MCP 客户端中,根据 服务器配置 部分提供的 JSON 配置信息,配置并连接到刚刚启动的 MCP 服务器。客户端即可向服务器发送符合 MCP 协议的请求,例如调用已注册的工具。
示例工具调用 (假设客户端已连接)
客户端可以发送 JSON-RPC 请求调用名为 'get_weather' 的工具 (假设工具名称为 get_weather):
{ "jsonrpc": "2.0", "method": "tool/invoke", "params": { "tool_name": "get_weather", "arguments": { "input": "Beijing" } }, "id": 1 }服务器会执行 'get_weather' 工具的逻辑,并返回 JSON-RPC 响应。
信息
分类
开发者工具