O Agent Client Protocol padroniza a conexão entre editores e agentes de IA. A arquitetura elimina a obrigação de migrar para forks proprietários de IDE.
Engenheiros não precisam mais abandonar editores maduros como Zed, Neovim ou JetBrains. O protocolo estabelece uma barreira estrita entre a renderização visual da interface e o ciclo de raciocínio do modelo.
Ao operar via chamadas JSON-RPC 2.0 sobre pipes padrão do sistema operacional, o protocolo garante resposta veloz e governança soberana de código.

O que é o Agent Client Protocol e por que a indústria o criou?
O Agent Client Protocol é um padrão aberto que desacopla a interface do editor da inteligência do agente de código. Ele substitui extensões proprietárias monolíticas por um canal de comunicação estruturado entre cliente e servidor em espaço de usuário.
A proliferação de assistentes de código criou um dilema operacional para equipes de tecnologia. Para oferecer recursos agenticos como aplicação de diffs inline e execução de terminal, fornecedores passaram a empacotar forks inteiros do Visual Studio Code.
Essa abordagem impõe custos ocultos severos. Forks sofrem com atrasos na incorporação de atualizações de segurança do projeto original e quebram extensões proprietárias de ecossistemas corporativos.
Além disso, forçar uma IDE única desconsidera preferências consolidadas de times que utilizam editores modais ou ambientes integrados especializados.
Diante desse cenário, a Zed Industries anunciou o ACP em agosto de 2025, sob licença aberta Apache 2.0. O projeto contou com parceria inicial do Google e adesão oficial da JetBrains em outubro de 2025.
A iniciativa transferiu a responsabilidade de execução para binários autônomos locais. O editor passa a atuar como mero terminal visual e árbitro de permissões.
Como funciona a mecânica JSON-RPC sobre stdio no ACP?
O ACP utiliza pipes padrão de entrada e saída (stdio) para transportar mensagens JSON-RPC 2.0 entre o editor e o subprocesso do agente. Esse mecanismo elimina pilhas de rede locais e garante latência inferior a 0.05 milissegundos por mensagem.
Ao contrário de arquiteturas baseadas em servidores HTTP locais ou WebSockets em loopback, o transporte via stdio não abre portas em localhost. Isso anula vulnerabilidades como ataques de DNS Rebinding e conflitos de porta em contêineres concorrentes.
O ciclo de vida do processo também se torna determinístico. Quando o desenvolvedor fecha o editor, o kernel encerra o pipe de escrita.
O processo filho recebe imediatamente um sinal SIGPIPE ou condição de fim de arquivo (EOF). O runtime do agente finaliza suas rotinas e libera arquivos em menos de 5 milissegundos.
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": 1,
"clientCapabilities": {
"fs": { "readTextFile": true, "writeTextFile": true },
"terminal": true
}
}
}
A inicialização negocia as capacidades de cada ponta. O editor informa se suporta manipulação direta de arquivos no buffer e controle de terminal integrado.
Em resposta, o agente declara suas ferramentas disponíveis e suporte a modos operacionais dinâmicos. Durante a execução, o agente transmite raciocínios intermediários e deltas de texto através de notificações assíncronas contínuas.

Como se comparam Language Server Protocol, Model Context Protocol e ACP?
O Language Server Protocol analisa a sintaxe estática e o Model Context Protocol conecta ferramentas. O Agent Client Protocol padroniza o diálogo humano-agente. Cada protocolo atua em uma camada distinta da engenharia de software contemporânea.
O ecossistema moderno consolidou uma tríade de especificações complementares. O Language Server Protocol (LSP), concebido pela Microsoft, padroniza árvores sintáticas, autocompletar e diagnósticos de tipagem. No LSP, o editor é o cliente e o compilador atua como servidor.
O Model Context Protocol (MCP), introduzido pela Anthropic, conecta o modelo a recursos periféricos. Servidores MCP expõem bancos relacionais, repositórios remotos e páginas web para consulta.
O ACP completa o arranjo conectando o editor humano ao motor de inferência. Ele transporta intenções de edição, gerencia sessões de chat e negocia permissões de segurança em tempo real.
| Dimensão técnica | Language Server Protocol (LSP) | Model Context Protocol (MCP) | Agent Client Protocol (ACP) |
|---|---|---|---|
| Papel principal | Inteligência de linguagem e sintaxe | Contexto externo e ferramentas | Interação editor e agente de IA |
| Entidade cliente | Editor de código / IDE | Runtime do agente / Host LLM | Editor de código / IDE |
| Entidade servidor | Compilador ou linter (rust-analyzer, tsserver) | Provedor de dados (PostgreSQL, GitHub MCP) | Runtime do agente (mvcode acp) |
| Transporte típico | Pipes stdio ou sockets TCP | Sockets stdio, SSE ou Streamable HTTP | Pipes stdio unidirecionais em par |
| Latência tolerada | Sub-milissegundo para digitação fluida | Dezenas a centenas de milissegundos | Sub-milissegundo para streaming de tokens |
| Mutação de workspace | Refatorações atômicas via WorkspaceEdit | Leitura ou mutação via chamadas de API | Mutações propostas com aceite humano |
Essa separação impede que responsabilidades se misturem. O agente consulta servidores MCP para coletar documentação e usa diagnósticos do LSP para testar o código que acabou de gerar.
Toda a interação flui para a tela do desenvolvedor através do túnel estável do ACP.
Como o handshake de permissões garante controle humano no fluxo?
O handshake de permissões do ACP suspende a execução do agente e solicita aprovação explícita do desenvolvedor antes de mutações críticas. Essa abordagem evita edições acidentais e bloqueia comandos destrutivos no terminal sem encerrar a sessão.
A especificação categoriza ferramentas em classes semânticas bem definidas, como leitura, edição, exclusão, busca e execução de terminal. Quando o agente decide modificar um arquivo ou rodar um script, ele envia uma requisição estruturada ao editor.
{
"jsonrpc": "2.0",
"id": 42,
"method": "session/request_permission",
"params": {
"sessionId": "sess_01J0AB89",
"toolCall": {
"kind": "execute",
"name": "exec_command",
"input": { "cmd": "pnpm release:gate" }
}
}
}
O editor intercepta a mensagem e renderiza uma caixa de diálogo nativa. O desenvolvedor pode aceitar a ação, rejeitá-la ou conceder autorização contínua para o comando específico.
Se o usuário rejeitar a operação, o agente recebe a recusa como observação do ambiente e reformula sua estratégia de solução. O fluxo ReAct prossegue de forma limpa, garantindo supervisão humana sem interrupções abruptas de processo.
Como Zed, Neovim e JetBrains implementam o suporte ao protocolo?
Editores líderes adotam o ACP incorporando clientes nativos ou através de plugins comunitários que delegam o raciocínio a subprocessos. Essa convergência permite que um mesmo binário de agente funcione de maneira idêntica em qualquer ambiente de desenvolvimento.
O editor Zed trouxe implementação nativa de primeira classe através da configuração agent_servers. O usuário define o comando de inicialização no arquivo de configurações e aciona conversas instantâneas diretamente pela paleta de comandos.
A renderização visual aproveita a aceleração gráfica por GPU do Zed, exibindo diferenças de código com fluidez inigualável.
No ecossistema Neovim, desenvolvedores utilizam plugins Lua contemporâneos como avante.nvim e CodeCompanion.nvim. O Neovim instancia o processo do agente em segundo plano e aplica alterações atômicas diretamente nos buffers abertos.
No ambiente JetBrains, o suporte corporativo configura executáveis locais via acp.json. Desenvolvedores em IntelliJ IDEA e WebStorm desfrutam de agentes autônomos mantendo seus depuradores e perfis de build intactos.

