MCP Create Server
Un servicio para crear, ejecutar y gestionar dinámicamente servidores del Protocolo de Contexto de Modelo (MCP).
GitHub
98
Prueba este MCPPatrocinadoDocumentació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.
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 Herramienta | Descripción | Parámetros de Entrada | Salida |
|---|---|---|---|
| create-server-from-template | Crear servidor MCP desde plantilla | language: string | { serverId: string, message: string } |
| execute-tool | Ejecutar herramienta en el servidor | serverId: string toolName: string args: object | Resultado de la ejecución de la herramienta |
| get-server-tools | Obtener lista de herramientas del servidor | serverId: string | { tools: ToolDefinition[] } |
| delete-server | Eliminar servidor | serverId: string | { success: boolean, message: string } |
| list-servers | Obtener lista de servidores en ejecución | none | { 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