MCP-Creator-MCP

Crea nuevos servidores MCP utilizando flujos de trabajo guiados por IA y plantillas inteligentes.

Documentación

MCP-Creator-MCP 🚀

Un servidor meta-MCP que democratiza la creación de servidores MCP mediante flujos de trabajo guiados por IA y plantillas inteligentes.

Transforma ideas vagas en servidores MCP listos para producción con un esfuerzo cognitivo mínimo y una elegancia estructural máxima.

🎯 Visión

Crear servidores MCP debería ser tan simple como describir lo que quieres. MCP Creator une la brecha entre la idea y la implementación, proporcionando guía inteligente, plantillas probadas y flujos de trabajo optimizados.

✨ Características Principales

  • 🤖 Creación Guiada por IA: Obtén sugerencias inteligentes y mejores prácticas adaptadas a tu caso de uso
  • 📚 Biblioteca de Plantillas: Colección curada de patrones probados de servidores MCP
  • 🔄 Motor de Flujos de Trabajo: Guarda y reutiliza flujos de creación para resultados consistentes
  • 🎨 Interfaz Gradio: Interfaz web amigable para la gestión visual de servidores
  • 🔧 Soporte Multi-Lenguaje: Python, Gradio y un ecosistema de lenguajes en expansión
  • 📊 Monitoreo Integrado: Verificaciones de salud del servidor y visibilidad operativa
  • 🛡️ Mejores Prácticas: Validación automatizada y recomendaciones de seguridad

alt text

🚀 Inicio Rápido

Prerrequisitos

  • Python 3.10 o superior
  • Administrador de paquetes uv
  • Claude Desktop (para integración MCP)

Instalación

# 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)

Uso Básico

Opción 1: Como Servidor MCP (Recomendado)

  1. Configura 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. Comienza a usarlo en Claude Desktop:

    • Reinicia Claude Desktop
    • Usa herramientas como create_mcp_server, list_templates, get_ai_guidance

Opción 2: Interfaz Independiente

# Launch the Gradio interface
uv run gradio_interface.py

# Or use the CLI
uv run mcp-creator-gui

📖 Configuración

Variables de Entorno

Crea un archivo .env con tu configuración:

# 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

Integración con Claude Desktop

  1. Edita tu configuración de Claude Desktop (generalmente en ~/.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. Reinicia Claude Desktop

🛠️ Ejemplos de Uso

Creando Tu Primer Servidor MCP

# 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"]
)

Obteniendo Guía de IA

# Ask for specific guidance:
get_ai_guidance(
    topic="security",
    server_type="database"
)

# Or access guidance resources:
# Use resource: mcp-creator://guidance/sampling

Gestionando Plantillas

# List available templates
list_templates()

# Filter by language
list_templates(language="python")

🏗️ Arquitectura

Principios Fundamentales

  • Simplicidad: Cada componente tiene una responsabilidad única y clara
  • Predictibilidad: Patrones consistentes reducen la carga cognitiva
  • Extensibilidad: Diseño modular permite una fácil personalización
  • Confiabilidad: Manejo integral de errores y degradación elegante

Resumen de Componentes

├── 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)

📚 Sistema de Plantillas

Plantillas Disponibles

  • Python Básico: Base limpia y bien estructurada
  • Python con Recursos: Patrones de integración de bases de datos y APIs
  • Python con Muestreo: Capacidades de servidor mejoradas con IA
  • Interfaz Gradio: UI interactiva con integración MCP

Creando Plantillas Personalizadas

Las plantillas usan Jinja2 con abstracciones limpias:

# Template structure
templates/languages/{language}/{template_name}/
├── metadata.json          # Template configuration
├── template.py.j2        # Main template file
└── README.md.j2          # Documentation template

🔄 Sistema de Flujos de Trabajo

Guardando Flujos de Trabajo

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"}
        }
    ]
)

🔧 Desarrollo

Estructura del Proyecto

El código base sigue principios de arquitectura limpia:

  • Separación de Preocupaciones: Cada módulo tiene una responsabilidad única
  • Inyección de Dependencias: Los componentes están débilmente acoplados
  • Límites de Error: Manejo elegante de fallos en todo el sistema
  • Seguridad de Tipos: Sugerencias de tipo y validación integrales

Agregando Nuevas Plantillas

  1. Crea el directorio de plantillas: templates/languages/{lang}/{name}/
  2. Agrega metadata.json con la configuración de la plantilla
  3. Crea template.{ext}.j2 con la plantilla Jinja2
  4. Prueba con el administrador de plantillas

Contribuyendo

  1. Haz un fork del repositorio
  2. Crea una rama de características con un nombre descriptivo
  3. Sigue los patrones y estilos de código existentes
  4. Agrega pruebas para la nueva funcionalidad
  5. Envía una solicitud de extracción con una descripción clara

🛡️ Seguridad y Mejores Prácticas

Protecciones Integradas

  • Validación de Entrada: Todas las entradas de usuario son validadas y saneadas
  • Gestión de Procesos: La limpieza adecuada previene fugas de recursos
  • Manejo de Errores: Fallos elegantes con mensajes útiles
  • Registro: Visibilidad operativa integral

Prácticas Recomendadas

  • Usa variables de entorno para datos sensibles
  • Implementa limitación de velocidad para despliegues de producción
  • Auditorías de seguridad regulares de los servidores generados
  • Monitorea el rendimiento del servidor y el uso de recursos

🐛 Solución de Problemas

Problemas Comunes

El servidor no inicia:

# Check dependencies
uv add -e .

# Verify configuration
cat .env

# Check logs
tail -f logs/mcp-creator.log

Integración con Claude Desktop:

# Verify config file syntax
python -m json.tool claude_desktop_config.json

# Check server connectivity
python main.py --test

Errores de plantillas:

# List available templates
uv run python -c "from src.mcp_creator import TemplateManager; print(TemplateManager().list_templates())"

📊 Monitoreo y Operaciones

Verificaciones de Salud

El servidor proporciona monitoreo de salud integrado:

  • Seguimiento del uso de recursos
  • Monitoreo de tasas de error
  • Métricas de rendimiento
  • Validación de plantillas

Registro

Todas las operaciones se registran en stderr (cumplimiento MCP):

# View logs in real-time
python main.py 2>&1 | tee mcp-creator.log

🚀 ¿Qué Sigue?

  • Expansión multi-lenguaje: Plantillas TypeScript, Go, Rust
  • Despliegue en la nube: Integración con las principales plataformas en la nube
  • Funciones de colaboración: Flujos de trabajo en equipo y compartición de plantillas
  • IA avanzada: Generación y optimización de código mejoradas
  • Mercado: Ecosistema comunitario de plantillas y flujos de trabajo

📝 Licencia

Licencia MIT - consulta LICENSE para más detalles.

🤝 Contribuciones

¡Damos la bienvenida a contribuciones! Consulta CONTRIBUTING.md para las pautas.

💬 Soporte


Construido con ❤️ para la comunidad MCP

MCP Creator hace que las integraciones sofisticadas de IA sean accesibles para todos, desde aficionados hasta equipos empresariales.