MCP-Creator-MCP
Uses .ENV files for configuration management and storing sensitive credentials
Provides GitHub integration for issues, discussions, and wiki documentation
Provides a user-friendly web interface for visual server management and offers Gradio interface templates
Uses Jinja2 for template rendering when creating custom MCP servers
Integrates with Ollama's local AI models to provide AI guidance for MCP server creation
Integrates with OpenAI's API via an API key to provide AI guidance for MCP server creation
Offers Python-based MCP server templates and multi-language support for server creation
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP-Creator-MCPhelp me create a weather data MCP server with Python"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP-Creator-MCP π
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.
π― Vision
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.
Related MCP server: mcp4mcp
β¨ Core Features
π€ AI-Guided Creation: Get intelligent suggestions and best practices tailored to your use case
π Template Library: Curated collection of proven MCP server patterns
π Workflow Engine: Save and reuse creation workflows for consistent results
π¨ Gradio Interface: User-friendly web interface for visual server management
π§ Multi-Language Support: Python, Gradio, and expanding language ecosystem
π Built-in Monitoring: Server health checks and operational visibility
π‘οΈ Best Practices: Automated validation and security recommendations

π Quick Start
Prerequisites
Python 3.10 or higher
uv package manager
Claude Desktop (for MCP integration)
Installation
# 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)Basic Usage
Option 1: As an MCP Server (Recommended)
Configure Claude Desktop:
# Copy the example config cp example_mcp_config.json ~/path/to/claude_desktop_config.json # Edit paths and API keys as neededStart using in Claude Desktop:
Restart Claude Desktop
Use tools like
create_mcp_server,list_templates,get_ai_guidance
Option 2: Standalone Interface
# Launch the Gradio interface
uv run gradio_interface.py
# Or use the CLI
uv run mcp-creator-guiπ Configuration
Environment Variables
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=falseClaude Desktop Integration
Edit your Claude Desktop config (usually at
~/.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"
}
}
}
}Restart Claude Desktop
π οΈ Usage Examples
Creating Your First MCP Server
# 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"]
)Getting AI Guidance
# Ask for specific guidance:
get_ai_guidance(
topic="security",
server_type="database"
)
# Or access guidance resources:
# Use resource: mcp-creator://guidance/samplingManaging Templates
# List available templates
list_templates()
# Filter by language
list_templates(language="python")ποΈ Architecture
Core Principles
Simplicity: Each component has a single, clear responsibility
Predictability: Consistent patterns reduce cognitive load
Extensibility: Modular design enables easy customization
Reliability: Comprehensive error handling and graceful degradation
Component Overview
βββ 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)π Template System
Available Templates
Python Basic: Clean, well-structured foundation
Python with Resources: Database and API integration patterns
Python with Sampling: AI-enhanced server capabilities
Gradio Interface: Interactive UI with MCP integration
Creating Custom Templates
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π Workflow System
Saving Workflows
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"}
}
]
)π§ Development
Project Structure
The codebase follows clean architecture principles:
Separation of Concerns: Each module has a single responsibility
Dependency Injection: Components are loosely coupled
Error Boundaries: Graceful failure handling throughout
Type Safety: Comprehensive type hints and validation
Adding New Templates
Create template directory:
templates/languages/{lang}/{name}/Add
metadata.jsonwith template configurationCreate
template.{ext}.j2with Jinja2 templateTest with the template manager
Contributing
Fork the repository
Create a feature branch with descriptive name
Follow the existing code patterns and style
Add tests for new functionality
Submit a pull request with clear description
π‘οΈ Security & Best Practices
Built-in Protections
Input Validation: All user inputs are validated and sanitized
Process Management: Proper cleanup prevents resource leaks
Error Handling: Graceful failure with helpful messages
Logging: Comprehensive operational visibility
Recommended Practices
Use environment variables for sensitive data
Implement rate limiting for production deployments
Regular security audits of generated servers
Monitor server performance and resource usage
π Troubleshooting
Common Issues
Server won't start:
# Check dependencies
uv add -e .
# Verify configuration
cat .env
# Check logs
tail -f logs/mcp-creator.logClaude Desktop integration:
# Verify config file syntax
python -m json.tool claude_desktop_config.json
# Check server connectivity
python main.py --testTemplate errors:
# List available templates
uv run python -c "from src.mcp_creator import TemplateManager; print(TemplateManager().list_templates())"π Monitoring & Operations
Health Checks
The server provides built-in health monitoring:
Resource usage tracking
Error rate monitoring
Performance metrics
Template validation
Logging
All operations are logged to stderr (MCP compliance):
# View logs in real-time
python main.py 2>&1 | tee mcp-creator.logπ What's Next?
Multi-language expansion: TypeScript, Go, Rust templates
Cloud deployment: Integration with major cloud platforms
Collaboration features: Team workflows and template sharing
Advanced AI: Enhanced code generation and optimization
Marketplace: Community template and workflow ecosystem
π License
MIT License - see LICENSE for details.
π€ Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
π¬ Support
Issues: GitHub Issues
Discussions: GitHub Discussions
Documentation: Wiki
Built with β€οΈ for the MCP community
MCP Creator makes sophisticated AI integrations accessible to everyone, from hobbyists to enterprise teams.
Available Tools
4 toolscreate_mcp_serverB
Create a new MCP server based on specifications.
IMPORTANT NOTES:
- AI sampling (ctx.sample) is not currently supported in Claude Desktop
- Use modern typing: dict, list, str | None instead of Dict, List, Optional
- Generated servers include proper process cleanup and error handling
- All generated code uses working MCP SDK patterns
Args:
name: Name of the MCP server (must be valid Python identifier)
description: Description of what the server does
language: Programming language (python, gradio, typescript)
template_type: Type of template (basic, fastmcp_server)
features: list of features to include (tools, resources, prompts)
output_dir: Output directory (defaults to configured default)
Returns:
Status message with creation details and next steps
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | Yes | ||
| language | No | python | |
| template_type | No | basic | |
| features | No | ||
| output_dir | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It does well by including an 'IMPORTANT NOTES' section that covers platform limitations (AI sampling not supported), coding standards, and implementation details (process cleanup, error handling, SDK patterns). However, it doesn't mention potential side effects like file system changes or whether this is a one-time creation vs. incremental update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, important notes, args, returns) and front-loads the core functionality. However, some sentences in the 'IMPORTANT NOTES' section could be more concise, and the parameter explanations vary in detail level, making it slightly uneven.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter creation tool with no annotations and no output schema, the description provides adequate coverage of what the tool does and its parameters. The 'Returns' section helps compensate for the missing output schema. However, it lacks information about error conditions, validation rules, or what happens when creation fails, which would be important for a tool that modifies the environment.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The 'Args' section provides meaningful explanations for all 6 parameters, adding value beyond the bare schema. However, some explanations are minimal (e.g., 'Description of what the server does') and don't clarify constraints like what makes a 'valid Python identifier' or the implications of different 'language' choices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Create a new MCP server based on specifications.' It specifies the verb ('create') and resource ('MCP server'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'list_templates' or 'save_workflow', which would be needed for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While it mentions 'template_type' and 'features' parameters, it doesn't explain when to choose 'basic' vs 'fastmcp_server' templates or what 'tools, resources, prompts' features entail. There's no mention of prerequisites or comparison with sibling tools like 'list_templates'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ai_guidanceA
Get structured guidance for MCP server development.
IMPORTANT NOTES:
- AI sampling (ctx.sample) is NOT currently supported in Claude Desktop
- Use modern typing: dict, list, str | None instead of Dict, List, Optional
- Always implement proper process cleanup and signal handling
- Follow MCP SDK patterns for tools, resources, and prompts
This tool provides structured, deterministic guidance instead of AI-generated content.
For dynamic AI assistance, use Claude Desktop's built-in capabilities directly.
Args:
topic: Topic to get guidance on (best_practices, security, performance, typing, etc.)
server_type: Type of server for contextualized advice
Returns:
Structured guidance and recommendations with working code patterns
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | ||
| server_type | No | general |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context: the tool is deterministic (not AI-generated), provides structured guidance with code patterns, and includes important notes on limitations (e.g., AI sampling not supported). However, it lacks details on permissions, rate limits, or error handling, which are important for a guidance tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized but not optimally structured. It front-loads the purpose but includes a lengthy 'IMPORTANT NOTES' section that, while relevant, could be more integrated. The sentences earn their place, but the flow could be improved for better readability and focus on the tool's core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters, no output schema, no annotations), the description is moderately complete. It covers purpose, usage, and parameter semantics adequately but lacks details on output format (beyond 'structured guidance'), error cases, or examples. For a guidance tool with no output schema, more information on return values would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It adds meaning by explaining 'topic' as 'Topic to get guidance on (best_practices, security, performance, typing, etc.)' and 'server_type' as 'Type of server for contextualized advice,' which clarifies their purposes beyond the schema's basic titles. However, it doesn't provide examples or constraints for these parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get structured guidance for MCP server development' and specifies it provides 'structured, deterministic guidance instead of AI-generated content.' This distinguishes it from AI-generated assistance but doesn't explicitly differentiate it from sibling tools like 'create_mcp_server' or 'list_templates' in terms of guidance vs. creation/listing functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool: for 'structured, deterministic guidance' on MCP server development topics. It explicitly states 'For dynamic AI assistance, use Claude Desktop's built-in capabilities directly,' offering an alternative. However, it doesn't specify when NOT to use it relative to sibling tools like 'create_mcp_server' or 'save_workflow.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_templatesC
list available templates for MCP server creation.
Args:
language: Filter by language (optional)
Returns:
Formatted list of available templates
| Name | Required | Description | Default |
|---|---|---|---|
| language | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool lists templates and returns a formatted list, but it doesn't cover important aspects like whether this is a read-only operation, potential side effects, error handling, or performance considerations. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a clear purpose statement followed by brief sections for arguments and returns. It avoids unnecessary words and is front-loaded with the main functionality. However, it could be slightly more efficient by integrating the optional note into the purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It covers the basic purpose and parameter but misses behavioral details, usage context, and output specifics. For a tool with no structured support, the description should provide more comprehensive guidance to be fully helpful to an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds some value beyond the input schema by explaining that the 'language' parameter is optional and used for filtering. However, with 0% schema description coverage and only one parameter, the description doesn't fully compensateβit lacks details on format, constraints, or examples. Since there's only one parameter, the baseline is higher, but the information provided is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'list available templates for MCP server creation.' This specifies the verb ('list'), resource ('templates'), and context ('for MCP server creation'), making it easy to understand what the tool does. However, it doesn't explicitly distinguish this tool from its siblings (e.g., create_mcp_server, get_ai_guidance, save_workflow), which would be needed for a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance. It mentions an optional 'language' filter but doesn't explain when to use this tool versus alternatives like create_mcp_server or other siblings. There's no context on prerequisites, typical scenarios, or exclusions, leaving the agent with little direction on appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_workflowC
Save a creation workflow for reuse.
Args:
name: Workflow name
description: Workflow description
steps: list of workflow steps
Returns:
Confirmation message
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | Yes | ||
| steps | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'save' implies a write operation but doesn't cover permissions, idempotency, error handling, or what 'confirmation message' entails. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose in the first sentence. The Args and Returns sections are structured but could be more integrated; overall, it's efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, parameter constraints, error cases, and the nature of the return value, making it insufficient for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter descriptions. The description lists parameters (name, description, steps) and adds that steps are a 'list of workflow steps', offering some semantic value beyond the bare schema. However, it doesn't detail format, constraints, or examples, leaving significant gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'save' and resource 'creation workflow' with the purpose 'for reuse', making the tool's function understandable. However, it doesn't differentiate from sibling tools like 'list_templates' or 'create_mcp_server', which might be related to workflow management, so it doesn't achieve full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list_templates' or 'create_mcp_server'. It mentions 'for reuse' but doesn't specify prerequisites, timing, or exclusions, leaving the agent with minimal context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
- First observed
create_mcp_server - First observed
get_ai_guidance - First observed
list_templates - First observed
save_workflow
TDQS
Each tool has a clearly distinct purpose with no overlap: create_mcp_server generates new servers, get_ai_guidance provides development advice, list_templates shows available templates, and save_workflow stores reusable workflows. The descriptions reinforce these distinct functions, making tool selection unambiguous.
Three tools follow a consistent verb_noun pattern (create_mcp_server, list_templates, save_workflow), while get_ai_guidance uses a get_noun pattern that slightly deviates. The naming is still readable and predictable, with only minor inconsistency in verb choice.
Four tools is well-scoped for an MCP creation assistant, covering the core workflow: creating servers, getting guidance, listing templates, and saving workflows. Each tool earns its place without redundancy or obvious gaps in this focused domain.
The toolset covers the main MCP creation lifecycle: planning (guidance), setup (templates), execution (creation), and reuse (workflow saving). A minor gap exists in managing or modifying existing servers (e.g., update or delete operations), but agents can work around this given the server's focused scope.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for generating rough-draft project plans from natural-language prompts.
A MCP server built for developers enabling Git based project management with project and personalβ¦
Create, deploy, and operate MCP servers directly from your GitHub repositories.
Related MCP Servers
- AlicenseBqualityCmaintenanceAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.1132103MIT
- AlicenseNot gradedqualityDmaintenanceA Meta MCP Server that provides persistent memory and intelligent guidance for MCP development projects.-
- -licenseNot gradedqualityNot gradedmaintenanceAn MCP server that enables developers to summon AI development team agents directly from their IDE to help with tasks like PR reviews, security evaluation, and CI/CD deployment setup.-
- FlicenseAqualityCmaintenanceA robust MCP server with tools to search, install, configure, repair, and uninstall MCP servers, automating setup and maintenance across multiple AI and developer tools.417-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/angrysky56/mcp-creator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server