MCP服务器生成器

一个现代化的CLI工具,用于生成和扩展生产就绪的Model Context Protocol (MCP)服务器,支持组件扩展和集成测试。

  • by LinuxDevil
  • TypeScript
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 LinuxDevil/Create-MCP

使用说明

MCP服务器生成器

一种用于生成和扩展生产就绪模型上下文协议(MCP)服务器的现代CLI工具。该工具采用干净的架构和先进的MCP功能构建,通过一个连贯的示例而不是分散的演示来创建展示所有MCP功能的服务器。 现在有了强大的组件扩展功能!

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

🎬 视频展示

查看MCP服务器生成器的运行情况!看看创建生产就绪的MCP服务器有多容易:

观看演示视频

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

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

📋 目录

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

概述

✨ 现代建筑

  • 🎯 统一示例:一个全面的数据分析助手,展示所有MCP功能
  • 🏗️ 清洁建筑:模块化设计,适当分离关注点
  • 🔧 高级MCP功能:启发式、抽样、多种分析方法
  • 🔍 MCP检查器集成:具有可视化和CLI模式的内置测试
  • 📚 生产就绪:全面的错误处理、验证和记录
  • 🚀 教育的:通过实际实施学习MCP最佳实践
  • ➕ 可扩展:使用智能自动化向现有项目添加新组件

🌟 是什么让这与众不同

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

  • 🎯 一个统一的例子:展示所有MCP功能的数据分析助手
  • 🏗️ 清洁建筑:可维护、可扩展、生产就绪的代码
  • 📚 教育价值:通过实际实施学习MCP最佳实践
  • 🧪 综合试验:MCP检查器已准备好与预配置的脚本一起使用
  • 🚀 开发者体验:方便的脚本、帮助系统、即时反馈
  • ➕ 组件扩展:将工具、资源、提示、服务、传输和实用工具添加到现有项目中

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

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

快速开始

安装

# One-time usage (recommended)
npx mcp-server-generator my-project

# Global installation
npm install -g mcp-server-generator
mcp-server-generator my-project

基本用法

# Create a comprehensive MCP server with Data Analysis Assistant
npx mcp-server-generator my-analysis-server

# Or specify custom options
npx mcp-server-generator my-analysis-server --transport both --skip-install

立即测试

# Create and enter project
npx mcp-server-generator my-analysis-server
cd my-analysis-server

# 1️⃣ See everything at once
npm run quick:test         # Shows all 8 tools, 9 resources, 3 prompts

# 2️⃣ Get help with all commands
npm run help               # Complete command reference

# 3️⃣ Test with MCP Inspector (2 terminals)
# Terminal 1:
npm run dev:http:stateless

# Terminal 2:
npm run inspector:config -- --server my-analysis-server-http

扩展现有项目

➕ 向现有项目添加组件

使用功能强大的新组件轻松扩展您的MCP服务器 add 命令:

# Add a new tool
npx mcp-server-generator add tool calculator
npx mcp-server-generator add tool file-manager --description "File management tool"

# Add a new resource  
npx mcp-server-generator add resource user-data
npx mcp-server-generator add resource api-docs --author "Your Name"

# Add a new prompt
npx mcp-server-generator add prompt code-review
npx mcp-server-generator add prompt system-design --description "System design prompt"

# Add business logic services
npx mcp-server-generator add service email-sender
npx mcp-server-generator add service data-processor --description "Process data"

# Add custom transports
npx mcp-server-generator add transport websocket  
npx mcp-server-generator add transport grpc --description "gRPC transport"

# Add utility functions
npx mcp-server-generator add util string-helpers
npx mcp-server-generator add util crypto-utils --description "Cryptography utilities"

🔍 列出现有组件

查看项目中已有哪些组件:

# Navigate to your MCP project
cd my-mcp-project

# List all components
npx mcp-server-generator list

⚙️ 智能组件生成

每种组件类型包括:

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

🛠️ 组件类型

类型 描述 示例
🛠️ 工具 添加功能和操作 calculator, file-manager, data-validator
📋 资源 添加数据和文档 user-guide, api-docs, configuration
💡 提示词 添加智能模板 code-review, analysis, summary
⚙️ 服务 添加业务逻辑 email-sender, data-processor, auth-manager
🌐 运输 添加通信层 websocket, grpc, mqtt
🔧 工具 添加辅助函数 string-helpers, crypto-utils, validators

特性