Como o MaxVision Code viabiliza soberania de código com o comando acp?
O MaxVision Code disponibiliza seu runtime completo através do subcomando mvcode acp, permitindo que equipes mantenham seus próprios editores e chaves de inferência. Essa arquitetura viabiliza uma estratégia corporativa baseada em BYOE, BYOM e BYOK.
Em vez de obrigar engenheiros a adotar uma interface visual engessada, o MaxVision Code expõe sua esteira de engenharia via ACP. O runtime carrega regras de contexto estritas descritas no arquivo AGENTS.md, orquestra servidores MCP e executa ferramentas em sandbox determinístico.
# Inicialização do runtime MaxVision Code como servidor ACP
mvcode acp
A estratégia baseia-se em três pilares fundamentais de autonomia tecnológica corporativa:
- Bring Your Own Editor (BYOE): Cada engenheiro preserva suas teclas de atalho, extensões e fluxos em Zed, Neovim ou IDEs da JetBrains.
- Bring Your Own Model (BYOM): O backend de raciocínio conecta-se a provedores públicos ou modelos locais via Ollama e vLLM, sem retenção de dados.
- Bring Your Own Key (BYOK): Custos de inferência são faturados diretamente na conta da empresa, sem sobretaxas de intermediários de interface.
Essa separação assegura que o investimento resida na qualidade do código e na padronização dos agentes. O time evita dependência de licenças proprietárias de IDE.
Perguntas Frequentes
O Agent Client Protocol substitui o Language Server Protocol?
Não, o ACP e o LSP possuem finalidades complementares na arquitetura do editor. O LSP dedica-se à análise sintática e tipagem da linguagem de programação. O ACP padroniza a interação com o agente de inteligência artificial.
Por que o transporte via stdio é preferível a sockets HTTP locais?
O transporte via stdio elimina portas de rede abertas, mitigando vulnerabilidades como ataques de DNS Rebinding. Além disso, a comunicação entre processos via pipes alcança latência inferior a 0.05 milissegundos e encerra processos órfãos automaticamente.
É possível utilizar o ACP com modelos de inferência local?
Sim, o protocolo desacopla o editor da camada de inferência do modelo de linguagem. O runtime do agente pode se conectar a instâncias locais via Ollama ou vLLM, mantendo todo o fluxo de código restrito ao perímetro interno da organização.
Quais editores de código já suportam o padrão ACP atualmente?
O editor Zed possui suporte nativo integrado em sua interface com aceleração gráfica. Neovim suporta o padrão através de extensões em Lua como avante.nvim, e a JetBrains disponibilizou suporte para suas IDEs através de arquivos de configuração acp.json.
Como o MaxVision Code gerencia permissões de segurança através do ACP?
O MaxVision Code classifica cada ferramenta interna por nível de risco de operação. Ações de leitura de arquivos prosseguem de forma fluida, enquanto mutações de código e execuções no terminal exigem confirmação interativa do operador no editor.
Conclusão
A consolidação de protocolos abertos representa o amadurecimento inevitável do desenvolvimento auxiliado por inteligência artificial. Assim como o LSP libertou as linguagens de programação do aprisionamento em ferramentas exclusivas, o ACP liberta os desenvolvedores de forks proprietários de IDE.
Adotar uma arquitetura fundada em padrões abertos protege o patrimônio técnico da organização contra obsolescência programada.
Para aprofundar a integração do seu ambiente ou conhecer a arquitetura do runtime, explore os guias em /mvcode/docs/acp. Agende uma conversa técnica com nossos especialistas em /contato.