authbox
Allows importing credentials and vault items from 1Password for centralized management and controlled delegation to AI agents.
Supports importing passwords and credentials from Apple sources for unified management within the Auth Box vault.
Allows migrating vault data from Bitwarden to facilitate policy-gated access for AI agents via the MCP protocol.
Provides the capability to import stored credentials from Dashlane for secure storage and management.
Supports importing credential data from Enpass, enabling unified management and AI agent integration.
Allows for the automatic import of API keys and credentials from .env files via a drag-and-drop interface.
Enables importing stored browser credentials from Firefox into the secure vault.
Enables importing passwords and credentials from Google accounts for centralized management and AI-agent access.
Supports importing vault items from LastPass, allowing for secure management and auditable delegation.
Provides tools for managing and performing health checks on OpenAI API keys, enabling secure access for AI assistants.
Allows importing credentials from Samsung Pass for management within the Auth Box ecosystem.
Supports management and validation of Stripe API keys, facilitating secure use in AI-driven workflows.
The password manager that works even if we disappear. 24 words = all your passwords. No email, no account, no server dependency.
Why Auth Box
Every password manager asks you to trust them. Auth Box asks you to trust math.
No Email Required -- Create a vault in 45 seconds. Just a seed phrase and a master password.
Survive Without Us -- Your vault is encrypted with keys derived from your seed phrase. Even if Auth Box ceases to exist, your passwords remain yours.
Passwords Without Storage -- Derive passwords deterministically from your seed + site name. Your vault can literally be empty.
AI Agent Gateway -- Give AI assistants controlled access to credentials via MCP protocol, with policy-gated, auditable delegation.
Import Everything -- Migrate from 13 sources: Apple, Google, Chrome, Edge, Firefox, 1Password, Bitwarden, LastPass, Dashlane, KeePass, Samsung Pass, NordPass, Enpass.
AI Infrastructure Hub -- Manage API keys for 70+ providers (OpenAI, Anthropic, AWS, Stripe...). Drag-drop .env files to auto-import. One-click health checks verify keys are valid.
Arweave Permanent Storage -- Archive your encrypted vault to Arweave for permanent, decentralized backup. Recovery works even without Auth Box servers.
Related MCP server: enigmagent-mcp
The Unstoppable Promise
You trust your crypto to 24 words. Why not your passwords?Auth Box uses the same proven model as Bitcoin wallets:
seed phrase (24 words)
-> master key (PBKDF2-HMAC-SHA512)
-> vault encryption key
-> sync encryption key
-> per-agent delegation keys
-> deterministic passwords (no storage needed)If you have your seed phrase, you have everything. No server. No company. No dependency.
Screenshots
Quick Start
# Install dependencies
pnpm install
# Start development
make dev # Postgres + Redis + Web
make dev-api # Go API
make dev-full # Everything at onceWeb app: http://localhost:3010
Architecture
Client (holds all keys) Server (encrypted blobs only)
+-----------------------------+ +---------------------------+
| Web App Extension | E2E | Auth (SRP-6a) |
| (Next.js) (Chrome MV3) | ---> | Vault (encrypted CRUD) |
| | | Agents + Policies (JSONB) |
| @authbox/crypto (seed+HD) | | Audit (hash chain) |
| MCP Gateway (WebSocket) | | PostgreSQL + Redis |
+-----------------------------+ +---------------------------+Zero-knowledge: The server stores only encrypted blobs. It cannot decrypt anything.
Unstoppable Mode: The server is optional. Your vault works offline with keys derived from your seed phrase.
Monorepo Structure
packages/
crypto/ @authbox/crypto -- BIP-39 seed, HD keys, Argon2id, AES-256-GCM, SRP-6a
shared/ @authbox/shared -- Types, validation schemas
mcp-protocol/ @authbox/mcp-protocol -- AI gateway (MCP over WebSocket)
apps/
web/ @authbox/web -- Next.js 15, Vault Onyx design system
console/ auth-box-console -- Public portal + admin dashboard
extension/ auth-box-extension -- Chrome MV3 (popup + content + background)
services/
api/ auth-box-api -- Go API (chi v5, pgx v5, DDD layered)Encryption
Layer | Primitive | Purpose |
Seed | BIP-39 (24 words) | Sole recovery mechanism |
Master Key | PBKDF2-HMAC-SHA512 | Key derivation from seed |
Sub-keys | HD derivation (BIP-32 style) | vault / sync / agent / auth / derive |
Vault | AES-256-GCM | Encrypt all vault items |
Auth | SRP-6a | Mutual authentication (optional server) |
Passwords | Deterministic derivation | seed + site = password (no storage) |
Comparison
Feature | 1Password | Bitwarden | LessPass | Apple Keychain | Auth Box |
Self-sovereign (seed phrase) | No | No | No | No | Yes |
Works without server | No | Self-host only | Yes | Apple only | Yes |
Deterministic passwords | No | No | Yes | No | Yes |
Full vault + deterministic hybrid | No | No | No | No | Yes |
AI Agent gateway (MCP) | No | No | No | No | Yes |
Open source client | No | Yes | Yes | No | Yes (MIT) |
Import sources | Few | 8 | 0 | Apple only | 13 + .env auto-import |
AI API key management | No | No | No | No | 70+ providers |
Company disappears | Data at risk | Self-host option | OK (stateless) | Locked | 24 words = recovery |
Tests
Latest verified baseline (2026-03-23):
Go API: PASS 28 tests (SRP/TOTP, rate limiter, security middleware, audit chain)
Crypto: PASS 51 deterministic tests; 2 live Arweave probes opt-in
E2E: 65/65 Real SRP/TOTP login + vault/agent/audit/session CRUD + security
Build: PASS 7/7 turbo packages, 0 errorsSecurity audit: 12 findings fixed (TOTP bypass, timing attack, session scoping, CORS hardening...) Performance audit: 11 optimizations applied (composite indexes, cache limits, rate limiter refactor...)
Key Commands
Command | Description |
| Start infra + web dev server |
| Start Go API |
| Start everything |
| Build all packages |
| Run all tests |
| Run the Go API test suite |
| Run the crypto package test suite |
| Run E2E suite against a real API |
Contributing
See CONTRIBUTING.md for development setup and guidelines.
Auth Box is MIT licensed. PRs welcome.
License
MIT -- Use it, fork it, build on it.
Maurice | maurice_wen@proton.me
Available Tools
3 toolsget_credentialA
Retrieve a credential from the Auth Box vault. Returns credential fields filtered by the agent's access policy. Never returns the raw secret unless the policy explicitly allows "read" action.
| Name | Required | Description | Default |
|---|---|---|---|
| service_name | Yes | Name of the service to retrieve credentials for (e.g., "GitHub", "AWS") | |
| fields | No | Specific fields to retrieve. Omit to get all permitted fields. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that returned fields are filtered by the agent's access policy and that raw secrets are only returned if policy allows 'read'. This is key behavioral information for a sensitive read operation, but it could mention error behavior (e.g., if service not found or insufficient permissions).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences. Every sentence adds essential information: purpose and security behavior. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a credential retrieval tool, it covers purpose, parameter usage with policy, and security constraints. The absence of an output schema is mitigated by describing what is returned. Could mention response format or example for completeness, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, but the description adds value by explaining how the 'fields' parameter interacts with access policy (only returns permitted fields). This extra context elevates the parameter understanding beyond the bare schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Retrieve a credential from the Auth Box vault', specifying a verb and resource. It distinguishes from sibling 'list_available_services' by focusing on actual credential retrieval, and from 'proxy_authenticated_request' which is for making requests, not retrieving stored credentials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context on when to use the tool—to retrieve a credential—and includes a critical security caveat about access policy and 'read' action. However, it does not explicitly state when not to use it or compare with alternatives, though the sibling distinction is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_available_servicesA
List all services that the user has stored credentials for. Returns service names only, no secrets. Useful for discovering what credentials are available before making requests.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the tool returns only names, not secrets, and lists only services with stored credentials. However, it could mention that it is a read-only operation with no side effects, though the listing nature implies safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action, and no redundant information. Every word contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is complete: it explains the purpose, the output scope, and a usage scenario. No additional details are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema coverage is 100%. The description adds no parameter info, which is appropriate since none exist. Baseline score of 4 for no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists services with stored credentials, distinguishing itself from siblings like get_credential (which returns secrets) and proxy_authenticated_request (which uses credentials). The verb 'List' is specific and the resource is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states it is 'useful for discovering what credentials are available before making requests', providing clear context for when to use. It also notes it returns 'service names only, no secrets', implicitly guiding the agent to use get_credential for secret retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_authenticated_requestA
Make an authenticated HTTP request through Auth Box. The stored credential is injected into the request without exposing it to the agent. This is the preferred method for using credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| service_name | Yes | Name of the service whose credential to use for authentication | |
| method | Yes | HTTP method | |
| url | Yes | Full URL to send the request to | |
| headers | No | Additional HTTP headers (auth headers are injected automatically) | |
| body | No | Request body (for POST/PUT/PATCH) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the security behavior (credential injection without exposure) but does not mention rate limits, error behavior, or whether the request is read-only or can modify state (depending on method). Sufficient but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Front-loaded with the primary action, then adds the critical security benefit. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters (3 required) and no output schema, the description adequately covers the core functionality and security context. It could mention expected response format or error handling, but the key aspects are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no additional parameter meaning beyond what is in the schema; it only reaffirms that credentials are injected automatically, which is already in the headers parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (make authenticated HTTP request), the resource (through Auth Box), and the key benefit (credential injection without exposure). It distinguishes from sibling tools: get_credential retrieves credentials, while this tool uses them for requests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'This is the preferred method for using credentials,' implying the agent should use this tool over alternatives like get_credential when making authenticated requests. However, it does not explicitly contrast with siblings or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v2.0.0- First observed
get_credential - First observed
list_available_services - First observed
proxy_authenticated_request
TDQS
Each tool has a distinct purpose: listing services, retrieving credentials, and making proxy requests. There is no overlap in functionality.
All three tools follow a consistent verb_noun pattern with snake_case, making them predictable and easy to distinguish.
Three tools is well-scoped for a focused credential management server, covering the essential operations without unnecessary bloat.
The set covers the core workflow of discovering, retrieving, and using credentials. Missing create, update, and delete operations, but these may be out of scope for a vault that manages existing credentials.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- FullmaktOAuthai.fullmakt
Credential broker for AI agents: scoped, revocable API access with policy enforcement and audit.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Give your AI hands. Identity, credential vault, and API gateway for autonomous agents.
MCP-native Trust Infrastructure for AI Agents. Persistent encrypted memory with Trust Quotient.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEncrypted credential vault with a 21-tool MCP server. Store and manage LLM API keys, service API keys, and OAuth credentials — then let your AI agent list, reveal, rotate, rename, pause, and proxy calls through them.MIT
- AlicenseAqualityDmaintenanceLocal AES-256-GCM encrypted vault for AI agents. Resolve {{PLACEHOLDER}} secrets in prompts at runtime — LLMs never see real API keys. Argon2id key derivation, zero cloud.2842MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents and MCP clients to securely store, retrieve, and manage encrypted credentials without hardcoding API keys.-
- AlicenseNot gradedqualityDmaintenanceZero-knowledge credential injection for AI agents. Your agent authenticates to websites and APIs without ever seeing a password, TOTP code, or API key.61MIT
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/MARUCIE/authbox'
If you have feedback or need assistance with the MCP directory API, please join our Discord server