# Botpasses > Botpasses stores API keys and lets your agents call APIs over MCP with your approval. It attaches the key to approved requests and removes secrets from responses before returning them to the agent. The hosted process decrypts keys in memory; Botpasses is not zero-knowledge. MCP endpoint: https://botpasses.com/mcp (OAuth 2.1 with PKCE and dynamic client registration on botpasses.com, or a console-issued bearer token). Primary tool: http_request. Also find_items, list_items, request_grant, list_grants, setup. There is no get_secret. ## Facts - Not a password manager. Credentials are for agents, not browser autofill. - Not zero-knowledge. The hosted process decrypts at inject. Staff need both the AWS KMS role and the database. - Hosted at https://botpasses.com. Staging at https://staging.botpasses.com has its own accounts. - Free to use and open source under the MIT license. You can self-host. Source: https://github.com/naffis/botpasses ## Docs ### Start - [Start](https://botpasses.com/docs/start): Create a Botpasses account, enroll an authenticator, connect an agent, then ask it to set up a provider or store a credential yourself. About five minutes end to end. - [Install](https://botpasses.com/docs/install): Use the hosted service at botpasses.com, or run the CLI from the repository until the npm package is published. Requirements and first commands. - [Copy-paste prompts](https://botpasses.com/docs/prompts): Paste-ready prompts so an agent sets up Botpasses: hosted MCP, a local laptop vault, or a self-hosted plane. Type secrets on Botpasses, never in chat. ### How to - [Store a credential](https://botpasses.com/docs/how-to/store-a-secret): Store an API key or OAuth client secret in the Botpasses console, choose how it is sent, and restrict the hosts that may receive it. - [Approve a request](https://botpasses.com/docs/how-to/grant-access): How an agent asks to use a credential, the four approval policies, and the three ways to approve. Inbox, 8-digit code, or email link. - [Guided setup](https://botpasses.com/docs/how-to/guided-setup): Connect Botpasses MCP once, then ask an agent to set up Spotify or another API. You type the secret on botpasses.com, never in chat. - [Revoke access](https://botpasses.com/docs/how-to/revoke-access): Stop an agent, a single approval, or a signed-in session from the console Access panel, and read the activity log that never contains values. - [Use an OAuth client secret](https://botpasses.com/docs/how-to/use-an-oauth-client-secret): Store an OAuth app's client secret so Botpasses mints app tokens for you, and connect a user account when an API needs a user token. Spotify walkthrough. ### Connect an agent - [Connect Claude](https://botpasses.com/docs/connect/claude): Add Botpasses to Claude on the web or Claude Desktop as a custom connector, sign in on botpasses.com, and let Claude call APIs without seeing the keys. - [Connect Claude Code](https://botpasses.com/docs/connect/claude-code): Register Botpasses in Claude Code with one claude mcp add command, sign in from the /mcp menu, and call APIs from the terminal without keys in your shell. - [Connect Cursor](https://botpasses.com/docs/connect/cursor): Add Botpasses to Cursor with a two-line mcp.json entry for the remote server, or run the stdio server against a local vault. OAuth sign-in on botpasses.com. - [Connect ChatGPT](https://botpasses.com/docs/connect/chatgpt): Add Botpasses to ChatGPT as a connector using the remote MCP URL and OAuth. botpasses.com handles registration, sign-in, and consent. - [Connect Grok](https://botpasses.com/docs/connect/grok): Connect Grok Bot with the /mcp URL and complete Authorize in the browser, or put a one-time model token on the connector. Grok Build uses grok mcp add. ### Reference - [MCP tools](https://botpasses.com/docs/reference/mcp-tools): The six hosted MCP tools, their arguments and results, the JSON-RPC methods, auth, and the next steering field. There is no get_secret. - [HTTP API](https://botpasses.com/docs/reference/http-api): Every hosted route on botpasses.com. Operator JSON under /api, model routes, trusted resolve, OAuth endpoints, discovery, and the local vault serve API. - [CLI](https://botpasses.com/docs/reference/cli): Every vault command. Local SQLite vault, grant and run with env injection, the loopback server on port 8788, and hosted login plus MCP over stdio. - [Rate limits and size caps](https://botpasses.com/docs/reference/rate-limits): The request limits, lifetimes, and size caps enforced by botpasses.com, and what the 429 means for an agent that hits one. ### Explanation - [Why the key stays out of the chat](https://botpasses.com/docs/explanation/why-the-model-never-sees-the-value): What goes wrong when a secret enters a model's context window, how Botpasses keeps keys out of it, and what "grant-vault, not zero-knowledge" means. ### Help - [Troubleshooting](https://botpasses.com/docs/troubleshooting): Fixes for host_mismatch, mfa_required, a connect card that keeps appearing, 409, need_item, 429, hosted:dev on port 8888, SQLITE_BUSY, and a missing laptop OTP. - [FAQ](https://botpasses.com/docs/faq): What Botpasses is, how it differs from a password manager, .env keys, and Composio, plus prompt injection, logs, revoke, staging, and whether staff can read keys. - [Self-hosting](https://botpasses.com/docs/self-hosting): Run the hosted process on any Postgres 16 and an https origin you control. Laptop hosted:dev uses sqlite. Fly, Neon, Cloudflare, and AWS KMS are the reference stack. Required secrets table. - [Security disclosure](https://botpasses.com/docs/security/disclosure): How to report a vulnerability in Botpasses. Email security@botpasses.com, what to include, what to expect, and the machine-readable security.txt. ## Security - [Security](https://botpasses.com/security): trust model, encryption, connector hardening, canary tests - [security.txt](https://botpasses.com/.well-known/security.txt) ## Source - [GitHub](https://github.com/naffis/botpasses): MIT licensed - [Changelog](https://botpasses.com/changelog) ## Optional - [Full docs for models](https://botpasses.com/llms-full.txt): every documentation page in one file