使用说明
项目简介
MCP-server-template 是一个用于快速搭建 MCP 服务器的模板项目,它使用 TypeScript 和 Node.js 构建,旨在帮助开发者轻松创建符合 Model Context Protocol 规范的后端服务。该模板提供了一套完整的项目结构、开发指南、示例代码和测试框架,使得开发者可以专注于实现 MCP 服务器的具体功能,而无需从零开始搭建基础框架。
主要功能点
- MCP 协议实现: 实现了 MCP 服务器的核心功能,包括处理客户端请求、返回符合 MCP 协议的响应。
- 资源管理: 支持托管和管理各种资源,并提供基于 URI 的数据访问能力。
- 工具注册与执行: 允许注册和执行外部工具,扩展 LLM 的能力。
- Prompt 模板: 虽然当前示例未明确展示 Prompt 模板功能,但项目结构设计上已为未来扩展 Prompt 功能预留了空间。
- 标准化结构: 提供清晰的项目目录结构和模块化设计,易于理解和维护。
- 示例代码: 包含工具和资源的示例实现,方便开发者快速上手。
- 完善的文档: 提供客户端开发者、服务器开发者和 Claude 用户指南,以及 MCP 参考文档。
- 开发辅助: 包含 AI 助手 Prompt 模板,辅助开发者进行 MCP 服务器的开发。
- 测试框架: 集成了 Jest 测试框架,方便进行单元测试和集成测试。
安装步骤
-
克隆仓库 打开终端,执行以下命令克隆 MCP-server-template 仓库到本地:
git clone https://github.com/deachne/MCP-server-template.git my-mcp-server cd my-mcp-server -
安装依赖 在项目根目录下,执行以下命令安装项目依赖:
npm install -
构建项目 执行以下命令构建 TypeScript 项目:
npm run build -
运行服务器 执行以下命令启动 MCP 服务器:
npm start服务器默认通过标准输入/输出 (stdio) 与 MCP 客户端通信。
服务器配置
MCP 客户端需要配置以下 JSON 格式信息以连接到此 MCP 服务器。请注意,这里的配置是针对客户端的,用于告知客户端如何启动和连接服务器。
{ "serverName": "mcp-server-template", // MCP 服务器的名称,与仓库名称一致 "command": "node", // 启动服务器的命令,这里使用 Node.js 运行时 "args": ["dist/index.js"] // 启动命令的参数,指向构建后的服务器入口文件 }
配置参数说明:
- 'serverName': 服务器的名称,用于客户端识别和管理不同的 MCP 服务器。
- 'command': 运行服务器程序的可执行命令。对于 Node.js 项目,通常是 'node'。
- 'args': 传递给 'command' 的参数数组,用于指定服务器程序的入口文件或其他启动选项。 'dist/index.js' 是构建后 JavaScript 代码的输出路径,'index.js' 是服务器的主入口文件。
注意: 'dist/index.js' 是项目构建后的输出路径。请先执行 'npm run build' 命令确保生成 'dist' 目录和 'index.js' 文件。
基本使用方法
-
启动 MCP 服务器: 按照上述安装步骤运行 'npm start' 命令启动服务器。服务器将在后台运行并监听来自 MCP 客户端的请求。
-
配置 MCP 客户端: 在您的 MCP 客户端应用中,配置上述提供的 JSON 信息,指定连接到 'mcp-server-template' 服务器。客户端会根据配置启动服务器进程并通过 stdio 与之通信。
-
客户端与服务器交互: MCP 客户端启动并连接到服务器后,即可通过 MCP 协议发送请求,例如:
- 列出资源: 客户端可以请求服务器列出可用的资源。服务器会返回 'exampleResource' 示例资源的信息。
- 读取资源: 客户端可以请求读取特定 URI 的资源内容,例如 'example://info'。服务器会返回 'exampleResource' 中定义的信息。
- 调用工具: 客户端可以调用已注册的工具,例如 'calculator' 工具,并传递参数进行计算。服务器会执行工具并返回结果。
-
查看日志和错误: 服务器的日志信息和错误输出会打印到标准错误输出 (stderr),您可以在终端或日志文件中查看。
通过以上步骤,您可以使用 MCP 客户端与基于此模板构建的 MCP 服务器进行交互,体验 MCP 协议提供的上下文信息和功能调用能力。
信息
分类
开发者工具