使用说明
# MCP服务器模板(create-mcp-server)
此模板可帮助您根据推荐做法快速引导新的模型上下文协议(MCP)服务器项目。
用法(创建新服务器)
创建名为的新MCP服务器项目 my-new-mcp-server,使用以下命令运行 npx:
npx create-mcp-server my-new-mcp-server
(注意:如果你还没有将这个包发布到npm,你可能需要运行 npm link 首先在此模板目录中,然后使用 create-mcp-server my-new-mcp-server)
这将:
- 创建一个名为的新目录
my-new-mcp-server. - 提示您输入项目详细信息(名称、描述)。
- 复制模板文件(
src,docs、配置文件等)放入新目录。 - 更新
package.json与您的项目详细信息。
初始化后,按照终端中提供的说明进行操作:
cd my-new-mcp-server
npm install
# Review configuration in src/config/ConfigurationManager.ts
# Add your tools in src/tools/
# Add your services in src/services/
npm run dev # Start the development server
开发此模板(高级)
本节描述了 mcp-server-template 它自己。如果您只是使用模板创建自己的服务器,则通常不需要此模板。
项目结构
- /src:包含所有源代码。
- /config:配置管理(ConfigurationManager)。
- /服务:核心业务逻辑类。
- /工具:MCP工具定义和适配器(*tool.ts,*Params.ts)。
- /类型:TypeScript接口和Zod模式。
- /utils:共享实用程序函数(日志、错误等)。
- initialize.ts:服务器实例创建和工具注册。
- server.ts:主要应用程序入口点。
- /dist:编译的JavaScript输出(由生成) pm运行构建)。
- package.json:项目元数据和依赖关系。
- sconfig.json:TypeScript编译器选项。
- .eslintrc.json:ESLint配置。
- .firerrc.json:更高级的配置。
- .gitignore:Git忽略规则。
入门指南
- 安装依赖关系:
ash npm install - 配置赫斯基(如果需要,第一次):
ash npx husky install - 在开发模式下运行: (使用s节点和
odemon用于自动重新加载)
ash npm run dev - 生产建设:
ash npm run build - 运行生产构建:
ash npm start
添加新工具(yourTool)
- 定义类型: 使用接口(例如YourServiceConfig、YourServiceData)创建src/types/yourServiceTypes.ts。从src/types/index.ts导出。
- 实施服务: 使用核心逻辑类创建src/services/YourService.ts。从src/services/index.ts导出。
- 定义刀具参数: 使用TOOL_NAME、TOOL_DESCRIPTION和TOOL_DATAMS创建src/tools/yourToolParams.ts(使用Zod和detained.descripte()调用)。
- 机具注册: 创建src/tools/yourTool.ts。导入服务和参数。创建一个实例化服务的函数,并使用异步处理程序调用server.tool(),该处理程序验证输入、调用服务、格式化输出并处理错误(映射到McpError)。
- 注册工具: 从src/tools/index.ts导入并调用注册函数 egisterTools功能。
- 添加配置: 如果需要,更新src/config/ConfigurationManager.ts以包含新服务的配置类型、默认值、getter和更新器。
- 添加实用程序: 如果需要,将辅助函数添加到src/utils/并导出。
- 编写测试: 在src/services/中添加服务逻辑的单元测试,并在src/tools/中添加工具适配器的潜在集成测试。
装订和格式化
- 棉绒: pm运行lint
- 格式: pm运行格式
代码将在通过Husky和lint-stage提交时自动进行lint和格式化。
