返回市场
创建-MCP

创建-MCP

作者:LinuxDevil9 星标更新:2025-10-06

项目介绍

MCP Server Generator

一个现代的命令行工具,用于生成和扩展生产就绪的模型上下文协议(MCP)服务器。该工具采用干净的架构和高级的MCP功能,通过一个统一的例子展示所有MCP的能力,而不是分散的演示。现在具有强大的组件扩展能力!

npm 版本 下载量 许可证:MIT

📦 在 npm 上可用mcp-server-generator - 包含 442kB 的生产就绪 MCP 服务器模板
📚 完整文档mcp-server-generator.com

🎬 视频展示

观看 MCP Server Generator 的实际操作!了解如何轻松创建一个生产就绪的 MCP 服务器:

观看演示视频

观看从项目生成到使用 MCP Inspector 进行测试的完整工作流程。

📖 详细指南和教程mcp-server-generator.com

📋 目录

📚 有关全面文档、示例和指南,请访问 mcp-server-generator.com

概述

现代架构

  • 🎯 统一示例:一个综合的数据分析助手,展示所有 MCP 功能
  • 🏗️ 干净架构:模块化设计,明确职责分离
  • 🔧 高级 MCP 功能:提取、采样、多种分析方法
  • 🔍 MCP Inspector 集成:内置测试,支持可视化和 CLI 模式
  • 📚 生产就绪:全面的错误处理、验证和文档
  • 🚀 教育性:通过实际实现学习 MCP 最佳实践
  • 可扩展性:通过智能自动化向现有项目添加新组件

🌟 与众不同之处

与其他创建分散示例的 MCP 生成器不同,此工具提供:

  • 🎯 一个统一示例:数据分析助手展示所有 MCP 功能
  • 🏗️ 干净架构:可维护、可扩展、生产就绪代码
  • 📚 教育价值:通过实际实现学习 MCP 最佳实践
  • 🧪 集成测试:MCP Inspector 预配置脚本即可使用
  • 🚀 开发者体验:方便的脚本、帮助系统、即时反馈
  • 组件扩展:向现有项目添加工具、资源、提示、服务、传输和实用程序

非常适合学习 MCP 开发、构建生产服务器或作为自定义实现的基础。从我们的综合示例开始,然后扩展自己的组件!

📚 完整文档mcp-server-generator.com
🚀 快速入门指南安装与设置
💡 示例与教程组件示例

快速开始

安装

# 一次性使用(推荐)
npx mcp-server-generator 我的项目

# 全局安装
npm install -g mcp-server-generator
mcp-server-generator 我的项目

基本用法

# 创建一个包含数据分析助手的综合 MCP 服务器
npx mcp-server-generator 我的分析服务器

# 或指定自定义选项
npx mcp-server-generator 我的分析服务器 --transport both --skip-install

立即测试

# 创建并进入项目
npx mcp-server-generator 我的分析服务器
cd 我的分析服务器

# 1️⃣ 一次看到所有内容
npm run quick:test         # 显示所有 8 个工具、9 个资源、3 个提示

# 2️⃣ 获取所有命令的帮助
npm run help               # 完整的命令参考

# 3️⃣ 使用 MCP Inspector 测试(2 个终端)
# 终端 1:
npm run dev:http:stateless

# 终端 2:
npm run inspector:config -- --server 我的分析服务器-http

扩展现有项目

向现有项目添加组件

使用强大的 add 命令轻松扩展您的 MCP 服务器:

# 添加一个新的工具
npx mcp-server-generator add 工具 计算器
npx mcp-server-generator add 工具 文件管理器 --description "文件管理工具"

# 添加一个新的资源
npx mcp-server-generator add 资源 用户数据
npx mcp-server-generator add 资源 api 文档 --author "您的名字"

# 添加一个新的提示
npx mcp-server-generator add 提示 代码审查
npx mcp-server-generator add 提示 系统设计 --description "系统设计提示"

# 添加业务逻辑服务
npx mcp-server-generator add 服务 邮件发送器
npx mcp-server-generator add 服务 数据处理器 --description "处理数据"

# 添加自定义传输
npx mcp-server-generator add 传输 websocket
npx mcp-server-generator add 传输 grpc --description "gRPC 传输"

# 添加实用函数
npx mcp-server-generator add 实用 字符串助手
npx mcp-server-generator add 实用 加密工具 --description "加密工具"

🔍 列出现有组件

查看项目中已有的组件:

# 导航到您的 MCP 项目
cd 我的 MCP 项目

# 列出所有组件
npx mcp-server-generator list

⚙️ 智能组件生成

