
MCP Creator
HTTP-SSESTDIOAI-guided MCP server creation through intelligent templates and workflows
AI-guided MCP server creation through intelligent templates and workflows
A meta-MCP server that democratizes MCP server creation through AI-guided workflows and intelligent templates.
Transform vague ideas into production-ready MCP servers with minimal cognitive overhead and maximum structural elegance.
Creating MCP servers should be as simple as describing what you want. MCP Creator bridges the gap between idea and implementation, providing intelligent guidance, proven templates, and streamlined workflows.
# Clone and set up the project git clone https://github.com/angrysky56/mcp-creator-mcp.git cd mcp-creator-mcp # Create and activate virtual environment uv venv --python 3.12 --seed source .venv/bin/activate # Install dependencies uv add -e . # Configure environment cp .env.example .env # Edit .env with your API keys (see Configuration section)
Configure Claude Desktop:
# Copy the example config cp example_mcp_config.json ~/path/to/claude_desktop_config.json # Edit paths and API keys as needed
Start using in Claude Desktop:
create_mcp_server
, list_templates
, get_ai_guidance
# Launch the Gradio interface uv run gradio_interface.py # Or use the CLI uv run mcp-creator-gui
Create a .env
file with your settings:
# AI Model Providers (at least one required for AI guidance) ANTHROPIC_API_KEY=your_anthropic_key_here OPENAI_API_KEY=your_openai_key_here OLLAMA_BASE_URL=http://localhost:11434 # MCP Creator Settings DEFAULT_OUTPUT_DIR=./mcp_servers LOG_LEVEL=INFO # Gradio Interface GRADIO_SERVER_PORT=7860 GRADIO_SHARE=false
~/.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" } } } }
# In Claude Desktop, ask: "Create an MCP server called 'weather_helper' that provides weather data and forecasts" # Or use the tool directly: create_mcp_server( name="weather_helper", description="Provides weather data and forecasts", language="python", template_type="basic", features=["tools", "resources"] )
# Ask for specific guidance: get_ai_guidance( topic="security", server_type="database" ) # Or access guidance resources: # Use resource: mcp-creator://guidance/sampling
# List available templates list_templates() # Filter by language list_templates(language="python")
├── src/mcp_creator/
│ ├── core/ # Core server functionality
│ │ ├── config.py # Clean configuration management
│ │ ├── template_manager.py # Template system
│ │ └── server_generator.py # Server creation engine
│ ├── workflows/ # Workflow management
│ ├── ai_guidance/ # AI assistance system
│ └── utils/ # Shared utilities
├── templates/ # Template library
├── ai_guidance/ # Guidance content
└── mcp_servers/ # Generated servers (default)
Templates use Jinja2 with clean abstractions:
# Template structure templates/languages/{language}/{template_name}/ ├── metadata.json # Template configuration ├── template.py.j2 # Main template file └── README.md.j2 # Documentation template
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"} } ] )
The codebase follows clean architecture principles:
templates/languages/{lang}/{name}/
metadata.json
with template configurationtemplate.{ext}.j2
with Jinja2 templateServer won't start:
# Check dependencies uv add -e . # Verify configuration cat .env # Check logs tail -f logs/mcp-creator.log
Claude Desktop integration:
# Verify config file syntax python -m json.tool claude_desktop_config.json # Check server connectivity python main.py --test
Template errors:
# List available templates uv run python -c "from src.mcp_creator import TemplateManager; print(TemplateManager().list_templates())"
The server provides built-in health monitoring:
All operations are logged to stderr (MCP compliance):
# View logs in real-time python main.py 2>&1 | tee mcp-creator.log
MIT License - see LICENSE for details.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Built with ❤️ for the MCP community
MCP Creator makes sophisticated AI integrations accessible to everyone, from hobbyists to enterprise teams.