返回市场
创建高级MCP服务器

创建高级MCP服务器

作者:bsmi0212 星标更新:2025-03-03

项目介绍

create-mcp-server

一个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/               # API路由
│   │   ├── index.ts          # 路由注册
│   │   ├── exampleRoutes.ts  # 示例路由定义
│   │   └── ...               # 其他路由
│   └── controllers/          # API控制器
│       ├── index.ts          # 控制器导出
│       ├── exampleController.ts # 示例控制器逻辑
│       └── ...               # 其他控制器

WebSocket(如果启用)

├── websocket/                # WebSocket组件
│   ├── index.ts              # WebSocket服务器设置
│   ├── events/               # 事件定义
│   │   ├── index.ts          # 事件导出
│   │   ├── exampleEvents.ts  # 示例事件处理器
│   │   └── ...               # 其他事件
│   └── ...                   # 其他WebSocket组件

Prisma(如果启用)

├── data/                     # 数据访问层
│   ├── index.ts              # 数据层导出
│   ├── client.ts             # Prisma客户端初始化
│   ├── database.ts           # 数据库管理(迁移)
│   ├── repositories/         # 存储库实现
│   │   ├── index.ts          # 存储库导出
│   │   ├── baseRepository.ts # 基础存储库模式
│   │   └── ...               # 其他存储库
│   └── ...                   # 其他数据组件
├── prisma/                   # Prisma配置
│   ├── schema.prisma         # 数据库模式定义

许可证

MIT