🔧 综合工具 (8个强大的工具)

  • data-analysis:用5种方法、6种抽样策略、启发式整合完成分析
  • server-status:健康监测和绩效跟踪
  • start-elicitation:开始互动式启发环节,以引导信息收集
  • continue-elicitation:继续积极的启发环节,并给出回应
  • get-elicitation-status:获取启发会话的状态和摘要
  • generate-sample:使用6种不同的采样策略生成样本
  • analyze-sample:分析样品质量和代表性
  • generate-synthetic-data:根据源模式生成合成数据

📋 丰富的资源 (9综合资源)

  • data-analysis:数据分析方法和技术综合指南
  • sampling-guide:数据采样技术和策略的完整指南
  • elicitation-workflows:用于引导分析的交互式启发工作流程
  • analysis-best-practices:有效数据分析的行业最佳实践
  • server-info:全面的服务器信息和功能
  • server-config:当前服务器配置和运行时设置
  • api-docs:MCP服务器的完整API文档
  • sampling-strategies:记录可用的采样策略
  • sampling-best-practices:有效数据抽样指南

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

  • research-analysis:8种研究方法,具有灵活的背景和输出格式
  • interactive-exploration:为主题生成交互式探索问题
  • guided-discovery:为知识启发创建有指导的发现课程

✨ 高级功能

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

🚀 运输支持

  • 标准运输:Claude Desktop和CLI工具的标准输入/输出
  • HTTP传输:带有Server-Sent事件的RESTful API,用于web集成
  • 流式HTTP:具有会话管理的现代协议2025-03-26

CLI命令

🚀 创建新项目

npx mcp-server-generator <project-name> [options]

选项:

  • <project-name>:MCP服务器项目的名称(必填)
  • -t, --transport <type>:运输类型(stdio, http, both)-默认值: both
  • -d, --directory <path>:创建项目的目录
  • --skip-install:跳过安装依赖项
  • --verbose:启用详细日志记录
  • --oauth:为HTTP传输启用OAuth身份验证
  • --no-dns-protection:禁用DNS重新绑定保护
  • --stateless:启用无状态模式(无会话持久性)

➕ 向现有项目添加组件

npx mcp-server-generator add <component-type> <component-name> [options]

组件类型:

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

选项:

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

📋 列出项目组件

npx mcp-server-generator list [options]

选项:

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

示例:

# Create a new project
npx mcp-server-generator my-server --transport both

# Add components to existing project
cd my-server
npx mcp-server-generator add tool calculator --description "Math calculator"
npx mcp-server-generator add resource user-guide --author "Team"

# List all components
npx mcp-server-generator list

生成的项目结构

my-analysis-server/
├── src/
│   ├── server.ts                      # Simplified main entry point (106 lines)
│   ├── core/                          # Core server logic
│   │   ├── config.ts                  # Configuration management
│   │   ├── mcp-server.ts              # Core MCP server implementation  
│   │   └── server-factory.ts          # Server instantiation
│   ├── transports/                    # Transport layer
│   │   ├── stdio-transport.ts         # Stdio communication
│   │   ├── http-transport.ts          # HTTP communication
│   │   └── transport-manager.ts       # Transport coordination
│   ├── tools/                         # Modular tool implementations
│   │   ├── index.ts                   # Tool registry
│   │   ├── data-analysis-tool.ts      # Comprehensive analysis tool
│   │   └── server-status-tool.ts      # Monitoring tool
│   ├── resources/                     # Resource providers
│   │   ├── index.ts                   # Resource registry
│   │   ├── data-analysis-resource.ts  # Analysis documentation
│   │   └── server-info-resource.ts    # Server information
│   ├── prompts/                       # Prompt templates
│   │   ├── index.ts                   # Prompt registry
│   │   └── research-analysis-prompt.ts # Multi-methodology prompts
│   ├── services/                      # Business logic
│   │   ├── elicitation.ts             # Interactive guidance
│   │   ├── sampling.ts                # Data sampling
│   │   └── example.ts                 # Example service
│   └── utils/                         # Utilities
│       ├── logger.ts                  # Logging system
│       └── health.ts                  # Health monitoring
├── mcp-inspector.config.json          # MCP Inspector configuration
├── package.json                       # Dependencies and scripts
├── tsconfig.json                      # TypeScript configuration
└── README.md                          # Comprehensive documentation

使用示例

🚀 快速启动测试

