MCP Create Server

Un servicio para crear, ejecutar y gestionar dinámicamente servidores del Protocolo de Contexto de Modelo (MCP).

Documentación

MCP Create Server

Un servicio dinámico de gestión de servidores MCP que crea, ejecuta y gestiona servidores del Protocolo de Contexto de Modelo (MCP) de forma dinámica. Este servicio funciona en sí mismo como un servidor MCP y lanza/gestiona otros servidores MCP como procesos hijos, habilitando un ecosistema MCP flexible.

Create Server MCP server

Características Clave

  • Creación y ejecución dinámica de código de servidores MCP
  • Soporte solo para TypeScript (soporte para JavaScript y Python planificado para versiones futuras)
  • Ejecución de herramientas en servidores MCP hijos
  • Actualización y reinicio del código del servidor
  • Eliminación de servidores innecesarios

Instalación

Nota: Docker es la forma recomendada de ejecutar este servicio

Instalación con Docker (Recomendada)

# Build Docker image
docker build -t mcp-create .

# Run Docker container
docker run -it --rm mcp-create

Instalación Manual (Solo TypeScript)

# Clone repository
git clone https://github.com/tesla0225/mcp-create.git
cd mcp-create

# Install dependencies
npm install

# Build
npm run build

# Run
npm start

Integración con Claude Desktop

Agregue lo siguiente a su archivo de configuración de Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "mcp-create": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp-create"]
    }
  }
}

Herramientas Disponibles

Nombre de la HerramientaDescripciónParámetros de EntradaSalida
create-server-from-templateCrear servidor MCP desde plantillalanguage: string{ serverId: string, message: string }
execute-toolEjecutar herramienta en el servidorserverId: string
toolName: string
args: object
Resultado de la ejecución de la herramienta
get-server-toolsObtener lista de herramientas del servidorserverId: string{ tools: ToolDefinition[] }
delete-serverEliminar servidorserverId: string{ success: boolean, message: string }
list-serversObtener lista de servidores en ejecuciónnone{ servers: string[] }

Ejemplos de Uso

Creando un Nuevo Servidor

{
  "name": "create-server-from-template",
  "arguments": {
    "language": "typescript"
  }
}

Ejecutando una Herramienta

{
  "name": "execute-tool",
  "arguments": {
    "serverId": "ba7c9a4f-6ba8-4cad-8ec8-a41a08c19fac",
    "toolName": "echo",
    "args": {
      "message": "Hello, dynamic MCP server!"
    }
  }
}

Especificaciones Técnicas

  • Node.js 18 o superior
  • TypeScript (requerido)
  • Dependencias:
    • @modelcontextprotocol/sdk: Implementación de cliente/servidor MCP
    • child_process (integrado en Node.js): Gestión de procesos hijos
    • fs/promises (integrado en Node.js): Operaciones de archivos
    • uuid: Generación de ID único de servidor

Consideraciones de Seguridad

  • Restricciones de Ejecución de Código: Considere el uso de sandboxing, ya que el servicio ejecuta código arbitrario
  • Límites de Recursos: Establezca límites en memoria, uso de CPU, número de archivos, etc.
  • Monitoreo de Procesos: Monitoree y termine por la fuerza procesos zombis o descontrolados
  • Validación de Rutas: Valide adecuadamente las rutas de archivos para prevenir ataques de traversal de directorios

Licencia

MIT