Vault MCP
zerocreds-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-mcpAdd 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 |
| no | Server URL (default: |
| yes | Admin or integrator token |
| no | Default destination name (default: |
| no | Telegram bot token — auto-sends the link |
| 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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Zerocreds-com/zerocreds-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server