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 (veracrypt no PATH, o pacote do macOS, ou defina VERACRYPT_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ávelDescrição
VERACRYPT_MCP_CONTAINERCaminho padrão do contêiner usado quando nenhum container_path é fornecido
VERACRYPT_MCP_KEYCHAIN_ACCOUNTConta padrão do chaveiro usada quando nenhuma fonte de senha é fornecida
VERACRYPT_MCP_MOUNT_POINTDiretório de montagem padrão (caso contrário, VeraCrypt seleciona automaticamente)
VERACRYPT_PATHCaminho absoluto para o binário VeraCrypt se não estiver no PATH

Licença

MIT, veja LICENSE.

Autor

Fabian Bitter (fabian@bitter.de)