🧠 GBR Gleam LSP Brain (`gbr_mcp_lsp_gleam`) | Governança
🧠 GBR Gleam LSP Brain (gbr_mcp_lsp_gleam)
Este sub-servidor MCP (Model Context Protocol) provê uma interface de análise estática e inteligência sintática conectando-se diretamente ao executável gleam lsp em background.
Ele atua como substituto direto em Gleam puro do antigo servidor Python GleamLspBrain.
🏛️ Arquitetura e Concorrência
Para uma descrição completa da topologia de atores OTP e como as mensagens são tratadas de forma não-bloqueante no BEAM, consulte o arquivo de arquitetura: * 🔗 *ARCH.md*
🎯 Por Que Existe?
- *Análise em Tempo Real*: Expõe dados de tipo, localização de definição, documentação em markdown e referências direto da engine oficial do compilador Gleam.
-
*Auto-Geração de Decodificadores*: Automatiza a criação de decodificadores tipados seguros (
gleam/dynamic/decode) para tipos customizados através de comandos de workspace. - *Concorrência Segura*: Implementa um cliente JSON-RPC resiliente no BEAM que suporta leitura assíncrona baseada em buffers e sincronização de eventos.
⚙️ Ferramentas Exportadas
Este servidor MCP expõe as seguintes ferramentas via stdio:
-
📡 **
lsp_status**: Retorna o estado do handshake de inicialização com ogleam lsp. -
💬 **
lsp_hover**: Consulta e renderiza informações de tipo e documentação de um símbolo sob a posição de cursor. -
📍 **
lsp_goto_definition**: Encontra a localização exata de definição do símbolo (arquivo e linha). -
🌲 **
lsp_document_symbols**: Mapeia a árvore de símbolos (funções, tipos, classes) presentes em um arquivo. -
🛡️ **
lsp_get_diagnostics**: Retorna os erros e avisos de compilação ativos gerados pelo LSP. -
🔗 **
lsp_find_references**: Localiza todos os arquivos e linhas que referenciam o símbolo selecionado. -
🧙 **
lsp_generate_decoder**: Gera automaticamente a estrutura completa de decodificador para um Custom Type informado.
🚀 Como Executar Localmente
Em Desenvolvimento:
bash
Navegue até a pasta do projeto cd apps/gbrmcplsp_gleam
Inicie o servidor MCP via stdio
gleam run
📦 Distribuição Otimizada com escript (Gleam v1.16+)
Para máxima eficiência, o servidor MCP pode ser empacotado como um executável standalone do Erlang (escript), acelerando drasticamente o tempo de boot:
-
*Compilar e Exportar o escript*:
bash gleam export escript -
*Localização do Executável*: O executável final standalone do Erlang é gerado em:
build/erlang-escript/gbr_mcp_lsp_gleam -
*Como Executar o escript gerado*: Você pode rodar o executável diretamente usando o interpretador do Erlang no sistema operacional:
bash escript ./build/erlang-escript/gbr_mcp_lsp_gleam