Login Vault
Scoped login vault: your bot signs in to sites without ever seeing the password.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWend_session에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"vault": {
"url": "https://vault.cloudforbots.com/mcp"
}
}
}원격 엔드포인트
https://vault.cloudforbots.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (11)
🟡save_login(name, domain, username, password, totp_secret, ...)
Owner only (your Pro key, never a bot key). Store one login sealed with AES-256-GCM, with a scope: allowed hosts, allowed methods, a daily session cap and session TTL. Run it from your own machine, not inside the bot. The password and TOTP secret are never returned by any tool. Free watch-only stores nothing and logs would_use_vault.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Short id, e.g. \"github-bot\" (letters, digits, . _ - @)."
},
"domain": {
"type": "string",
"description": "Site the login belongs to, e.g. github.com."
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"totp_secret": {
"type": "string",
"description": "Optional base32 TOTP secret, so {{totp}} can fill 2FA codes."
},
"scope": {
"type": "object",
"description": "Where and how this login may be used.",
"properties": {
"allowed_hosts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Hosts the session may call (the login domain is always included; subdomains match). Max 10."
},
"allowed_methods": {
"type": "array",
"items": {
"type": "string"
},
"description": "HTTP methods session_fetch may use. Default [\"GET\",\"POST\"]."
},
"max_sessions_per_day": {
"type": "integer",
"description": "Daily cap on open_session for this login, 1-500. Default 20."
},
"ttl_s": {
"type": "integer",
"description": "Session lifetime in seconds, 60-3600. Default 900."
},
"bot_label": {
"type": "string",
"description": "Optional note: which bot this login is for."
}
}
}
},
"required": [
"name",
"domain",
"username",
"password"
]
}🟢list_logins
List saved logins (name, domain, scope, sessions today; never secrets). With your owner key it also lists bot keys. A bot key only sees the logins it was granted.
입력 스키마
{
"type": "object",
"properties": {}
}🔴delete_login(name)
Owner only. Delete a saved login, end its open sessions and remove it from every bot key.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}🟡create_bot_key(label, logins)
Owner only. Make a per-bot key (vk_...) that can only open sessions on the logins you name. Shown once; we store only its hash. Revoke any time with revoke_bot_key.
입력 스키마
{
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Which bot, e.g. \"invoice-bot\"."
},
"logins": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names of saved logins this bot may use."
}
},
"required": [
"label",
"logins"
]
}⚪revoke_bot_key(bot_id)
Owner only. Revoke a bot key right away and end every session it opened.
입력 스키마
{
"type": "object",
"properties": {
"bot_id": {
"type": "string"
}
},
"required": [
"bot_id"
]
}⚪open_session(name, url, form, as, method, ...)
Sign in with a saved login without seeing it. The server fills {{username}}, {{password}} and {{totp}} into your form, posts it to url (https, inside the login's allowed hosts), keeps the cookies encrypted, and returns an opaque session id. Checked against the login's scope and daily cap; logged to the audit log. If the site shows a CAPTCHA or new-device check, the reply suggests next_step request_human (Human Handoff relay). Free watch-only logs would_use_vault and signs in nowhere.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Saved login name."
},
"url": {
"type": "string",
"description": "The sign-in endpoint, e.g. https://example.com/session."
},
"form": {
"type": "object",
"description": "Fields to send, values may use {{username}}, {{password}}, {{totp}}. Default {\"username\":\"{{username}}\",\"password\":\"{{password}}\"}."
},
"as": {
"type": "string",
"enum": [
"form",
"json"
],
"description": "Body encoding. Default form."
},
"method": {
"type": "string",
"enum": [
"POST",
"PUT"
],
"description": "Default POST."
},
"prefetch": {
"type": "boolean",
"description": "GET the url first to pick up CSRF cookies. Default true."
}
},
"required": [
"name",
"url"
]
}🟢session_fetch(session, url, method, headers, body)
Make one request inside an open session. url must be https inside the login's allowed hosts and the method must be in its allowed methods. The password, TOTP secret and codes are redacted from the reply; cookies never leave the vault.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string"
},
"url": {
"type": "string"
},
"method": {
"type": "string"
},
"headers": {
"type": "object"
},
"body": {
"description": "String or JSON."
}
},
"required": [
"session",
"url"
]
}🔴end_session(session)
End a session now and wipe its cookies.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string"
}
},
"required": [
"session"
]
}⚪audit_log(limit)
Owner only. The last uses of your vault: who (bot label), which login, which domain, what happened. Never contains secrets.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "1-200, default 50."
}
}
}🟢weekly_report
Plain-English summary of the last 7 days: where your bots needed to sign in (by domain), sessions opened, blocked attempts, by bot. Read-only. Needs a key.
입력 스키마
{
"type": "object",
"properties": {}
}🟢usage_and_upgrade
Show today's usage for your key or IP and the $9/month upgrade link. Free tier: 500 calls/day. Not metered.
입력 스키마
{
"type": "object",
"properties": {}
}커뮤니티
증거