About Vault MCP
Vault MCP is an MCP server for collecting credentials through user-submitted forms without exposing them to an LLM. It is intended for agents that need secrets while keeping credential entry separate from the conversation.
Key features
- 01Creates one-time credential form sessions
- 02Supports multiple field types and privacy levels
- 03Checks pending, completed, or expired status
- 04Routes submissions to a named destination
Use cases
- 01Collect a password during an account connection flow
- 02Request an API key without showing it to an LLM
- 03Check whether a user has submitted a credential form
MCP support
It exposes tools to create credential collection sessions and check their status. MCP clients can present the returned form URL to the user and poll for completion.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
10Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| site_id | string | Yes | The site identifier (e.g. "github", "jira") |
| timeout_ms | number | No | Login timeout in milliseconds (default: 15000) |
| totp_selector | string | No | CSS selector for TOTP/2FA input field |
Details
From the project READMEzerocreds-mcp
MCP server for ZeroCreds — collect credentials from users without exposing them to the LLM.
How it works
Claude ZeroCreds Server User
│ │ │
├─zerocreds_create_session──►│ │
│◄─{ token, url }────────────┤ │
│ │ │
│ "Please fill: <url>"──────────────────────────────►│
│ │◄──── form submit ───────┤
│ │ (credentials saved) │
│ │ │
├─zerocreds_check_status─────►│ │
│◄─{ status: "done" }────────┤ │
│ │ │
│ (proceeds — never saw the credentials)
Setup
npm install -g zerocreds-mcp
Add to ~/.claude/mcp.json (Claude Code) or Claude Desktop config:
{
"mcpServers": {
"zerocreds": {
"command": "zerocreds-mcp",
"env": {
"ZEROCREDS_URL": "https://zerocreds.ru",
"ZEROCREDS_TOKEN": "your-admin-or-integrator-token",
"ZEROCREDS_DEFAULT_DESTINATION": "local-dev",
"ZEROCREDS_TG_BOT_TOKEN": "optional — sends link via Telegram",
"ZEROCREDS_TG_CHAT_ID": "optional"
}
}
}
}
Environment variables
| Variable | Required | Description |
|---|---|---|
ZEROCREDS_URL | no | Server URL (default: https://zerocreds.ru) |
ZEROCREDS_TOKEN | yes | Admin or integrator token |
ZEROCREDS_DEFAULT_DESTINATION | no | Default destination name (default: local-dev) |
ZEROCREDS_TG_BOT_TOKEN | no | Telegram bot token — auto-sends the link |
ZEROCREDS_TG_CHAT_ID | no | Telegram chat ID |
Tools
zerocreds_create_session
Creates a one-time form session. Returns { token, url, expires_at }.
Claude shows url to the user, then polls zerocreds_check_status every 5–10 seconds.
Parameters:
title(required) — form headingfields(required) — array of{ name, label, type?, placeholder?, required?, level? }description— optional subtextdestination— named destination from server config; overrides env defaultttl_minutes— link expiry (default: 30)
Field types: text, password, email, tel, number, textarea, url
Field levels (optional, shown to user as privacy indicator):
secret · pii · attribute · credential
zerocreds_check_status
Polls session status. Returns { status: "pending" | "done" | "expired" }.
Example agent flow
User: "Log me into GitHub"
Claude: [zerocreds_create_session]
title: "Connect GitHub"
fields: [
{ name: "token", label: "Personal Access Token", type: "password" }
]
→ { token: "abc123", url: "https://zerocreds.ru/f/abc123" }
Claude: "Please fill in your token here: https://zerocreds.ru/f/abc123"
[polls zerocreds_check_status every 5s]
→ { status: "done" }
Claude: "GitHub connected! Proceeding..."
[reads token from secret store via configured destination]
Self-hosting
See zerocreds-server to run your own instance.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.