Skip to main content
Glama
MARUCIE
by MARUCIE

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 once

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 errors

Security 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

make dev

Start infra + web dev server

make dev-api

Start Go API

make dev-full

Start everything

make build

Build all packages

make test

Run all tests

make test-api

Run the Go API test suite

make test-crypto

Run the crypto package test suite

npx tsx scripts/e2e-test.mjs [api-base]

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 tools
get_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_nameYesName of the service to retrieve credentials for (e.g., "GitHub", "AWS")
fieldsNoSpecific fields to retrieve. Omit to get all permitted fields.

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_nameYesName of the service whose credential to use for authentication
methodYesHTTP method
urlYesFull URL to send the request to
headersNoAdditional HTTP headers (auth headers are injected automatically)
bodyNoRequest body (for POST/PUT/PATCH)

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 3 tool updatesv2.0.0
    • First observedget_credential
    • First observedlist_available_services
    • First observedproxy_authenticated_request

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a distinct purpose: listing services, retrieving credentials, and making proxy requests. There is no overlap in functionality.

Naming Consistency5/5

All three tools follow a consistent verb_noun pattern with snake_case, making them predictable and easy to distinguish.

Tool Count5/5

Three tools is well-scoped for a focused credential management server, covering the essential operations without unnecessary bloat.

Completeness4/5

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

ActivityStale
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Encrypted 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
  • A
    license
    A
    quality
    D
    maintenance
    Local 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.
    2
    84
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Zero-knowledge credential injection for AI agents. Your agent authenticates to websites and APIs without ever seeing a password, TOTP code, or API key.
    6
    1
    MIT

Latest Blog Posts

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