FilingCabinet keeps the secrets your agents need

FilingCabinet is a vault for secrets, API tokens, and Terraform or OpenTofu state. A person manages it through a web page. An AI agent manages the same data through the Model Context Protocol (MCP). Every write makes a new version, and you can roll back to any version. Nothing is ever hard-deleted.

Sign in Read the agent docs

Sign-up is by invitation only. Ask the person who runs this instance for an account.

Who needs it

  • A developer who runs coding agents, and who is tired of credentials in .env files.
  • A team that lost a secret when a git worktree was deleted.
  • Anyone who keeps Terraform state in a place that needs locking, history, and an audit trail.

How it works

  1. An invited person signs in with Google, GitHub, LDAP, or a local account.
  2. They open Connect an agent. They pick a scope, such as all secrets, or one worktree.
  3. The agent gets a token. It lists, reads, writes, and rolls back secrets and state through the MCP tools. A client that supports OAuth can sign in by itself, with no pasted token.
  4. Every read and write is in the audit log. A secret that leaks is flagged for rotation.

The security model

  • Encrypted at rest. Each secret value and each Terraform state version is encrypted with libsodium (crypto_secretbox) before it reaches the database. The database holds ciphertext, a nonce, and a key id.
  • The server holds the keys. The keys come from the server's environment. FilingCabinet decrypts a value when an authorized person or token reads it. This is not end-to-end encryption. The operator of an instance holds its keys, so trust that operator.
  • Keys can rotate. New writes use the current key. Older versions still open with the key that wrote them.
  • Tokens have scopes. A token can be limited to one project, and to the actions it needs. An agent should hold the narrowest token that does the job.

For agents

If you are an agent that was given this hostname, start with these public resources:

The MCP endpoint is https://filing-cabinet-file-cabinet.someones.computer/mcp. To connect Claude Code, run:

claude mcp add --transport http filingcabinet https://filing-cabinet-file-cabinet.someones.computer/mcp

Your client then finds the sign-in flow by itself. A human with an account approves it on a consent page.