Servidor de creación de MCP
Un servicio dinámico de administración de servidores MCP que crea, ejecuta y administra servidores MCP dinámicamente. Este servicio funciona como un servidor MCP y ejecuta y administra otros servidores MCP como procesos secundarios, lo que permite un ecosistema MCP flexible.
Características principales
Creación y ejecución dinámica de código de servidor MCP
Soporte solo para TypeScript (se planea soporte para JavaScript y Python para futuras versiones)
Ejecución de herramientas en servidores MCP secundarios
El código del servidor se actualiza y reinicia
Eliminación de servidores innecesarios
Related MCP server: MCP Server
Instalación
Nota: Docker es la forma recomendada de ejecutar este servicio.
Instalación de Docker (recomendada)
# Build Docker image
docker build -t mcp-create .
# Run Docker container
docker run -it --rm mcp-createInstalació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 startIntegració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 herramienta | Descripción | Parámetros de entrada | Producción |
crear-servidor-a-partir-de-plantilla | Crear un servidor MCP a partir de una plantilla | idioma: cadena | { serverId: cadena, mensaje: cadena } |
herramienta de ejecución | Ejecutar herramienta en el servidor | serverId: stringtoolName: stringargs: objeto | Resultado de la ejecución de la herramienta |
obtener herramientas del servidor | Obtener lista de herramientas del servidor | serverId: cadena | { herramientas: ToolDefinition[] } |
eliminar servidor | Eliminar servidor | serverId: cadena | { éxito: booleano, mensaje: cadena } |
servidores de listas | Obtener la lista de servidores en ejecución | ninguno | { servidores: cadena[] } |
Ejemplos de uso
Creando un nuevo servidor
{
"name": "create-server-from-template",
"arguments": {
"language": "typescript"
}
}Ejecución de 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 (obligatorio)
Dependencias:
@modelcontextprotocol/sdk: Implementación de cliente/servidor MCP
child_process (integrado en Node.js): gestión de procesos secundarios
fs/promises (integrado en Node.js): Operaciones con archivos
uuid: Generación de ID de servidor único
Consideraciones de seguridad
Restricciones de ejecución de código: considere el uso de un entorno aislado mientras el servicio ejecuta código arbitrario
Limitaciones de recursos: establezca límites en la memoria, el uso de la CPU, la cantidad de archivos, etc.
Monitoreo de procesos: Monitorear y terminar forzosamente procesos zombi o descontrolados
Validación de ruta: valide correctamente las rutas de archivos para evitar ataques de recorrido de directorio
Licencia
Instituto Tecnológico de Massachusetts (MIT)