article
README
🚀 创建高级 MCP 服务器
这是一个 CLI 工具,用于搭建带有 Web 功能的 Model Context Protocol(MCP)服务器,并提供完整的项目结构。此工具依据 MCP 高级节点规范文档中的架构,创建出完整的 MCP 服务器项目,为 MCP 服务器开发奠定了坚实基础。
✨ 主要特性
- 生成完整的 MCP 服务器项目结构。
- 具备可配置选项,支持 Web API、WebSocket 和数据库集成。
- 基于 TypeScript,采用现代 ES 模块。
- 提供 Prisma ORM 集成(可选)。
- 支持基于 Express 的 Web API(可选)。
- 支持 WebSocket 服务器集成(可选)。
- 提供示例实现工具、资源和提示。
- 拥有完整的错误处理和日志记录基础设施。
- 配置系统支持通过环境变量进行配置。
📦 安装指南
npm install -g create-advanced-mcp-server
💻 使用示例
基础用法
# 通过交互式提示创建新项目
npx create-advanced-mcp-server my-mcp-server
高级用法
# 使用默认选项创建新项目
npx create-advanced-mcp-server my-mcp-server --yes
# 跳过依赖安装
npx create-advanced-mcp-server my-mcp-server --skip-install
# 显示详细输出
npx create-advanced-mcp-server my-mcp-server --verbose
📚 详细文档
生成的项目结构
生成的项目遵循 MCP 高级节点规范中概述的结构:
src/
├── index.ts # 入口文件
├── initialize.ts # 初始化逻辑
├── config.ts # 配置管理
├── types.ts # 类型定义
├── utils/ # 工具模块
│ ├── index.ts # 工具导出
│ ├── logging.ts # 日志记录工具
│ ├── errors.ts # 错误类
│ └── ... # 其他工具
├── tools/ # 单个工具实现
│ ├── index.ts # 工具注册
│ ├── exampleTool.ts # 示例工具实现
│ └── ... # 其他工具
├── resources/ # 资源实现
│ ├── index.ts # 资源注册
│ ├── exampleResource.ts # 示例资源实现
│ └── ... # 其他资源
├── prompts/ # 提示实现
│ ├── index.ts # 提示注册
│ ├── examplePrompt.ts # 示例提示实现
│ └── ... # 其他提示
├── services/ # 服务层
│ ├── index.ts # 服务导出
│ ├── exampleService.ts # 示例服务实现
│ └── ... # 其他服务
根据你的选择,可能会生成其他目录:
Web API(若启用)
├── web/ # Web API 组件
│ ├── index.ts # Web 服务器设置
│ ├── middleware/ # Express 中间件
│ │ ├── index.ts # 中间件导出
│ │ ├── errorHandler.ts # 错误处理中间件
│ │ └── ... # 其他中间件
│ ├── routes/ # 路由定义
│ │ ├── index.ts # 路由导出
│ │ ├── exampleRoute.ts # 示例路由实现
│ │ └── ... # 其他路由
│ └── controllers/ # 控制器
│ ├── index.ts # 控制器导出
│ ├── exampleController.ts # 示例控制器实现
│ └── ... # 其他控制器
WebSocket(若启用)
├── websockets/ # WebSocket 组件
│ ├── index.ts # WebSocket 服务器设置
│ ├── exampleWebSocket.ts # 示例 WebSocket 实现
│ └── ... # 其他 WebSocket 相关文件
Prisma(若启用)
├── prisma/ # Prisma 配置
│ ├── schema.prisma # 数据库模式定义
│ ├── index.ts # Prisma 初始化
│ └── ... # 其他 Prisma 相关文件
📄 许可证
[此处应放置许可证文本,例如 MIT 或其他适用的许可证。]
请根据实际项目需求补充完整的许可证信息。
微信扫一扫