每种组件类型包括:

  • 📝 交互式配置:丰富的组件特定设置提示
  • 🔧 自动集成:组件自动注册并准备好使用
  • 💾 备份与回滚:安全修改,自动创建备份
  • ✅ 验证:名称验证和冲突检测
  • 📚 生产就绪代码:生成的组件遵循 MCP 最佳实践
  • 🎯 类型安全:完整的 TypeScript 支持,正确类型

🛠️ 组件类型

类型描述示例
🛠️ 工具添加功能和动作计算器文件管理器数据验证器
📋 资源添加数据和文档用户指南api 文档配置
💡 提示添加智能模板代码审查分析总结
⚙️ 服务添加业务逻辑邮件发送器数据处理器认证管理器
🌐 传输添加通信层websocketgrpcmqtt
🔧 实用添加辅助函数字符串助手加密工具验证器

特性

🔧 全面工具(8 个强大工具)

  • 数据分析:使用 5 种方法论、6 种抽样策略和提取集成进行完整分析
  • 服务器状态:健康监控和性能跟踪
  • 启动提取:开始互动提取会话以引导信息收集
  • 继续提取:继续活跃的提取会话并响应
  • 获取提取状态:获取提取会话的状态和摘要
  • 生成样本:使用 6 种不同的抽样策略生成样本
  • 分析样本:分析样本的质量和代表性
  • 生成合成数据:基于源模式生成合成数据

📋 丰富资源(9 个全面资源)

  • 数据分析:关于数据分析方法和技术的全面指南
  • 抽样指南:关于数据抽样技术和策略的全面指南
  • 提取工作流:用于引导分析的互动提取工作流
  • 分析最佳实践:行业有效的数据分析最佳实践
  • 服务器信息:关于服务器信息和功能的全面指南
  • 服务器配置:当前服务器配置和运行时设置
  • api 文档:MCP 服务器的完整 API 文档
  • 抽样策略:可用抽样策略的文档
  • 抽样最佳实践:有效数据抽样的指导方针

💡 灵活提示(3 个智能提示)

  • 研究分析:8 种研究方法论,具有灵活的上下文和输出格式
  • 互动探索:为主题生成互动探索问题
  • 引导发现:创建引导发现会话以进行知识提取

高级功能

  • 🧠 互动提取:引导分析,智能问题生成
  • 📊 AI 增强抽样:6 种抽样策略,包括 AI 驱动的技术
  • 🏗️ 模块化架构:清晰的职责分离,依赖注入
  • 🔍 MCP Inspector 集成:内置的可视化和 CLI 测试
  • 组件扩展:添加新的工具、资源、提示、服务、传输和实用程序
  • 🔧 智能集成:自动注册更新和导入管理
  • 💾 安全修改:项目更改的备份和回滚系统
  • 🎯 智能验证:组件名称验证和冲突检测

🚀 传输支持

  • Stdio 传输:标准输入/输出,适用于 Claude Desktop 和 CLI 工具
  • HTTP 传输:带有服务器发送事件的 RESTful API,用于 Web 集成
  • 流式 HTTP:现代协议 2025-03-26,带会话管理

CLI 命令

🚀 创建新项目

npx mcp-server-generator <项目名> [选项]

选项:

  • <项目名>:MCP 服务器项目的名称(必需)
  • -t, --transport <类型>:传输类型(stdiohttpboth)- 默认:both
  • -d, --directory <路径>:创建项目的目录
  • --skip-install:跳过安装依赖项
  • --verbose:启用详细日志记录
  • --oauth:启用 HTTP 传输的 OAuth 认证
  • --no-dns-protection:禁用 DNS 重绑定保护
  • --stateless:启用无状态模式(不持久化会话)

向现有项目添加组件

npx mcp-server-generator add <组件类型> <组件名> [选项]

组件类型:

  • 工具 - 向您的 MCP 服务器添加功能和工具
  • 资源 - 添加数据和文档资源
  • 提示 - 添加智能提示模板
  • 服务 - 添加业务逻辑和处理服务
  • 传输 - 添加自定义通信传输
  • 实用 - 添加辅助函数和实用程序

选项:

  • <组件类型>:要添加的组件类型(必需)
  • <组件名>:组件的名称(必需)
  • -d, --description <描述>:组件描述
  • -a, --author <作者>:组件作者
  • --skip-validation:跳过组件名称验证
  • --verbose:启用详细日志记录

📋 列出项目组件

npx mcp-server-generator list [选项]

选项:

  • --verbose:启用详细日志记录

示例:

# 创建新项目
npx mcp-server-generator 我的服务器 --transport both

