Vaultwarden-MCP
Um servidor MCP hospedado localmente para interações entre o Claude e uma instância Vaultwarden hospedada usando a CLI.
Documentação
Vaultwarden MCP: conecte o Claude ao seu cofre de senhas auto-hospedado
Um servidor MCP que dá ao Claude acesso a um cofre Vaultwarden ou Bitwarden auto-hospedado através da CLI oficial do Bitwarden. Pesquise seus logins, consulte-os, adicione novos e edite-os, a partir de uma janela de chat.
O Claude nunca recebe uma senha. Ele não pode alterar nada sem que você clique em Salvar.
Não afiliado ao Bitwarden ou Vaultwarden. Este é um projeto pessoal que utiliza a CLI publicada do Bitwarden. Leia SECURITY.md antes de apontá-lo para um cofre que você valoriza.
Conteúdo · O que ele faz · Instalação · Compatibilidade · Configurações · Ferramentas · Solução de problemas · Segurança
O que ele faz
Peça um login e um cartão aparece ao lado da resposta, com a senha oculta atrás de uma fileira de pontos e um botão de copiar ao lado. Peça um novo e você recebe um rascunho preenchido com uma senha gerada que é salva quando você pressiona Salvar, e não antes.
| O Claude pode | O Claude não pode |
|---|---|
| Pesquisar no cofre e listar pastas | Ler uma senha, código de uso único ou nota, a menos que você aprove em uma janela do desktop, uma vez por solicitação |
| Ver nomes de itens, nomes de usuário e sites | Criar, editar ou excluir qualquer coisa até você pressionar Salvar ou Confirmar no cartão |
| Ver se um item tem senha, código ou notas | Excluir permanentemente. Exclusões vão para a lixeira, onde seu servidor as mantém por 30 dias |
| Gerar uma senha no cartão | Alterar qual servidor de cofre é usado. Isso é fixado na instalação |
| Preparar alterações para você confirmar | Ver sua senha mestra. Você a digita em uma janela do desktop |
SECURITY.md explica por que cada linha está onde está.
O cartão
Qualquer coisa sensível acontece aqui, e não na conversa. O cartão segue os temas claro e escuro do Claude.
Revelar mostra um segredo por trinta segundos e depois o oculta. Copiar nunca o exibe: o servidor grava o valor diretamente na sua área de transferência e o limpa trinta segundos depois, marcado para que o histórico da área de transferência do Windows e a área de transferência em nuvem o ignorem. Itens que você marcou como "solicitar senha mestra novamente" pedem sua senha novamente antes de qualquer uma das ações.
Os ícones dos sites vêm do serviço de ícones da sua própria instância, o mesmo que o cofre web usa. Essa é a única origem da qual o cartão pode carregar qualquer coisa. Itens sem ícone mostram a inicial do nome.
Instalação
Claude Desktop, a partir de um release
- Baixe
vaultwarden-mcp-<version>.mcpbdo último release. - Clique duas vezes nele. O Claude Desktop o instala como uma extensão.
- Digite o endereço do seu cofre, como
https://vault.example.com. Todo o resto é opcional. - Peça ao Claude para entrar no seu cofre. Uma janela abre no seu desktop para seu e-mail, senha mestra e código de duas etapas, se você usar um.
Nada mais para instalar. A CLI do Bitwarden viaja dentro do pacote.
Claude Desktop, a partir do código-fonte
git clone https://github.com/ShadowsDistant/Vaultwarden-MCP.git
cd Vaultwarden-MCP
npm install --legacy-peer-deps
npm run build
node scripts/install.mjs --server https://vault.example.com --email you@example.com
Em seguida, saia completamente do Claude Desktop e reabra-o.
No Windows, use scripts\setup.ps1 em vez disso. Ele compila em %USERPROFILE%\.vaultwarden-mcp,
o que importa se você clonou em uma pasta do OneDrive:
.\scripts\setup.ps1 -Install -Server https://vault.example.com -Email you@example.com
Claude Code
claude mcp add vaultwarden --env VW_MCP_SERVER_URL=https://vault.example.com -- node /path/to/Vaultwarden-MCP/dist/index.js
Qualquer outro cliente MCP
O servidor fala MCP via stdio, então qualquer coisa que possa iniciar um servidor stdio pode executá-lo. Aponte a configuração do seu cliente para o ponto de entrada compilado:
{
"mcpServers": {
"vaultwarden": {
"command": "node",
"args": ["/path/to/Vaultwarden-MCP/dist/index.js"],
"env": {
"VW_MCP_SERVER_URL": "https://vault.example.com",
"VW_MCP_EMAIL": "you@example.com"
}
}
}
}
No Windows, forneça o caminho completo para node.exe e escape as barras invertidas nos caminhos.
Entrando
Peça ao Claude para entrar. A janela que abre pertence a este servidor, não ao Claude, e o que você digita vai por um pipe para a CLI do Bitwarden sem passar pela conversa.
Se algo pedir sua senha mestra dentro do chat, não é este servidor.
Compatibilidade
| Node | 20 ou mais recente. A CLI do Bitwarden está incluída. |
| Cofre | Vaultwarden 1.37.2 ou mais recente, ou o serviço hospedado do Bitwarden. |
| Windows | Suporte completo. As janelas de entrada e confirmação usam WPF. |
| macOS | Suporte completo, usando osascript para janelas. |
| Linux | Precisa de zenity ou kdialog para as janelas. Sem um, desbloqueie o cofre você mesmo e passe BW_SESSION. |
| Cartões inline | Precisam de um host que implemente a extensão MCP Apps. Claude Desktop e Claude Code implementam. |
| Outros clientes MCP | As ferramentas funcionam em qualquer lugar. Sem suporte a cartões, as ferramentas exclusivas de cartão nunca são registradas, e revelações e confirmações caem para janelas do desktop. |
Uma máquina sem interface gráfica ainda pode executar o servidor: desbloqueie o cofre você mesmo com bw unlock --raw e
inicie-o com BW_SESSION definido.
Configurações
Defina estas opções nas configurações da extensão no Claude Desktop, ou como variáveis de ambiente na configuração do seu cliente.
| Variável | Padrão | O que faz |
|---|---|---|
VW_MCP_SERVER_URL | obrigatório | O endereço do seu cofre. Deliberadamente não configurável a partir de uma conversa. |
VW_MCP_EMAIL | nenhum | Pré-preenche a janela de entrada. |
VW_MCP_IDLE_LOCK_MIN | 0 | Também bloqueia após este número de minutos ocioso. 0 bloqueia apenas quando o aplicativo fecha. |
VW_MCP_MODEL_REVEAL | ask | ask permite que o Claude solicite um segredo por vez, com uma janela que você deve aprovar. off recusa imediatamente. |
VW_MCP_HOME | ~/.vaultwarden-mcp | Onde ficam o cache do cofre, a configuração e o log. |
VW_MCP_CA_FILE | nenhum | Um pacote de certificados CA, se sua instância usa uma autoridade de certificação privada. |
VW_MCP_ALLOW_HTTP | não definido | Permite um endereço http simples para um host diferente de localhost. |
VW_MCP_REVEAL_SECONDS | 30 | Por quanto tempo um segredo revelado permanece na tela. |
VW_MCP_CLIPBOARD_CLEAR_SECONDS | 30 | Por quanto tempo um segredo copiado permanece na área de transferência. |
BW_SESSION | não definido | Uma sessão já desbloqueada, para uma máquina sem desktop. |
Ferramentas
⧉ marca as ferramentas que desenham um cartão.
| Ferramenta | O que faz |
|---|---|
vault_status ⧉ | Se o cofre está conectado, bloqueado ou desbloqueado, e qual instância ele usa |
vault_login ⧉ | Entrar, em uma janela no seu desktop |
vault_unlock ⧉ | Desbloquear, em uma janela no seu desktop, e depois mostrar o cofre |
vault_lock | Bloquear imediatamente e esquecer a chave da sessão |
vault_sync | Buscar o conteúdo mais recente do servidor |
vault_search ⧉ | Encontrar itens por nome, site ou pasta. Nomes e hosts apenas, sem nomes de usuário em massa |
vault_get_item ⧉ | Um item completo, menos todos os segredos |
vault_list_folders | As pastas, com os ids usados para arquivar ou filtrar |
vault_generate_password ⧉ | Gerar uma senha ou frase secreta no cartão, não na conversa |
vault_create_login ⧉ | Preparar um novo login para você salvar |
vault_edit_item ⧉ | Preparar uma alteração para você confirmar, mostrada como antes-e-depois |
vault_trash_item ⧉ | Preparar a movimentação de um item para a lixeira, para você confirmar |
vault_restore_item ⧉ | Trazer um item de volta da lixeira |
vault_reveal_secret | Pedir a você, em uma janela do desktop, que libere um segredo na conversa |
Um segundo conjunto de ferramentas serve apenas ao cartão: ler um segredo em um clique, copiar para a área de transferência, salvar um rascunho. Elas são marcadas como exclusivas do aplicativo e permanecem não registradas, a menos que o cliente declare suporte a MCP Apps na inicialização, então em qualquer outro host elas não existem e nada pode chamá-las.
Solução de problemas
"A CLI do Bitwarden não está instalada." A CLI incluída não sobreviveu à instalação. Execute novamente
npm install --legacy-peer-deps e npm run build, ou reinstale a extensão.
Nenhuma janela aparece ao entrar. No Linux, instale zenity ou kdialog. Em outros lugares, verifique
~/.vaultwarden-mcp/logs/server.log. Como alternativa, execute bw unlock --raw você mesmo e passe o
resultado como BW_SESSION.
"Não foi possível alcançar o servidor do cofre." Verifique o endereço nas suas configurações e se a instância
está ativa. Para uma autoridade de certificação privada, aponte VW_MCP_CA_FILE para o pacote.
O Claude diz que um item foi criado, mas ele não está lá. Era um rascunho, e rascunhos não são gravados até você pressionar Salvar. Se nenhum cartão apareceu, seu host não suporta MCP Apps.
O cofre continua bloqueando. Por padrão, ele permanece aberto até o aplicativo fechar. Se você definiu
VW_MCP_IDLE_LOCK_MIN, aumente-o ou defina-o de volta para 0.
Desenvolvimento
npm install --legacy-peer-deps
npm run build # tsc, then bundle the card into a single HTML file
npm test # 81 tests against a fake Bitwarden CLI, over real stdio
npm run preview # card views at http://localhost:8766, plus /selftest.html
npm run pack # build the .mcpb extension bundle
Nenhum teste toca um cofre real. test/fake-bw/bw.js emula a CLI, correspondendo aos seus --response
envelopes e reproduzindo dois de seus bugs conhecidos, e o servidor roda como um processo filho real
dirigido pelo cliente do SDK MCP. O teste crítico planta uma string sentinela em cada segredo e
falha se ela aparecer em qualquer lugar que um modelo possa ler.
src/index.ts server bootstrap, instructions, shutdown
src/config.ts settings, paths, URL validation
src/bw.ts CLI wrapper: re-entrant lock, minimal environment, response parsing
src/session.ts the session key, sign-in, unlock, idle lock
src/vault.ts item operations, and the model-facing and card-facing projections
src/sanitize.ts the untrusted-text screen and the result envelope
src/pending.ts staged changes: unguessable ids, single use, ten-minute lifetime
src/prompt.ts native dialogs
src/clipboard.ts copy, and the clear that only fires if the value is still there
src/tools.ts the tool surface
ui/card.html the card's markup and theme
ui/card.ts the card
scripts/ build, install, package, dialog and clipboard helpers
test/ unit tests, end-to-end tests, the fake CLI and dialog
Licença
Copyright (C) 2026 ShadowsDistant.
Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da GNU General Public License conforme publicada pela Free Software Foundation, seja a versão 3 da Licença, ou (a seu critério) qualquer versão posterior. Ele é distribuído sem qualquer garantia, sem mesmo a garantia implícita de comercialização ou adequação a um propósito específico. Veja a GNU General Public License para detalhes.
A CLI do Bitwarden incluída é redistribuída sob seus próprios termos.