# Test individual components
npm run test:tools         # List data-analysis and server-status tools
npm run test:resources     # Browse methodology guides and documentation  
npm run test:prompts       # Test research-analysis prompt

# Start different modes
npm run dev:stdio          # For Claude Desktop integration
npm run dev:http           # For API/web integration
npm run dev:http:oauth     # With authentication

# Visual inspector (UI mode)
npm run inspector

# CLI-based testing
npm run inspector:cli

🧪 测试数据分析工具

# Quick test (shows tool schema)
npm run test:tools

# Advanced test with actual data
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

# Test server status monitoring
npx @modelcontextprotocol/inspector --cli tsx src/server.ts \
  --method tools/call \
  --tool-name server-status \
  --tool-arg 'include_details=true' \
  --tool-arg 'format=json'

➕ 添加和测试新组件

# Add a custom tool and test it immediately
npx mcp-server-generator add tool calculator --description "Math calculator"
npm run build
npm run test:tools  # Your new tool will appear in the list

# Add a resource and verify it
npx mcp-server-generator add resource user-guide --description "User documentation"
npm run test:resources  # New resource will be listed

# Add a prompt and test it
npx mcp-server-generator add prompt code-review --description "Code review prompt"
npm run test:prompts  # New prompt will be available

# Test your extended server
npm run dev:stdio     # Start with all components
npm run inspector:cli  # Test all components interactively

开发脚本

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

# 🚀 Quick Start & Testing
npm run quick:test         # Show ALL tools, resources & prompts at once
npm run help               # Show all available commands

# 🔧 Development
npm run dev:stdio          # Start with stdio transport (for Claude Desktop)
npm run dev:http           # Start with HTTP transport
npm run dev:http:stateless # Start HTTP in stateless mode (best for inspector)
npm run dev:http:oauth     # Start with OAuth enabled

# 🌐 MCP Inspector Integration (2 terminals)
# Terminal 1: npm run dev:http:stateless
# Terminal 2: npm run inspector:config -- --server your-project-http

# 📋 Individual Testing  
npm run test:tools         # List available tools
npm run test:resources     # List available resources
npm run test:prompts       # List available prompts

# 🔍 Inspector Options
npm run inspector          # Launch visual inspector (UI mode)
npm run inspector:cli      # Command line testing
npm run inspector:config   # Use configuration-based testing

# 🚀 Production
npm run build              # Build TypeScript
npm run start:stdio        # Production stdio
npm run start:http         # Production HTTP
npm run start:http:stateless # Production HTTP stateless

🎉 增强的开发人员体验

该发电机已经过彻底的测试和改进,包括:

✅ 生产就绪质量

  • 零TypeScript错误:所有26个以上的编译问题均已解决
  • 工作脚本:每个npm脚本都经过测试且功能正常
  • 清洁建筑:适当分离依赖注入的关注点
  • 错误处理:全面的验证和优雅的错误恢复

🚀 即时生产力

  • 一个命令测试: npm run quick:test 一次显示所有内容
  • 内置帮助: npm run help 提供完整的命令参考
  • 智能默认值:优化配置,可立即使用
  • 检查员集成:无缝的MCP检查员设置,有明确的说明

发展

构建CLI

# Install dependencies
npm install

# Build the CLI tool
npm run build

# Test locally
npm link
mcp-server-generator test-analysis-server

生成的项目依赖关系

每个生成的项目都包含精心选择的依赖关系:

核心MCP:

  • @modelcontextprotocol/sdk:MCP TypeScript官方SDK
  • @modelcontextprotocol/inspector:可视化测试工具(开发依赖性)
  • zod:运行时类型验证和架构定义

HTTP传输:

  • express:Web服务器框架
  • cors:跨来源资源共享

发展与质量:

  • typescript:TypeScript编译器
  • tsx:TypeScript执行引擎
  • eslint:使用TypeScript规则进行代码linting
  • jest:测试框架
  • rimraf:清洁构建

建筑

CLI结构

