MCP Create Server

Um serviço para criar, executar e gerenciar dinamicamente servidores do Model Context Protocol (MCP).

Documentação

MCP Create Server

Um serviço dinâmico de gerenciamento de servidores MCP que cria, executa e gerencia servidores do Model Context Protocol (MCP) dinamicamente. Este serviço funciona como um servidor MCP e inicia/gerencia outros servidores MCP como processos filhos, permitindo um ecossistema MCP flexível.

Create Server MCP server

Principais Recursos

  • Criação e execução dinâmica de código de servidor MCP
  • Suporte apenas para TypeScript (suporte a JavaScript e Python planejado para versões futuras)
  • Execução de ferramentas em servidores MCP filhos
  • Atualizações e reinicializações de código do servidor
  • Remoção de servidores desnecessários

Instalação

Nota: Docker é a forma recomendada de executar este serviço

Instalação com Docker (Recomendada)

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

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

Instalação Manual (Somente 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

Integração com Claude Desktop

Adicione o seguinte ao seu arquivo de configuração do Claude Desktop (claude_desktop_config.json):

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

Ferramentas Disponíveis

Nome da FerramentaDescriçãoParâmetros de EntradaSaída
create-server-from-templateCriar servidor MCP a partir de modelolanguage: string{ serverId: string, message: string }
execute-toolExecutar ferramenta no servidorserverId: string
toolName: string
args: object
Resultado da execução da ferramenta
get-server-toolsObter lista de ferramentas do servidorserverId: string{ tools: ToolDefinition[] }
delete-serverExcluir servidorserverId: string{ success: boolean, message: string }
list-serversObter lista de servidores em execuçãonenhum{ servers: string[] }

Exemplos de Uso

Criando um Novo Servidor

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

Executando uma Ferramenta

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

Especificações Técnicas

  • Node.js 18 ou superior
  • TypeScript (obrigatório)
  • Dependências:
    • @modelcontextprotocol/sdk: implementação de cliente/servidor MCP
    • child_process (integrado ao Node.js): gerenciamento de processos filhos
    • fs/promises (integrado ao Node.js): operações de arquivo
    • uuid: geração de IDs únicos de servidor

Considerações de Segurança

  • Restrições de Execução de Código: Considere o uso de sandbox, pois o serviço executa código arbitrário
  • Limitações de Recursos: Defina limites de memória, uso de CPU, número de arquivos, etc.
  • Monitoramento de Processos: Monitore e encerre à força processos zumbis ou fora de controle
  • Validação de Caminhos: Valide adequadamente os caminhos de arquivo para prevenir ataques de travessia de diretório

Licença

MIT