VeraCrypt MCP
Monta e desmonta contêineres VeraCrypt para que o assistente possa trabalhar nos arquivos descriptografados, com a senha enviada via stdin em vez da linha de comando.
Documentação
veracrypt-mcp
Servidor MCP (Model Context Protocol) para montar e desmontar contêineres VeraCrypt, com abordagem de segurança em primeiro lugar no tratamento de senhas.
Uma vez que um contêiner é montado, seu cliente MCP (ex.: Claude Code) pode ler e editar os arquivos dentro dele com suas ferramentas normais de arquivo. Diga "monte meu cofre", trabalhe nos arquivos, depois "desmonte meu cofre".
mcp-name: io.github.bitterdev/veracrypt-mcp
Recursos
- mount_container: monta um contêiner VeraCrypt (ponto de montagem opcional, PIM, somente leitura)
- unmount_container: desmonta pelo caminho do contêiner ou ponto de montagem
- list_mounted_containers: mostra todos os volumes VeraCrypt montados
- Cofre padrão: configure seu contêiner uma vez via variáveis de ambiente; "monte meu cofre" então funciona sem argumentos
Modelo de segurança
A senha do volume nunca é passada como argumento de linha de comando. Argumentos de linha de comando são visíveis para todos os processos na máquina (ps aux), então este servidor sempre envia a senha para o VeraCrypt via stdin usando a opção oficial --stdin do VeraCrypt.
Existem duas fontes de senha:
1. Chaveiro do sistema (recomendado)
Armazene a senha uma vez no chaveiro do sistema. A ferramenta MCP então recebe apenas um nome de conta do chaveiro, então a senha nunca entra no contexto do LLM, logs de chat ou transcrições.
macOS (Keychain):
security add-generic-password -s veracrypt-mcp -a my-container -w
# you will be prompted for the password interactively
Linux (libsecret / GNOME Keyring, requer libsecret-tools):
secret-tool store --label="veracrypt-mcp my-container" service veracrypt-mcp account my-container
Depois monte com keychain_account: "my-container".
2. Senha direta (fallback)
Você pode passar password diretamente para a ferramenta. Ela ainda é enviada via stdin para o VeraCrypt (nunca visível na lista de processos), mas passa pela conversa do LLM e pode ser armazenada em logs de chat. Use a fonte do chaveiro sempre que possível.
Notas adicionais:
- Senhas nunca são registradas e nunca incluídas em resultados de ferramentas ou mensagens de erro.
- Python não pode apagar strings com segurança da memória; para máxima segurança, use a fonte do chaveiro e uma senha dedicada para o contêiner.
Requisitos
- Python >= 3.10
- VeraCrypt com o binário de linha de comando disponível (
veracryptno PATH, o pacote do macOS, ou definaVERACRYPT_PATH) - macOS: macFUSE (requerido pelo VeraCrypt para montagem)
- Fonte de chaveiro Linux:
libsecret-tools(secret-tool)
Instalação
pip install git+https://github.com/bitterdev/veracrypt-mcp.git
Ou a partir de um clone local:
git clone https://github.com/bitterdev/veracrypt-mcp.git
cd veracrypt-mcp
pip install .
Configuração
Claude Code
claude mcp add veracrypt -- veracrypt-mcp
Com um cofre padrão (recomendado):
claude mcp add veracrypt \
-e VERACRYPT_MCP_CONTAINER="/path/to/vault.hc" \
-e VERACRYPT_MCP_KEYCHAIN_ACCOUNT="my-vault" \
-- veracrypt-mcp
Claude Desktop / cliente MCP genérico
{
"mcpServers": {
"veracrypt": {
"command": "veracrypt-mcp",
"env": {
"VERACRYPT_MCP_CONTAINER": "/path/to/vault.hc",
"VERACRYPT_MCP_KEYCHAIN_ACCOUNT": "my-vault"
}
}
}
}
O servidor roda sobre stdio.
Exemplos de uso
Com um cofre padrão configurado:
Monte meu cofre
Desmonte meu cofre
Explícito, sem padrões:
Monte o contêiner /Users/me/secret.hc usando a conta do chaveiro "my-container"
Monte somente leitura em um ponto de montagem específico:
Monte /Users/me/secret.hc somente leitura em ~/mnt/secret, conta do chaveiro "my-container"
Variáveis de ambiente
| Variável | Descrição |
|---|---|
VERACRYPT_MCP_CONTAINER | Caminho padrão do contêiner usado quando nenhum container_path é fornecido |
VERACRYPT_MCP_KEYCHAIN_ACCOUNT | Conta padrão do chaveiro usada quando nenhuma fonte de senha é fornecida |
VERACRYPT_MCP_MOUNT_POINT | Diretório de montagem padrão (caso contrário, VeraCrypt seleciona automaticamente) |
VERACRYPT_PATH | Caminho absoluto para o binário VeraCrypt se não estiver no PATH |
Licença
MIT, veja LICENSE.
Autor
Fabian Bitter (fabian@bitter.de)