mcp-server-generator/
├── bin/
│   ├── create-mcp.js       # CLI entry point
│   └── index.js            # Alternative entry
├── src/
│   ├── cli/               # CLI implementation
│   │   ├── index.ts       # Main CLI logic with add/list commands
│   │   ├── generator.ts   # Project generation
│   │   ├── prompts.ts     # User interaction
│   │   ├── validator.ts   # Input validation
│   │   ├── add-component.ts # Component addition logic
│   │   └── add-prompts.ts # Component configuration prompts
│   ├── helpers/           # Helper utilities
│   │   ├── examples.ts    # Example data
│   │   ├── install.ts     # Dependency installation
│   │   └── validate-pkg.ts # Package validation
│   ├── types/             # TypeScript types (extended for components)
│   ├── utils/             # Core utilities
│   │   ├── file-operations.ts     # File system operations
│   │   ├── template-processor.ts  # Template processing
│   │   ├── package-manager.ts     # Package management
│   │   ├── project-detector.ts    # Project detection & validation
│   │   ├── component-templates.ts # Dynamic component generation
│   │   └── registry-updater.ts    # Registry file management
│   └── templates/         # Template generation system
│       ├── base/          # Base project files
│       │   ├── package.json.template
│       │   ├── README.md.template
│       │   └── tsconfig.json.template
│       └── src/           # Source code templates
│           ├── core/      # Core server modules
│           ├── tools/     # Tool implementations
│           ├── resources/ # Resource providers
│           ├── prompts/   # Prompt templates
│           ├── services/  # Business logic
│           ├── transports/ # Transport handlers
│           └── utils/     # Utility modules
├── lib/                   # Built JavaScript (generated)
└── package.json          # CLI dependencies

组件扩展系统

CLI现在包括一个功能强大的组件扩展系统:

🔍 项目检测

  • 自动检测有效的MCP服务器项目
  • 验证项目结构和依赖关系
  • 检查所需的文件和注册表结构

🏗️ 动态组件生成

  • 为每种类型生成基于模板的组件
  • 特定类型的配置和验证
  • 具有正确TypeScript类型的生产就绪代码

🔧 注册表管理

  • 自动进出口管理
  • 注册表文件更新(工具、资源、提示)
  • 与现有架构的组件集成

💾 安全操作

  • 修改前的备份创建
  • 故障回滚功能
  • 冲突检测和预防

高级模板系统

我们的模板系统生成 生产就绪的MCP服务器 与:

🏗️ 清洁建筑

  • 模块化设计:每个组件都有单一的职责
  • 依赖注入:明确区分关注点
  • 注册模式:易于扩展和测试
  • 工厂模式:集中式服务器创建

🎯 统一示例

  • 一个综合示例:展示所有功能的数据分析助手
  • 没有分散的Demos:一切都是整合和有凝聚力的
  • 现实世界适用:实际用例开发人员可以适应
  • 教育价值:通过实施学习MCP最佳实践

🔧 高级MCP功能

  • 5分析方法:探索性、描述性、诊断性、预测性、规范性
  • 6采样策略:包括人工智能增强技术
  • 互动启发:智能问题生成和指导工作流程
  • 多方法论提示:8种灵活的研究方法

🔍 综合试验

  • MCP检查员:内置可视化和CLI测试
  • 综合脚本:即用型测试命令
  • 配置文件:预配置的检查器设置
  • 开发工作流程:即时测试能力

🚀 生产特点

  • 多个传输:标准、HTTP、流式HTTP
  • 会话管理:有状态和无状态模式
  • 安全:OAuth、CORS、DNS保护
  • 监控:健康检查、状态报告、综合日志记录
  • 可扩展性:在不破坏现有功能的情况下添加新组件
  • 类型安全:对所有生成的组件完全支持TypeScript

贡献

  1. 分叉存储库
  2. 创建特征分支: git checkout -b feature/amazing-feature
  3. 进行更改并添加测试
  4. 构建和测试: npm run build && npm test
  5. 提交您的更改: git commit -m 'Add amazing feature'
  6. 推到分支: git push origin feature/amazing-feature
  7. 打开拉取请求

开发指南

  • 遵循统一架构方法(无零散示例)
  • 保持关注点的清晰分离
  • 为新功能添加全面的测试
  • 更新API变更文档
  • 使用常规提交消息

文档

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

致谢

该项目的灵感来源于并建立在以下基础之上:


MCP服务器生成器 -使用全面的数据分析助手、组件添加功能和集成测试生成和扩展生产就绪的模型上下文协议服务器。

包装信息:

新功能:

  • ➕ 组件添加: mcp-server-generator add <type> <name>
  • 📋 组件列表: mcp-server-generator list
  • 🔧 6组件类型:工具、资源、提示、服务、传输、实用工具
  • 🎯 智能集成:自动注册表更新和类型安全生成

📚 了解更多: