使用说明
MCPgen-MCP中心和生命周期经理
自动将Postman集合、数据库架构和API文档转换为工作的MCP服务器。 现在有了在线聊天平台、安全仪表板和自动清理功能!
🚀 特性
核心能力
| 功能 | 状态 | 描述 |
|---|---|---|
| 邮差收集解析器 | ✅ | 将Postman JSON(v2.1)转换为MCP工具 |
| 数据库架构解析器 | ✅ | 从PostgreSQL/MySQL/SQLite模式生成CRUD工具 |
| OpenAPI/Swagger支持 | ✅ | 导入OpenAPI 3.0 YAML/JSON规范 |
| GraphQL架构解析器 | ✅ | 将GraphQL模式转换为MCP工具(查询、修改、订阅) |
| cURL命令分析器 | ✅ | 从cURL命令中提取端点(单个或批处理) |
| 失眠收集 | ✅ | 进口失眠收款出口 |
| HAR文件支持 | ✅ | 从浏览器网络日志中解析HTTP存档文件 |
| WSDL/SOAP解析器 | ✅ | 支持SOAP web服务 |
| API蓝图 | ✅ | 导入API蓝图降价文档 |
| RAML支持 | ✅ | 导入RAML YAML规范 |
高级功能
| 功能 | 状态 | 描述 |
|---|---|---|
| 在线聊天游乐场 | ✅ | Qwen3支持MCP工具的自然语言聊天 |
| 安全仪表版 | ✅ | 使用循环进度指标进行实时代码质量分析 |
| AI自动修复 | ✅ | 自动修复硬编码的秘密和安全问题 |
| 可视化工具图 | ✅ | 用户的React Flow可视化→ LLM → Tool → 数据库流 |
| 实时服务器日志 | ✅ | 支持WebSocket流的Xterm.js终端 |
| 自动清理 | ✅ | 非活动服务器的后台生命周期管理 |
| 代码质量分数 | ✅ | 带有徽章的安全、性能、最佳实践指标 |
| 共享和嵌入 | ✅ | 使用唯一链接和嵌入代码共享MCP服务器 |
| MCP服务器管理器 | ✅ | 直接从UI运行和停止服务器 |
| IDE集成 | ✅ | Cursor、Windsurf、Claude Desktop的一键设置 |
智能代码生成
- ✅ 生产就绪的FastMCP代码 与:
- 自动函数命名(snake_case转换)
- 具有重试逻辑的共享助手函数
- 速率限制的指数回退
- 全面的错误处理
- 键入提示和文档字符串
身份验证配置文件
- ✅ 预配置身份验证 用于:
- Microsoft Graph API
- 条纹API
- OpenAI API
- 基本的HTTP认证
- 自定义身份验证
🎮 现场演示
直接在浏览器中尝试这些现成的示例。点击任何演示以自动生成代码并跳转到聊天游乐场:
⚽ Futbol市场演示
“梅西多少钱?” -与Qwen3 LLM进行自然语言聊天,从模拟SQLite数据库中查询足球运动员的价格。AI驱动的MCP工具调用的完美示例。
特征:
- Qwen3:32b自然语言理解法学硕士整合
- 足球运动员数据模拟SQLite数据库
- 实时聊天界面
- 显示数据流的可视化工具图
☀️ 天气 API 演示
OpenWeatherMap-风格的天气API集成。了解Postman集合如何通过身份验证和错误处理转换为MCP服务器。
特征:
- OpenAPI风格的端点定义
- 查询参数处理
- 环境变量配置
🛒 E-Ticaret CRM演示
具有客户ID、日期范围和状态过滤的订单管理和查询系统。演示CRUD操作和复杂查询。
特征:
- 多种端点类型(GET、PATCH)
- 查询参数过滤
- 状态管理
即将推出
- 🔄 AI自然语言 -描述你想要什么,AI创建你的MCP服务器
- 🔄 逆向工程 -从实时API URL中发现终结点
- 🔄 多源聚合 -将多个源合并到一个统一的服务器中
- 🔄 Visual API生成器 -拖放可直观地创建API端点
- 🔄 多语言SDK -生成TypeScript、Go、Rust SDK
- 🔄 测试生成 -自动生成单元和集成测试
- 🔄 Webhook支持 -生成webhook处理程序
- 🔄 速率限制 -内置速率限制支持
- 🔄 缓存 -响应缓存策略
- 🔄 模板库 -预构建模板和社区市场
- 🔄 一键部署 -一键部署到Vercel、Railway、Render
📋 目录
🛠️ 安装
先决条件
- Node.js 18+和npm
- python 3.10+(FastMCP SDK所需)
- PostgreSQL 或 MySQL (可选,用于数据库模式解析)
后端设置
cd backend
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
后端将运行在 http://localhost:8000
前端设置
cd frontend
npm install
npm run dev
前端将运行在 http://localhost:3000
🚀 快速开始
-
启动后端
cd backend source venv/bin/activate uvicorn main:app --reload --port 8000 -
启动前端
cd frontend npm run dev -
打开浏览器 导航至
http://localhost:3000 -
上传邮差收藏
- 点击“上传邮递员JSON”
- 选择您导出的Postman收藏(v2.1格式)
- 等待分析完成
-
自定义和生成
- 选择要转换的端点
- 配置环境变量(BASE_URL、API_KEY等)
- 选择身份验证配置文件(如果需要)
- 点击“生成代码”
-
测试和部署
- 使用真实的API调用测试端点
- 查看带有循环进度指示器的代码质量分数和徽章
- 使用AI自动修复自动解决安全问题
- 使用自然语言与您的MCP服务器聊天(Qwen3供电)
- 在Xterm.js终端查看实时服务器日志
- 探索显示数据流的可视化工具图
- 使用唯一链接共享您的服务器
- 直接从UI运行服务器(代码生成时自动启动)
- 下载生成的代码
- 复制
.env.example和config.json - 与您的IDE集成(Cursor、Windsurf、Claude Desktop)
📖 用法
CLI工具(命令行)
MCPgen包括一个强大的CLI工具,用于从命令行生成MCP服务器。
安装
cd backend
source venv/bin/activate
pip install -r requirements.txt
基本用法
# Postman collection
python cli.py postman collection.json -o output/
# OpenAPI spec
python cli.py openapi api.yaml -o output/ --base-url https://api.example.com
# GraphQL schema
python cli.py graphql schema.graphql -o output/
# Database schema
python cli.py database schema.sql -o output/ --db-type postgresql
高级选项
# With environment variables
python cli.py postman collection.json -o output/ \
--env BASE_URL=https://api.example.com API_KEY=secret
# With authentication profile
python cli.py openapi api.yaml -o output/ \
--auth-profile microsoft-graph
# Interactive endpoint selection
python cli.py postman collection.json -o output/ -i
# Select specific endpoints
python cli.py postman collection.json -o output/ \
--select endpoint1 endpoint2
# Select all endpoints (non-interactive)
python cli.py postman collection.json -o output/ -a
支持的格式
postman-邮差收藏v2.1 JSONopenapi-OpenAPI 3.0 YAML/JSONgraphql-GraphQL架构SDLcurl-cURL命令(单个或批处理)insomnia-失眠集合JSONhar-HTTP存档文件wsdl-WSDL/SOAP文件api-blueprint-API蓝图降价raml-RAML YAML文件database-SQL架构文件
输出文件
CLI在输出目录中生成三个文件:
mcp_server.py-生成的MCP服务器代码.env.example-环境变量模板config.json-IDE配置(光标、Windsurf、克劳德桌面)
邮递员收款工作流程
-
出口邮差收藏
- 邮递员:收藏→ 出口→ 收藏v2.1
- 另存为JSON文件
-
上传到MCPgen
- 拖放或点击上传
- MCPgen自动检测基本URL
-
分析端点
- 查看所有端点、方法和参数
- 查看检测到的集合和文件夹
-
定制
- 选择要转换的端点
- 输入环境变量:
BASE_URL-API基本URLAPI_KEY-API身份验证密钥AUTH_TOKEN-持有者代币
- 选择身份验证配置文件(可选)
-
测试
- 选择端点
- 输入参数
- 使用真实的API调用进行测试
- 查看请求/响应详细信息
-
部署
- 下载生成的Python代码
- 复制
.env.example到.env - 填写您的凭据
- 复制
config.json到IDE配置 - 运行MCP服务器
数据库架构工作流
-
连接到数据库
- 输入连接详细信息(PostgreSQL/MySQL)
- 或者上传SQL架构文件
-
选择表
- 选择表以生成CRUD操作
- 预览生成的工具
-
生成和部署
- 下载CRUD工具代码
- 配置数据库连接
- 部署到IDE
📦 支持的格式
| 格式 | 状态 | 描述 |
|---|---|---|
| 邮差收藏v2.1 | ✅ | 完全支持身份验证、标头、正文参数 |
| OpenAPI 3.0✅ | 导入OpenAPI/Swagger的YAML和JSON规范 | |
| GraphQL架构 | ✅ | 将GraphQL模式转换为MCP工具(查询、修改、订阅) |
| cURL命令 | ✅ | 解析单个或批处理cURL命令 |
| 失眠收集 | ✅ | 进口失眠收款出口 |
| HAR文件 | ✅ | 从浏览器网络日志中解析HTTP存档文件 |
| WSDL/SOAP | ✅ | 支持SOAP web服务 |
| API蓝图 | ✅ | 导入API蓝图降价文档 |
| 拉姆尔 | ✅ | 导入RAML YAML规范 |
| PostgreSQL架构 | ✅ | CRUD操作生成 |
| MySQL架构 | ✅ | CRUD操作生成 |
| SQLite架构 | ✅ | CRUD操作生成 |
| AI自然语言🔄 | 即将推出-描述你想要什么,AI生成MCP服务器 | |
| 逆向工程 | 🔄 | 即将推出-从实时API URL中发现端点 |
| 多源聚合 | 🔄 | 即将推出-将多个源合并到一个统一的服务器中 |
| Visual API生成器 | 🔄 | 即将推出-拖放以可视化方式创建API端点 |
🔐 认证
支持的身份验证方法
-
持有者令牌
AUTH_TOKEN=your-token-here -
API密钥
API_KEY=your-api-key-here -
基本认证
BASIC_AUTH_USERNAME=username BASIC_AUTH_PASSWORD=password -
Microsoft Graph
MICROSOFT_GRAPH_CLIENT_ID=your-client-id MICROSOFT_GRAPH_CLIENT_SECRET=your-client-secret MICROSOFT_GRAPH_TENANT_ID=your-tenant-id -
条纹
STRIPE_API_KEY=your-stripe-key STRIPE_SECRET_KEY=your-stripe-secret -
开放人工智能
OPENAI_API_KEY=your-openai-key
自定义身份验证
您可以在中添加自定义身份验证配置文件 backend/auth_profiles.py
📚 api参考
后端端点
POST /api/analyze/postman
分析Postman集合JSON
请求:
{
"file": "multipart/form-data"
}
答复:
{
"endpoints": [...],
"collections": [...],
"base_url": "https://api.example.com"
}
POST /api/generate/mcp
生成MCP服务器代码
请求:
{
"endpoints": [...],
"selected_endpoints": ["endpoint1", "endpoint2"],
"env_vars": {
"BASE_URL": "https://api.example.com",
"API_KEY": "..."
},
"auth_profile": "basic_auth"
}
答复:
{
"code": "generated python code...",
"env_example": "BASE_URL=...",
"config_json": "{...}"
}
POST /api/test/endpoint
使用实际API调用测试端点
请求:
{
"endpoint": {...},
"params": {...},
"env_vars": {...}
}
GET /api/auth-profiles
获取可用的身份验证配置文件
POST /api/analyze/db-schema
分析数据库架构
POST /api/generate/db-crud
从数据库模式生成CRUD工具
POST /api/share/create
为MCP服务器创建可共享链接
请求:
{
"code": "generated python code...",
"metadata": {
"title": "My MCP Server",
"description": "Description here"
},
"expires_in_days": 30
}
答复:
{
"share_id": "abc123def456",
"share_url": "https://mcpgen.com/share/abc123def456",
"embed_code": "<iframe src=\"...\"></iframe>",
"qr_code_url": "https://mcpgen.com/api/share/abc123def456/qr"
}
GET /api/share/{share_id}
获取共享MCP服务器代码
POST /api/analyze/quality
分析代码质量和返回分数
请求:
{
"code": "generated python code..."
}
答复:
{
"score": 95.5,
"badges": ["🏆 Production Ready", "🔒 Security First", "✨ Best Practices"],
"metrics": {
"security": 92.0,
"performance": 88.0,
"best_practices": 95.0,
"complexity": 85.0,
"documentation": 90.0
},
"suggestions": ["Add more type hints", "Improve error handling"]
}
POST /api/server/start
启动生成的MCP服务器
请求:
{
"code": "generated python code...",
"env_vars": {
"BASE_URL": "https://api.example.com",
"API_KEY": "..."
},
"server_name": "my-server"
}
POST /api/server/stop/{server_id}
停止正在运行的MCP服务器
GET /api/server/status/{server_id}
获取服务器状态
GET /api/server/list
列出所有正在运行的服务器
GET /api/demo/{demo_type}
准备好使用演示示例
演示类型:
football_market-足球运动员价格查询演示weather_api-Weather API集成演示ecommerce_crm-电子商务订单管理演示
答复:
{
"code": "generated python code...",
"env_example": "BASE_URL=...",
"config_json": "{...}",
"metadata": {
"title": "Demo Title",
"description": "Demo description",
"demo_type": "football_market"
}
}
POST /api/ai/chat-mcp
使用自然语言与MCP服务器聊天
请求:
{
"server_id": "server-uuid",
"message": "Messi kaç para?"
}
答复:
{
"tool_call": {
"tool_name": "get_player_price",
"arguments": {"name": "Messi"}
},
"tool_result": {
"status": "ok",
"player": "Lionel Messi",
"price": 100.0,
"currency": "M EUR"
},
"assistant_message": "Lionel Messi için tahmini fiyat 100.0M EUR"
}
POST /api/analyze/quality/auto-fix
自动修复生成代码中的安全问题
请求:
{
"code": "generated python code..."
}
答复:
{
"fixed_code": "updated code with os.getenv()...",
"changed": true,
"analysis": {
"score": 95.0,
"metrics": {...},
"issues": []
}
}
GET /ws/server/{server_id}/logs
用于流式传输实时MCP服务器日志的WebSocket端点
连接:
ws://localhost:8000/ws/server/{server_id}/logs
消息格式:
{
"type": "logs",
"lines": ["[13:54:32] INFO Starting MCP server..."]
}
💡 例子
示例1:邮差收藏
{
"info": {
"name": "My API",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Get User",
"request": {
"method": "GET",
"url": "{{base-url}}/users/:id"
}
}
]
}
生成代码:
@mcp.tool()
async def get_user(id: str) -> dict:
"""
Get User
Method: GET
URL: {BASE_URL}/users/{id}
"""
url = f"{BASE_URL}/users/{id}"
headers = {"Content-Type": "application/json"}
return await make_request(
method="GET",
url=url,
headers=headers
)
示例2:数据库架构
CREATE TABLE products (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price DECIMAL(10, 2),
description TEXT
);
生成代码:
@mcp.tool()
async def create_product(
name: str,
price: Optional[float] = None,
description: Optional[str] = None
) -> dict:
"""Create a new Product record."""
# Database insert logic
...
🏗️ 项目结构
MCPgen/
├── frontend/ # Next.js frontend
│ ├── app/ # App Router pages
│ │ ├── page.tsx # Main dashboard with landing page
│ │ ├── layout.tsx # Root layout with Header/Footer
│ │ ├── docs/ # Documentation page
│ │ ├── about/ # About page
│ │ └── examples/ # Examples page
│ ├── components/
│ │ ├── layout/ # Header, Footer
│ │ ├── steps/ # Stepper components
│ │ │ ├── upload-step.tsx
│ │ │ ├── analyze-step.tsx
│ │ │ ├── customize-step.tsx
│ │ │ ├── test-step.tsx
│ │ │ └── deploy-step.tsx # Chat playground, security dashboard
│ │ ├── mcp-server-terminal.tsx # Xterm.js terminal component
│ │ ├── seo/ # SEO components
│ │ └── ui/ # Shadcn UI components
│ └── package.json
├── backend/ # FastAPI backend
│ ├── main.py # FastAPI app with WebSocket support
│ ├── generator.py # Code generator with path param support
│ ├── demo_examples.py # Ready-to-use demo generators
│ ├── llm_service.py # Qwen3 LLM integration
│ ├── auth_profiles.py # Auth profiles
│ ├── db_parser.py # DB schema parser
│ ├── openapi_parser.py # OpenAPI parser
│ ├── graphql_parser.py # GraphQL parser
│ ├── curl_parser.py # cURL parser
│ ├── insomnia_parser.py # Insomnia parser
│ ├── har_parser.py # HAR parser
│ ├── wsdl_parser.py # WSDL parser
│ ├── api_blueprint_parser.py # API Blueprint parser
│ ├── raml_parser.py # RAML parser
│ ├── share_manager.py # Share & embed manager
│ ├── code_quality.py # Code quality analyzer with auto-fix
│ ├── mcp_server_manager.py # MCP server manager with auto-cleanup
│ ├── cli.py # CLI tool
│ └── requirements.txt
├── README.md # This file
├── Dev_Notes.md # Development notes
├── HERO_IMAGE_PROMPT.md # Hero image generation prompts
└── FEATURES.md # Feature documentation
🤝 贡献
欢迎投稿!请在提交PR之前阅读我们的投稿指南。
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📝 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🙏 致谢
- 快速MCP -MCP服务器框架
- Next.js -React框架
- 快速API -Python web框架
- Shadcn用户界面 -UI组件
🎨 英雄形象/视频概念
英雄形象生成提示:
Modern SaaS landing page hero image: A sleek, futuristic interface showing code transformation.
On the left: Postman collection JSON file with colorful syntax highlighting.
In the center: An animated arrow/transformation effect with particles and code snippets flowing.
On the right: A clean MCP server code editor with Python syntax, showing "@mcp.tool()" decorators.
Background: Gradient from dark blue to purple, subtle grid pattern.
Style: Clean, modern, tech-focused, professional SaaS aesthetic.
Light rays emanating from the transformation point.
Minimalist, high contrast, suitable for dark mode.
视频动画概念:
Short 10-15 second loop:
1. Postman JSON file fades in (0-2s)
2. Code transformation animation with particles (2-5s)
3. MCP server code appears with syntax highlighting (5-8s)
4. Chat UI overlay appears showing "Messi kaç para?" → "Lionel Messi için tahmini fiyat 100.0M EUR" (8-12s)
5. Smooth fade to logo/branding (12-15s)
6. Loop back to start
📞 支持和链接
- 🌐 现场演示: http://localhost:3000 (在本地运行时)
- 📚 文档:参见 用法 以上章节
- 🐛 问题: GitHub问题
- 💬 讨论: GitHub讨论
- ⭐ 星我们: GitHub 仓库
由...制作❤️ MCPgen团队
在几秒钟内将您的API转换为支持AI的MCP服务器
