Forge MCP Server
Integre com a API do Laravel Forge para gerenciar servidores e implantações usando ferramentas compatíveis com MCP.
Documentação
Forge MCP Server
Este é um servidor Model Context Protocol (MCP) para integração com o Laravel Forge. Ele fornece acesso abrangente à API oficial do Laravel Forge por meio de ferramentas compatíveis com MCP, permitindo gerenciamento contínuo de servidores e sites.
Para mais informações sobre a API do Laravel Forge, consulte a documentação oficial da API.
Recursos
- Servidor compatível com MCP
- Integração abrangente com a API do Laravel Forge
- Ferramenta de verificação de saúde:
test_connection - Ampla cobertura de ferramentas para gerenciamento de servidores e sites
- Construído sobre a API oficial do Laravel Forge
Pré-requisitos
- Node.js (v18+ recomendado)
- npm (v9+ recomendado)
Configuração e Uso
Uma chave de API do Forge é obrigatória para todas as invocações de ferramentas do Forge. Você deve fornecê-la como:
- a variável de ambiente
FORGE_API_KEY, ou - o argumento de linha de comando
--api-key
Uso com Claude Desktop
Adicione o seguinte ao seu claude_desktop_config.json. Consulte aqui para mais detalhes.
Opção 1: Usando npx (Recomendado)
Usando variável de ambiente:
{
"mcpServers": {
"forge-mcp": {
"command": "npx",
"args": [
"-y",
"@ranium/forge-mcp"
],
"env": {
"FORGE_API_KEY": "your_forge_api_key_here"
}
}
}
}
Usando argumento de linha de comando:
{
"mcpServers": {
"forge-mcp": {
"command": "npx",
"args": [
"-y",
"@ranium/forge-mcp",
"--api-key=your_forge_api_key_here"
]
}
}
}
Opção 2: Usando node diretamente
Primeiro, clone o repositório e compile o projeto:
git clone https://github.com/ranium/forge-mcp-server
cd forge_mcp
npm install
npm run build
Em seguida, adicione o seguinte ao seu claude_desktop_config.json:
Usando variável de ambiente:
{
"mcpServers": {
"forge-mcp": {
"command": "node",
"args": [
"/path/to/forge_mcp/dist/server.js"
],
"env": {
"FORGE_API_KEY": "your_forge_api_key_here"
}
}
}
}
Usando argumento de linha de comando:
{
"mcpServers": {
"forge-mcp": {
"command": "node",
"args": [
"/path/to/forge_mcp/dist/server.js",
"--api-key=your_forge_api_key_here"
]
}
}
}
Nota: Você pode usar a variável de ambiente FORGE_API_KEY ou o argumento --api-key. Se ambos forem fornecidos, o argumento de linha de comando tem precedência. Nunca envie suas chaves de API reais para o controle de versão. Use variáveis de ambiente ou gerenciamento de segredos em produção.
Categorias de Ferramentas e Controle de Acesso
Todas as ferramentas são agrupadas em duas categorias:
- Readonly: Operações seguras e sem modificação (ex.: listagem, visualização, verificações de status).
- Write: Operações que criam ou modificam recursos (ex.: criar, atualizar, reiniciar, ativar/desativar recursos).
Por padrão, apenas ferramentas readonly estão habilitadas. Para habilitar ferramentas de escrita, use a flag --tools:
--tools=readonly(padrão)--tools=readonly,write(habilita ferramentas readonly e de escrita)
Exemplo:
npx -y @ranium/forge-mcp --api-key=your_forge_api_key_here --tools=readonly,write
Ou em claude_desktop_config.json:
{
"mcpServers": {
"forge-mcp": {
"command": "npx",
"args": [
"-y",
"@ranium/forge-mcp",
"--api-key=your_forge_api_key_here",
"--tools=readonly,write"
]
}
}
}
Ferramentas Disponíveis (por Categoria)
Ferramentas Readonly
list_servers- Listar todos os servidoreslist_static_php_versions- Listar versões estáticas do PHPlist_php_versions- Listar versões do PHPget_user- Obter informações do usuárioshow_server- Obter informações detalhadas sobre um servidor específicolist_sites- Listar todos os sites em um servidorshow_site- Obter informações detalhadas sobre um site específicolist_daemons- Listar daemonsshow_daemon- Obter detalhes do daemonlist_deployments- Listar implantaçõesget_deployment_log- Obter logs de implantaçãoget_deployment- Obter detalhes da implantaçãoget_deployment_output- Obter saída da implantaçãoget_server_logs- Obter logs do servidorlist_providers- Listar provedores de nuvemlist_database_types- Listar tipos de banco de dadoslist_credentials- Listar credenciaislist_regions- Listar regiões disponíveislist_ubuntu_versions- Listar versões do Ubuntuget_composer_packages_auth- Obter autenticação do Composercheck_laravel_maintenance_status- Verificar modo de manutenção do Laravelcheck_pulse_daemon_status- Verificar status do daemon Pulsecheck_inertia_daemon_status- Verificar status do daemon Inertiacheck_laravel_scheduler_status- Verificar status do agendador do Laravellist_sizes- Listar tamanhos de servidorlist_project_types- Listar tipos de projetolist_databases- Listar todos os bancos de dadosget_database- Obter detalhes do banco de dadoslist_database_users- Listar usuários do banco de dadosget_database_user- Obter detalhes do usuário do banco de dadoslist_certificates- Listar certificados SSLget_certificate- Obter detalhes do certificadoget_site_env- Obter arquivo de ambiente do site (.env)get_site_log- Obter logs do site
Ferramentas de Escrita
create_server- Criar um novo servidorcreate_database- Criar um novo banco de dadossync_database- Sincronizar banco de dadoscreate_database_user- Criar um novo usuário de banco de dadosreboot_server- Reiniciar um servidorreboot_nginx- Reiniciar o serviço Nginxreboot_php- Reiniciar o serviço PHPreboot_mysql- Reiniciar o serviço MySQLreboot_postgres- Reiniciar o serviço PostgreSQLcreate_site- Criar um novo siteinstall_or_update_site_git- Instalar ou atualizar repositório Gitenable_quick_deployment- Habilitar implantação rápidadisable_quick_deployment- Desabilitar implantação rápidadeploy_now- Implantar imediatamentechange_site_php_version- Alterar versão do PHP do siteadd_site_aliases- Adicionar aliases do siteclear_site_log- Limpar logs do sitecreate_lets_encrypt_certificate- Criar certificado Let's Encryptactivate_certificate- Ativar um certificado
Capturas de Tela
Criando um Servidor
Demonstra o processo de criação de servidor por meio da interface MCP
Criando um Site
Mostra como criar um novo site em um servidor existente
Reiniciando um Servidor
Ilustra a funcionalidade de reinicialização do servidor
Estrutura do Projeto
src/server.ts— Ponto de entrada principal do servidor MCPsrc/tools/forge/— Todas as definições e registro de ferramentas do Forgesrc/core/types/— Definições de tipos e protocolospackage.json— Scripts e dependências.gitignore— Ignora arquivos de build, env e dependências
Extensão (Adicionando Novas Ferramentas)
- Exporte um
ForgeToolDefinitiondo novo arquivo. - Importe e adicione a ferramenta ao array
forgeToolsemsrc/tools/forge/index.ts. - As ferramentas serão registradas quando o servidor iniciar.
Para mais informações sobre MCP, consulte a documentação do Model Context Protocol.
Aviso Legal
O servidor Forge MCP é um produto independente e não é oficialmente afiliado, endossado ou patrocinado pela Laravel ou por Taylor Otwell. 'Laravel' é uma marca registrada de propriedade de Taylor Otwell. O servidor Forge MCP é desenvolvido e mantido de forma independente do projeto oficial Laravel.
Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.