Comparação¶
O Keyholder não é o único servidor MCP na frente do OpenBao ou do Vault. É o único que encontramos feito para que o modelo nunca receba o valor de um segredo. Os outros dão ao agente tools para ler e administrar o cofre; o Keyholder só deixa o agente usar o que está nele.
Conferido em 2026-10-14 no README de cada projeto. "Não documentado" quer dizer que o README não diz, não que o recurso falte; abra uma issue se algo aqui estiver desatualizado.
| Keyholder MCP | mcp-vault | openbao-mcp | vault-mcp-server | |
|---|---|---|---|---|
| Mantido por | Mpaape | Cloud Temple | Knuckles Team | HashiCorp |
| Cofre | OpenBao | OpenBao, embutido | OpenBao | HashiCorp Vault |
| Licença | MIT | Apache-2.0 | MIT | MPL-2.0 |
| Linguagem | Go | Python | Python | Go |
| O modelo recebe valores | Nunca: nenhuma tool lê um valor | Sim (1) | Tem openbao_read_secret (2) |
Sim (3) |
| Valor injetado quando o comando roda | Sim | Não documentado | Não documentado | Não documentado |
| Saída mascarada | Sim, todo valor resolvido | Não documentado | Não documentado | Não documentado |
| Credencial de nuvem por execução | AWS e GCP pelos plugins do OpenBao; usuários IAM da AWS revogados depois da execução | Não documentado | Não documentado | Não documentado |
| Acesso temporário | Token embrulhado de uso único, TTL | Wrapping de uso único, CA de SSH, PKI | Não documentado | Não documentado |
| Alcance do agente | Rodar comandos nomeados com referências de um projeto | 39 tools: segredos, SSH, PKI, políticas, auditoria | Operações do OpenBao | Mounts, leitura e escrita no KV, PKI |
- O README do mcp-vault afirma que um segredo autorizado existe necessariamente em claro na resposta entregue ao cliente autorizado.
- O README descreve a tool como "Read a secret key-value path" e não diz se o valor é devolvido.
- O README avisa que o servidor pode expor dados do Vault, inclusive segredos, ao cliente MCP e ao LLM. É feito só para uso local.
Quando escolher qual¶
- Escolha o Keyholder quando o agente deve usar credenciais (chamar uma API, rodar uma CLI de nuvem) e o valor não pode chegar ao modelo, à transcrição nem aos logs.
- Escolha um dos outros quando o agente deve administrar o cofre: criar mounts, emitir certificados, escrever políticas. Esse trabalho exige que o agente aja direto no cofre, o que o Keyholder recusa por desenho.
Os dois modelos se combinam: um servidor de administração para uma sessão de operador confiável, e o Keyholder para o trabalho diário do agente.
O que "nunca vê" quer dizer aqui¶
A garantia é sobre a conversa com o modelo, e tem bordas:
- O comando que o Keyholder roda recebe o valor, como em qualquer uso real de credencial.
- O mascaramento casa o valor exato. Um comando que o codifique (base64, por exemplo) escapa; o tutorial de mascaramento mostra isso, e a lista de comandos permitidos é como você evita.
- Um agente hostil rodando com o seu usuário do sistema contorna qualquer servidor MCP.
O modelo de segurança lista todos os limites.