# 向现有项目添加组件
cd 我的服务器
npx mcp-server-generator add 工具 计算器 --description "数学计算器"
npx mcp-server-generator add 资源 用户指南 --author "团队"

# 列出所有组件
npx mcp-server-generator list

生成的项目结构

我的分析服务器/
├── src/
│   ├── server.ts                      # 简化的主入口点(106 行)
│   ├── core/                          # 核心服务器逻辑
│   │   ├── config.ts                  # 配置管理
│   │   ├── mcp-server.ts              # 核心 MCP 服务器实现
│   │   └── server-factory.ts          # 服务器实例化
│   ├── transports/                    # 传输层
│   │   ├── stdio-transport.ts         # Stdio 通信
│   │   ├── http-transport.ts          # HTTP 通信
│   │   └── transport-manager.ts       # 传输协调
│   ├── tools/                         # 模块化工具实现
│   │   ├── index.ts                   # 工具注册表
│   │   ├── data-analysis-tool.ts      # 综合分析工具
│   │   └── server-status-tool.ts      # 监控工具
│   ├── resources/                     # 资源提供者
│   │   ├── index.ts                   # 资源注册表
│   │   ├── data-analysis-resource.ts  # 分析文档
│   │   └── server-info-resource.ts    # 服务器信息
│   ├── prompts/                       # 提示模板
│   │   ├── index.ts                   # 提示注册表
│   │   └── research-analysis-prompt.ts # 多方法论提示
│   ├── services/                      # 业务逻辑
│   │   ├── elicitation.ts             # 互动引导
│   │   ├── sampling.ts                # 数据抽样
│   │   └── example.ts                 # 示例服务
│   └── utils/                         # 实用工具
│       ├── logger.ts                  # 日志系统
│       └── health.ts                  # 健康监控
├── mcp-inspector.config.json          # MCP Inspector 配置
├── package.json                       # 依赖项和脚本
├── tsconfig.json                      # TypeScript 配置
└── README.md                          # 综合文档

使用示例

🚀 快速开始测试

# 测试单个组件
npm run test:tools         # 列出 data-analysis 和 server-status 工具
npm run test:resources     # 浏览方法论指南和文档
npm run test:prompts       # 测试 research-analysis 提示

# 启动不同模式
npm run dev:stdio          # 用于 Claude Desktop 集成
npm run dev:http           # 用于 API/web 集成
npm run dev:http:oauth     # 带认证

# 可视化检查器(UI 模式)
npm run inspector

# 基于 CLI 的测试
npm run inspector:cli

🧪 测试数据分析工具

# 快速测试(显示工具模式)
npm run test:tools

# 使用实际数据进行高级测试
npx @modelcontextprotocol/inspector --cli tsx src/server.ts \
  --method tools/call \
  --tool-name data-analysis \
  --tool-arg 'data=[{"age":25,"score":85},{"age":30,"score":92}]' \
  --tool-arg analysis_type=exploratory \
  --tool-arg sampling_strategy=ai-representative \
  --tool-arg enable_elicitation=true

# 测试服务器状态监控
npx @modelcontextprotocol/inspector --cli tsx src/server.ts \
  --method tools/call \
  --tool-name server-status \
  --tool-arg 'include_details=true' \
  --tool-arg 'format=json'

添加并测试新组件

# 添加自定义工具并立即测试
npx mcp-server-generator add 工具 计算器 --description "数学计算器"
npm run build
npm run test:tools  # 新工具将出现在列表中

# 添加资源并验证
npx mcp-server-generator add 资源 用户指南 --description "用户文档"
npm run test:resources  # 新资源将被列出

# 添加提示并测试
npx mcp-server-generator add 提示 代码审查 --description "代码审查提示"
npm run test:prompts  # 新提示将可用

# 测试扩展的服务器
npm run dev:stdio     # 启动所有组件
npm run inspector:cli  # 交互式测试所有组件

开发脚本

📝 可用脚本(针对生成的项目)

# 🚀 快速开始及测试
npm run quick:test         # 一次显示所有工具、资源及提示
npm run help               # 显示所有可用命令

# 🔧 开发
npm run dev:stdio          # 使用 stdio 传输启动(用于 Claude Desktop)
npm run dev:http           # 使用 HTTP 传输启动
npm run dev:http:stateless # 使用无状态模式启动 HTTP(最适合检查器)
npm run dev:http:oauth     # 启用 OAuth 启动

# 🌐 MCP Inspector 集成(2 个终端)
# 终端 1: npm run dev:http:stateless
# 终端 2: npm run inspector: