Veracrypt MCP logo

Veracrypt MCP

Mounts and unmounts VeraCrypt containers through MCP while sending passwords to VeraCrypt via stdin.

Install Veracrypt MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "veracrypt-mcp": {
      "command": "uvx",
      "args": [
        "veracrypt-mcp"
      ],
      "env": {
        "VERACRYPT_MCP_CONTAINER": "YOUR_VALUE_HERE",
        "VERACRYPT_MCP_KEYCHAIN_ACCOUNT": "YOUR_VALUE_HERE",
        "VERACRYPT_MCP_MOUNT_POINT": "YOUR_VALUE_HERE",
        "VERACRYPT_PATH": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

uvx veracrypt-mcp

Process exited before answering initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 3d ago.

Overview

The veracrypt-mcp MCP server exposes VeraCrypt container mounting, dismounting, and volume listing through MCP tools. It invokes the VeraCrypt command-line binary and sends passwords through stdin instead of command-line arguments. Configure a default container and keyring account for short mount and unmount requests, or provide container and password details per operation. Reach for it when an MCP client needs access to encrypted files after mounting, provided VeraCrypt and the required platform dependencies are installed.

Use cases

  • Mount an encrypted vault before editing its files
  • Unmount a VeraCrypt volume after completing a task
  • List mounted VeraCrypt containers
  • Configure a default vault for repeated MCP requests

Key features

  • Mount VeraCrypt containers with optional mount point, PIM, and read-only mode
  • Unmount by container path or mount point
  • List mounted VeraCrypt volumes
  • Pass passwords through stdin instead of command-line arguments
  • Use OS keyring accounts as the preferred password source

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

7/7 checks healthy over the last 58d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 16d ago via OSV.dev · veracrypt-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
Last commit16d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.

How Veracrypt MCP works

What veracrypt-mcp does

The veracrypt-mcp MCP server lets an MCP client manage VeraCrypt containers without requiring a separate shell workflow. It provides three operations:

  • mount_container mounts a container, with optional mount point, PIM, and read-only settings.
  • unmount_container dismounts a volume using either its container path or mount point.
  • list_mounted_containers reports mounted VeraCrypt volumes.

After a container is mounted, the client can use its normal file tools to read and edit files at the mounted location. A default container can be configured so a request such as “mount my vault” does not need a path each time.

The server is intended for local use with VeraCrypt containers. It does not provide file operations of its own; file access comes from the MCP client after the volume is mounted.

How it works

The server runs as a stdio MCP process and calls the VeraCrypt command-line program. The executable must be available as veracrypt, provided by the macOS application bundle, or specified with VERACRYPT_PATH.

Password handling is designed to avoid exposing secrets in process arguments. The server passes the password to VeraCrypt through stdin using VeraCrypt’s --stdin option. Passwords are not written to logs or returned in tool results and error messages.

The preferred source is an operating-system keyring. A tool call supplies a keyring account name, rather than the password itself, so the secret does not enter the model context, chat transcript, or tool input. Direct passwords are also supported, but they can remain in conversation history even though they are not visible in the process list. Python strings cannot be securely wiped from memory, so the keyring method is the safer choice.

Setup and configuration

Install with pip install git+https://github.com/bitterdev/veracrypt-mcp.git, or install from a local clone with pip install .. Python 3.10 or newer is required.

On macOS, VeraCrypt mounting also requires macFUSE. Linux users who choose the keyring method need libsecret-tools and its secret-tool command.

The server accepts these environment variables:

  • VERACRYPT_MCP_CONTAINER: default container path.
  • VERACRYPT_MCP_KEYCHAIN_ACCOUNT: default keyring account.
  • VERACRYPT_MCP_MOUNT_POINT: default mount directory.
  • VERACRYPT_PATH: VeraCrypt executable path when it is not discoverable automatically.

Claude Code can register the executable with claude mcp add. Generic MCP clients can launch veracrypt-mcp as a stdio server and pass the same environment settings.

Tools and capabilities

The veracrypt-mcp MCP server supports both configured and explicit workflows. With defaults set, the client can mount or unmount the configured vault without repeating its path or keyring account. Without defaults, a mount request can identify the container and keyring account directly.

Mounting supports a custom mount directory, a PIM value, and read-only mode. Dismounting can target either the original container path or the mount point. The listing operation is useful for checking which VeraCrypt volumes are currently mounted before or after a task.

Limitations and notes

VeraCrypt must be installed separately, and its command-line binary must be available to the server. macOS mounting depends on macFUSE. The server does not replace the MCP client’s ordinary file tools, so file editing becomes available only after a successful mount.

Direct password input is a fallback rather than the preferred configuration because the value passes through the LLM conversation. Use an OS keyring account where possible, especially for containers accessed through chat-driven workflows. The material does not describe remote transport, automatic volume creation, or secure memory erasure beyond the stated stdin handling and keyring guidance.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Veracrypt MCP

veracrypt-mcp is an MCP server that connects an MCP client to VeraCrypt containers through the VeraCrypt command-line program. Its main tools mount_container, unmount_container, and list_mounted_containers mount, dismount, and inspect mounted volumes. It accepts keyring account names or direct passwords, with passwords sent through stdin.

Install it with pip from the Git repository using `pip install git+https://github.com/bitterdev/veracrypt-mcp.git`, or clone the repository and run `pip install .`. Python 3.10 or newer is required, and VeraCrypt must also be installed.

It sends passwords to VeraCrypt through stdin rather than command-line arguments. The preferred option is an OS keyring account, which keeps the password out of tool input and conversation history. Direct passwords are supported but may remain in chat logs.

Yes, it can run with Cursor as a standard stdio MCP server. Configure Cursor to launch the `veracrypt-mcp` executable and provide any required environment variables, such as the default container or VeraCrypt binary path.

macOS requires VeraCrypt and macFUSE for mounting. Linux keyring usage requires `libsecret-tools` and `secret-tool`. On either platform, VeraCrypt’s command-line binary must be available automatically or through `VERACRYPT_PATH`.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewVeracrypt MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/veracrypt-mcp?style=directory)](https://allmcps.com/mcp/veracrypt-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/veracrypt-mcp"><img src="https://allmcps.com/api/badge/veracrypt-mcp?style=directory" alt="Veracrypt MCP on AllMCPs" /></a>