Skip to main content
Glama

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

alt text

πŸš€ 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

  1. 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
  2. Start 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=false

Claude Desktop Integration

  1. 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"
      }
    }
  }
}
  1. 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/sampling

Managing 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

  1. Create template directory: templates/languages/{lang}/{name}/

  2. Add metadata.json with template configuration

  3. Create template.{ext}.j2 with Jinja2 template

  4. Test with the template manager

Contributing

  1. Fork the repository

  2. Create a feature branch with descriptive name

  3. Follow the existing code patterns and style

  4. Add tests for new functionality

  5. 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

  • 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.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())"

πŸ“Š 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


Built with ❀️ for the MCP community

MCP Creator makes sophisticated AI integrations accessible to everyone, from hobbyists to enterprise teams.

Available Tools

4 tools
create_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
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionYes
languageNopython
template_typeNobasic
featuresNo
output_dirNo

TDQS

B3.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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
ParametersJSON Schema
NameRequiredDescriptionDefault
topicYes
server_typeNogeneral

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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
ParametersJSON Schema
NameRequiredDescriptionDefault
languageNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionYes
stepsYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 4 tool updates
    • First observedcreate_mcp_server
    • First observedget_ai_guidance
    • First observedlist_templates
    • First observedsave_workflow

TDQS

A3.5/5.0
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Meta MCP Server that provides persistent memory and intelligent guidance for MCP development projects.
    -
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An 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.
    -
  • F
    license
    A
    quality
    C
    maintenance
    A robust MCP server with tools to search, install, configure, repair, and uninstall MCP servers, automating setup and maintenance across multiple AI and developer tools.
    4
    17
    -

Latest Blog Posts

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