使用说明
MCP服务器模板
从AI提示创建生产就绪MCP(模型上下文协议)服务器的综合模板。此模板使用OpenAPI到MCP工具映射、安全最佳实践和企业级架构生成功能齐全的Types/Node.js项目。
🚀 快速开始
先决条件
- Node.js 18+
- Docker(可选,用于容器化部署)
- Git
- AI模型访问(Claude、GPT-4等),以便快速使用
5分钟设置
-
使用模板创建新项目:
git clone https://github.com/markbsigler/MCP-Server-template.git cd MCP-Server-template -
生成您的MCP服务器 使用
PROMPT.md使用您偏好的AI模型 -
安装并运行:
npm install npm run dev -
测试您的MCP服务器:
curl http://localhost:3000/healthz
✨ 功能概述
🔧 生成的项目包括
- 🛠️ OpenAPI到MCP工具:OpenAPI规范自动转换为MCP工具
- 🔐 企业安全:JWT身份验证、输入验证、速率限制
- 🏗️ 生产架构:具有处理程序、中间件和类型的模块化结构
- 🧪 综合测试:基于Jest的单元和集成测试,覆盖范围广
- 🐳 集装箱准备就绪:使用Docker compose构建多阶段Docker
- 🚀 CI/CD管道:具有安全扫描和多平台构建的GitHub操作
- 📊 监控:健康检查、结构化日志记录和指标收集
- 🔌 可扩展:插件架构和中间件系统
- 📚 文档:自动生成的API文档和综合示例
🏛️ 建筑亮点
- MCP协议合规性:已满
tools/list,tools/call,以及通知支持 - 可流式HTTP传输:基于HTTP的JSON-RPC 2.0,支持SSE
- 安全第一:无令牌传递,安全会话管理
- 性能优化:流式响应和高效资源使用
📁 生成的项目结构
your-mcp-server/
├── src/
│ ├── handlers/ # MCP protocol handlers
│ ├── middleware/ # Authentication, validation, CORS
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Helper functions and utilities
│ └── index.ts # Main server entry point
├── tests/
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ └── __mocks__/ # Test mocks
├── config/
│ ├── openapi.json # OpenAPI specification
│ └── environments/ # Environment configurations
├── docs/
│ ├── api/ # Generated API documentation
│ └── architecture/ # Architecture diagrams
├── .github/
│ └── workflows/ # GitHub Actions CI/CD
├── docker/
│ ├── Dockerfile # Multi-stage Docker build
│ └── docker-compose.yml
├── package.json
├── tsconfig.json
└── README.md
📖 PROMPT.md使用指南
使用AI模型
-
复制整个
PROMPT.md内容 -
根据您的用例进行自定义:
Generate an MCP server for [YOUR_USE_CASE] with the following additional requirements: - [Custom requirement 1] - [Custom requirement 2] [Paste PROMPT.md content here] -
提交到您的AI模型 (克劳德、GPT-4等)
自定义选项
提示支持多个自定义变量:
- 项目名称:修改生成的项目名称和结构
- OpenAPI规范:为自定义工具提供自己的OpenAPI规范
- 安全要求:添加特定的身份验证或授权需求
- 部署目标:指定云平台或容器编排
- 集成要求:添加特定的第三方服务集成
最佳实践
- 具体:为您的用例添加详细要求
- 包括示例:提供您想要支持的OpenAPI操作示例
- 指定安全性:定义您的身份验证和授权要求
- 提及集成:列出您需要集成的任何第三方服务
🛠️ 如何设置新项目
如果您想使用此模板创建一个全新的MCP服务器项目(没有原始历史记录并且与此模板断开连接),请执行以下步骤:
步骤1:克隆并删除Git历史记录
git clone https://github.com/markbsigler/MCP-Server-template.git
cd MCP-Server-template
rm -rf .git
步骤2:初始化为新的Git仓库
git init
git add .
git commit -m "Initial commit"
步骤3:在GitHub上创建新存储库
- 访问GitHub.com并点击 + 图标
- 选择 新存储库
- 进入 <newMCPrepo> 作为存储库名称
- 选择公共/私人
- 不要 检查任何初始化选项(README、.gitignore、许可证)
- 点击 创建存储库
步骤4:连接到新存储库
git branch -M main
git remote add origin https://github.com/<username>/<newMCPrepo>.git
git push -u origin main
步骤5:重命名本地文件夹
cd ..
mv MCP-Server-template <newMCPrepo>
cd <newMCPrepo>
现在,您的新MCP项目已经准备就绪,完全独立于原始模板,具有新的git历史记录!
📝 例子
生成的项目示例
-
REST API到MCP工具
- 带有CRUD操作的OpenAPI规范
- 自动生成MCP工具
- 具有速率限制的JWT身份验证
-
文件处理服务
- 文件上传/下载操作
- 二进制内容处理
- 流媒体响应
-
数据分析平台
- 复杂的查询操作
- 分页回复
- 实时数据流
使用场景
- API网关:将现有的REST API转换为MCP工具
- 微服务集成:使用MCP协议桥接微服务
- AI助手后端:为人工智能助手和代理提供工具
- 工作流程自动化:创建业务流程自动化工具
🤝 如何做出贡献
我们欢迎为改进此MCP服务器模板做出贡献!以下是您可以提供帮助的方式:
入门指南
- 分叉存储库 转到您的GitHub帐户
- 克隆你的叉子 本地:
git clone https://github.com/<your-username>/MCP-Server-template.git cd MCP-Server-template - 创建要素分支 感谢您的贡献:
git checkout -b feature/your-feature-name
贡献类型
我们正在寻求帮助以改进 PROMPT.md 文件:
- 附加MCP功能:扩展提示以包括更多MCP协议功能
- 增强的安全性:添加更多安全最佳实践和实施细节
- 架构改进更好的项目结构和组织模式
- 工具实现模式:更全面的OpenAPI到MCP工具映射示例
- 性能优化:添加性能考虑因素和监控要求
- 测试策略:扩大测试要求和方法
- 文件标准:改进文档生成和维护要求
- 部署场景:添加更多容器和云部署模式
- 集成示例:更全面的客户和集成示例
- 错误处理:增强的错误处理和恢复模式
提交变化
- 提交您的更改 带有清晰、描述性的信息:
git add . git commit -m "feat: add new MCP tool for file processing" - 推你的叉子:
git push origin feature/your-feature-name - 创建拉取请求 在GitHub上:
- 明确描述您的更改
- 参考任何相关问题
- 包括截图或示例(如适用)
拉取请求指南
- 让公关人员保持专注:每个PR一个功能或修复
- 写清楚描述:解释你做出了哪些改变以及为什么
- 包括测试:所有新代码都应该有相应的测试
- 更新文档:确保README和其他文档反映您的更改
- 遵循常规承诺:使用清晰、描述性的提交消息
代码规范
- TypeScript:使用严格的打字并遵循现有的模式
- ESLint/Pretier:代码必须通过linting和格式检查
- 测试:保持或提高测试覆盖率
- 安全:遵循安全最佳实践,特别是MCP工具
- 演出:考虑变更对绩效的影响
报告问题
如果您发现错误或有功能请求:
- 搜索现有问题 避免重复
- 使用问题模板 如果可用
- 提供详细信息:
- 复制步骤(针对bug)
- 预期行为与实际行为
- 环境详细信息(Node.js版本、操作系统等)
- 相关代码片段或日志
社区指南
- 要有礼貌 在所有互动中都具有建设性
- 帮助他人 通过回答问题和审查PR
- 遵守行为准则 (如适用)
- 保持专注 改进面向所有人的模板
问题?
如果您对贡献有疑问:
- 打开A 讨论 在GitHub上
- 检查现有 问题 和 拉取请求
- 查看 PROMPT.md 技术细节文件
感谢您帮助使此MCP服务器模板对每个人都更好!
🐛 故障排除
常见问题
Q: AI模型生成不完整的代码
- A: 提示很全面——试着把它分成更小的部分,或者使用具有更大上下文窗口的模型
Q: 生成的项目无法启动
- A: 检查Node.js版本(需要18+)并运行
npm install安装依赖项
Q: OpenAPI工具无法生成
- A: 验证您的
config/openapi.json文件是有效的JSON,并遵循OpenAPI 3.0+规范
Q: 身份验证问题
- A: 检查JWT令牌配置,确保Bearer令牌格式正确
Q: Docker构建失败
- A: 确保Docker已安装并正在运行,检查Dockerfile语法
获取帮助
- 查看生成的项目的README以获取具体的设置说明
- 查看PROMPT.md了解实施细节
- 打开一个包含详细错误消息和环境信息的问题
📋 更新日志
版本1.0.0(2025-06-30)
- MCP服务器模板的初始版本
- 用于AI代码生成的全面PROMPT.md
- OpenAPI到MCP工具映射
- 安全最佳实践实施
- Docker和CI/CD支持
- 大量文档和示例
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
归因
使用此模板时:
- 保留原始许可证文件
- 修改生成项目中的版权声明
- 将此模板记入您的项目文档中(可选,但很感激)
第三方许可证
生成的项目可能包括:
- Express.js(MIT许可证)
- Jest(麻省理工学院许可证)
- TypeScript(Apache 2.0许可证)
- 其他具有各自许可证的npm包
🔗 相关资源
MCP协议
OpenAPI
TypeScript和Node.js
相关MCP工具
准备好构建MCP服务器了吗? 使用PROMPT.md和您最喜欢的AI模型,在几分钟内创建生产就绪的MCP服务器! 🚀
