🚀 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 集成對從愛好者到企業團隊的每個人都變得觸手可及。