{
  "markdown": "# zerocreds-mcp\n\nMCP server for [ZeroCreds](https://zerocreds.ru) — collect credentials from users without exposing them to the LLM.\n\n## How it works\n\n```\nClaude                    ZeroCreds Server            User\n  │                            │                        │\n  ├─zerocreds_create_session──►│                        │\n  │◄─{ token, url }────────────┤                        │\n  │                            │                        │\n  │  \"Please fill: <url>\"──────────────────────────────►│\n  │                            │◄──── form submit ───────┤\n  │                            │  (credentials saved)    │\n  │                            │                        │\n  ├─zerocreds_check_status─────►│                        │\n  │◄─{ status: \"done\" }────────┤                        │\n  │                            │                        │\n  │  (proceeds — never saw the credentials)\n```\n\n## Setup\n\n```bash\nnpm install -g zerocreds-mcp\n```\n\nAdd to `~/.claude/mcp.json` (Claude Code) or Claude Desktop config:\n\n```json\n{\n  \"mcpServers\": {\n    \"zerocreds\": {\n      \"command\": \"zerocreds-mcp\",\n      \"env\": {\n        \"ZEROCREDS_URL\": \"https://zerocreds.ru\",\n        \"ZEROCREDS_TOKEN\": \"your-admin-or-integrator-token\",\n        \"ZEROCREDS_DEFAULT_DESTINATION\": \"local-dev\",\n        \"ZEROCREDS_TG_BOT_TOKEN\": \"optional — sends link via Telegram\",\n        \"ZEROCREDS_TG_CHAT_ID\": \"optional\"\n      }\n    }\n  }\n}\n```\n\n## Environment variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `ZEROCREDS_URL` | no | Server URL (default: `https://zerocreds.ru`) |\n| `ZEROCREDS_TOKEN` | yes | Admin or integrator token |\n| `ZEROCREDS_DEFAULT_DESTINATION` | no | Default destination name (default: `local-dev`) |\n| `ZEROCREDS_TG_BOT_TOKEN` | no | Telegram bot token — auto-sends the link |\n| `ZEROCREDS_TG_CHAT_ID` | no | Telegram chat ID |\n\n## Tools\n\n### `zerocreds_create_session`\n\nCreates a one-time form session. Returns `{ token, url, expires_at }`.\n\nClaude shows `url` to the user, then polls `zerocreds_check_status` every 5–10 seconds.\n\n**Parameters:**\n- `title` (required) — form heading\n- `fields` (required) — array of `{ name, label, type?, placeholder?, required?, level? }`\n- `description` — optional subtext\n- `destination` — named destination from server config; overrides env default\n- `ttl_minutes` — link expiry (default: 30)\n\n**Field types:** `text`, `password`, `email`, `tel`, `number`, `textarea`, `url`\n\n**Field levels** (optional, shown to user as privacy indicator):\n`secret` · `pii` · `attribute` · `credential`\n\n### `zerocreds_check_status`\n\nPolls session status. Returns `{ status: \"pending\" | \"done\" | \"expired\" }`.\n\n## Example agent flow\n\n```\nUser: \"Log me into GitHub\"\n\nClaude: [zerocreds_create_session]\n  title: \"Connect GitHub\"\n  fields: [\n    { name: \"token\", label: \"Personal Access Token\", type: \"password\" }\n  ]\n→ { token: \"abc123\", url: \"https://zerocreds.ru/f/abc123\" }\n\nClaude: \"Please fill in your token here: https://zerocreds.ru/f/abc123\"\n\n[polls zerocreds_check_status every 5s]\n→ { status: \"done\" }\n\nClaude: \"GitHub connected! Proceeding...\"\n[reads token from secret store via configured destination]\n```\n\n## Self-hosting\n\nSee [zerocreds-server](https://github.com/Zerocreds-com/zerocreds-server) to run your own instance.\n\n## License\n\nMIT\n",
  "bytes": 3320,
  "sha": "e0bb975bbe67c9e132d30b18e41e1d85fd817856ddbda2585dc2f9b0d06446a2",
  "repo_slug": "chill-ai-space/vault-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_chill_ai_space_vault_3da7e60d/readme"
}