🚀 MCP-Creator-MCP 🚀
MCP-Creator-MCP 是一个元 MCP 服务器,它通过 AI 引导的工作流程和智能模板,让 MCP 服务器的创建变得民主化。它能以最小的认知负担和最大的结构优雅性,将模糊的想法转化为可投入生产的 MCP 服务器。
🚀 快速开始
前提条件
- Python 3.10 或更高版本
- uv 包管理器
- Claude Desktop(用于 MCP 集成)
安装
git clone https://github.com/angrysky56/mcp-creator-mcp.git
cd mcp-creator-mcp
uv venv --python 3.12 --seed
source .venv/bin/activate
uv add -e .
cp .env.example .env
基本用法
选项 1:作为 MCP 服务器(推荐)
-
配置 Claude Desktop:
cp example_mcp_config.json ~/path/to/claude_desktop_config.json
-
在 Claude Desktop 中开始使用:
- 重启 Claude Desktop
- 使用
create_mcp_server
、list_templates
、get_ai_guidance
等工具
选项 2:独立界面
uv run gradio_interface.py
uv run mcp-creator-gui
✨ 主要特性
- 🤖 AI 引导创建:根据您的用例获得智能建议和最佳实践
- 📚 模板库:精心策划的经过验证的 MCP 服务器模式集合
- 🔄 工作流引擎:保存和重用创建工作流以获得一致的结果
- 🎨 Gradio 界面:用户友好的 Web 界面,用于可视化服务器管理
- 🔧 多语言支持:支持 Python、Gradio,并不断扩展语言生态系统
- 📊 内置监控:服务器健康检查和操作可见性
- 🛡️ 最佳实践:自动验证和安全建议
📖 详细文档
配置
环境变量
创建一个 .env
文件并设置您的配置:
# AI 模型提供商(AI 引导至少需要一个)
ANTHROPIC_API_KEY=your_anthropic_key_here
OPENAI_API_KEY=your_openai_key_here
OLLAMA_BASE_URL=http://localhost:11434
# MCP 创建器设置
DEFAULT_OUTPUT_DIR=./mcp_servers
LOG_LEVEL=INFO
# Gradio 界面
GRADIO_SERVER_PORT=7860
GRADIO_SHARE=false
Claude Desktop 集成
- 编辑您的 Claude Desktop 配置(通常位于
~/.config/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"mcp-creator": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-creator-mcp",
"run",
"python",
"main.py"
],
"env": {
"ANTHROPIC_API_KEY": "your_key_here"
}
}
}
}
- 重启 Claude Desktop
💻 使用示例
创建您的第一个 MCP 服务器
"Create an MCP server called 'weather_helper' that provides weather data and forecasts"
create_mcp_server(
name="weather_helper",
description="Provides weather data and forecasts",
language="python",
template_type="basic",
features=["tools", "resources"]
)
获取 AI 指导
get_ai_guidance(
topic="security",
server_type="database"
)
管理模板
list_templates()
list_templates(language="python")
🔧 技术细节
架构
核心原则
- 简单性:每个组件都有单一、明确的职责
- 可预测性:一致的模式减少认知负担
- 可扩展性:模块化设计便于轻松定制
- 可靠性:全面的错误处理和优雅降级
组件概述
├── src/mcp_creator/
│ ├── core/ # 核心服务器功能
│ │ ├── config.py # 简洁的配置管理
│ │ ├── template_manager.py # 模板系统
│ │ └── server_generator.py # 服务器创建引擎
│ ├── workflows/ # 工作流管理
│ ├── ai_guidance/ # AI 辅助系统
│ └── utils/ # 共享实用工具
├── templates/ # 模板库
├── ai_guidance/ # 指导内容
└── mcp_servers/ # 生成的服务器(默认)
模板系统
可用模板
- Python 基础:简洁、结构良好的基础模板
- 带资源的 Python:数据库和 API 集成模式
- 带采样的 Python:具有 AI 增强功能的服务器能力
- Gradio 界面:与 MCP 集成的交互式用户界面
创建自定义模板
模板使用 Jinja2 并具有简洁的抽象:
templates/languages/{language}/{template_name}/
├── metadata.json
├── template.py.j2
└── README.md.j2
工作流系统
保存工作流
save_workflow(
name="Database MCP Server",
description="Complete database integration workflow",
steps=[
{
"id": "collect_requirements",
"type": "input",
"config": {"fields": ["db_type", "connection_string"]}
},
{
"id": "security_review",
"type": "ai_guidance",
"config": {"topic": "database_security"}
},
{
"id": "generate_server",
"type": "generation",
"config": {"template": "python:database"}
}
]
)
开发
项目结构
代码库遵循简洁的架构原则:
- 关注点分离:每个模块都有单一的职责
- 依赖注入:组件之间松耦合
- 错误边界:整个系统具有优雅的故障处理
- 类型安全:全面的类型提示和验证
添加新模板
- 创建模板目录:
templates/languages/{lang}/{name}/
- 添加
metadata.json
并配置模板
- 使用 Jinja2 创建
template.{ext}.j2
模板
- 使用模板管理器进行测试
贡献
- 分叉仓库
- 创建一个具有描述性名称的功能分支
- 遵循现有的代码模式和风格
- 为新功能添加测试
- 提交一个带有清晰描述的拉取请求
安全与最佳实践
内置保护
- 输入验证:所有用户输入都经过验证和清理
- 进程管理:正确清理以防止资源泄漏
- 错误处理:优雅失败并提供有用的消息
- 日志记录:全面的操作可见性
推荐实践
- 使用环境变量存储敏感数据
- 为生产部署实现速率限制
- 定期对生成的服务器进行安全审计
- 监控服务器性能和资源使用情况
故障排除
常见问题
服务器无法启动:
uv add -e .
cat .env
tail -f logs/mcp-creator.log
Claude Desktop 集成问题:
python -m json.tool claude_desktop_config.json
python main.py --test
模板错误:
uv run python -c "from src.mcp_creator import TemplateManager; print(TemplateManager().list_templates())"
监控与操作
健康检查
服务器提供内置的健康监控:
日志记录
所有操作都记录到 stderr(符合 MCP 规范):
python main.py 2>&1 | tee mcp-creator.log
🚀 未来规划
- 多语言扩展:支持 TypeScript、Go、Rust 模板
- 云部署:与主要云平台集成
- 协作功能:团队工作流和模板共享
- 高级 AI:增强代码生成和优化
- 市场:社区模板和工作流生态系统
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE。
🤝 贡献
我们欢迎贡献!请参阅 CONTRIBUTING.md 了解贡献指南。
💬 支持
为 MCP 社区用心打造 ❤️
MCP Creator 让复杂的 AI 集成对从爱好者到企业团队的每个人都变得触手可及。