Skip to main content

Vault — MCP File Server

An MCP (Model Context Protocol) server that gives any AI client — Claude Desktop, Claude Code, ChatGPT, etc. — direct access to your local filesystem. Save AI-generated content, copy files between folders, download from URLs, and organize your machine using natural language.

What makes it different

Most MCP file tools require you to know and type exact paths. Vault's find_folder tool lets you say "save this to my distributed systems folder" and Claude finds the right path itself — no copy-paste required.


Quickstart

1. Install

# Zero-install (recommended) — runs directly from PyPI
uvx ai-vault-mcp

# Or install permanently
pip install ai-vault-mcp

2. Add to your MCP client

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):

{
  "mcpServers": {
    "vault": {
      "command": "uvx",
      "args": ["ai-vault-mcp"]
    }
  }
}

Claude Code:

claude mcp add vault -- uvx ai-vault-mcp

HTTP mode (for remote clients or Docker):

uvx ai-vault-mcp --transport http --host 0.0.0.0 --port 8000

3. First-run setup

The first time you ask Claude to do anything with files, it'll say:

"Where would you like to save your files? You can point me to an existing folder (e.g. ~/Documents) or I can create a fresh ~/Documents/Vault folder just for AI-generated files."

Answer in plain English. Claude calls configure under the hood, saves your choice to ~/.ai-vault-mcp/config.json, and never asks again.


Tool reference

Tool What it does
configure First-run setup — sets allowed roots and default save location
find_folder Find a folder by name without knowing the exact path
save_content Save text, markdown, or code to a file
save_binary Save base64-encoded binary content (images, zips)
download_file Download any URL to a local folder
copy_file Copy a file from anywhere on the machine into your vault
move_file Move or rename a file
list_files Browse a directory (with optional glob filter)
create_directory Create a new folder
read_file Read a text file's contents
get_file_info File metadata: size, hash, MIME type, timestamps
get_server_config Show current configuration

Configuration

Variable Default Description
VAULT_LOG_LEVEL INFO Logging verbosity (DEBUG, INFO, WARNING, ERROR)
VAULT_RATE_LIMIT_PER_MINUTE 60 Max tool calls per tool per minute
MCP_FILE_SERVER_MAX_SIZE_MB 500 Max download size in MB
MCP_FILE_SERVER_ALLOWED_ROOTS (from config file) Override allowed roots (colon-separated paths)
MCP_FILE_SERVER_BASE_DIR (from config file) Override default save location
PORT 8000 Port for HTTP transport (read automatically in cloud environments)

Env vars take priority over ~/.ai-vault-mcp/config.json.


Security model

  • Sandboxed writes — all file operations are restricted to paths within your configured allowed roots
  • Path traversal protection — every path is resolved and validated before use; ../ escapes are blocked
  • Blocked extensions — .exe, .bat, .ps1, .cmd, .msi, .js, and other dangerous types are always rejected
  • No silent overwrites — save_content and copy_file refuse to overwrite existing files
  • No delete tool — file deletion must be done manually; Claude cannot delete files
  • Rate limiting — configurable per-tool call rate limit prevents runaway loops
  • Unrestricted source reads — copy_file and move_file can read from anywhere on the machine; only the destination is sandboxed

Docker

docker build -t vault .
docker run -p 8000:8000 \
  -e VAULT_RATE_LIMIT_PER_MINUTE=30 \
  -v ~/.ai-vault-mcp:/home/vault/.ai-vault-mcp \
  vault

Point your MCP client to http://localhost:8000/mcp. Health check: GET http://localhost:8000/health.


Development

# Clone and set up
git clone https://github.com/yashderasari/vault.git
cd vault
uv sync

# Run tests
uv run pytest tests/ -v

# Inspect logs (logs go to stderr)
uv run python server.py 2>vault.log

# MCP Inspector
uv run mcp dev server.py

Trust

This server can be submitted to the MCP Trust Framework for an independent security assessment once you're ready to ship publicly.


License

MIT

Metadata

Release files for ai-vault-mcp 0.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ai-vault-mcp 0.1.9
File Size Uploaded Provenance Actions
ai_vault_mcp-0.1.9.tar.gz 15.1 kB Without provenance Details for ai_vault_mcp-0.1.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ai-vault-mcp 0.1.9
File Interpreter ABI Platform Actions
ai_vault_mcp-0.1.9-py3-none-any.whl Python 3 none any Details for ai_vault_mcp-0.1.9-py3-none-any.whl

Total release size: 28.9 kB

Release files / ai_vault_mcp-0.1.9.tar.gz

Download URL ai_vault_mcp-0.1.9.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
9e08f1aaa80bda891720d507a44334de10597bf429f56390269582e6ee822954
BLAKE2b-256 checksum
How to use checksums
0e1ccfd9f476f200eaa79fd4828335bf1f5dbb9f4578cd53986b11b9a8eac0df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / ai_vault_mcp-0.1.9-py3-none-any.whl

Download URL ai_vault_mcp-0.1.9-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e91bb0ce4472c43d8601182c7735e74eb808af18b2cb3a465030e7f456deb74
BLAKE2b-256 checksum
How to use checksums
281be580039309a564b6bc298fe27f35d0ffbb1246f7ab70b08405b609a7c034
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for ai-vault-mcp 0.1.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page