Encrypted credential vault: LLM, service & OAuth keys. 21-tool MCP server for your AI agent.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
API Locker is an encrypted credential vault for developers. Store your LLM API keys, service API keys, and OAuth credentials in one place β then inject them into any command with apilocker run -- npm start. Your raw credentials never touch disk, never live in shell history, never get committed to git.
Free to use. Try it β
That's the whole pitch. Everything else in this repo is making that flow work for every kind of credential a developer has to deal with.
API Locker distinguishes three credential types because they're used differently:
π§ LLM API KeysSingle opaque tokens for model APIs. OpenAI, Anthropic, Gemini, Groq, Mistral. |
β‘ Service API KeysSingle tokens for everyday SaaS. Stripe, Twilio, Resend, ElevenLabs, Cloudflare, GitHub, Clerk, Sentry, PostHog, Cloudinary, Mux, SendGrid, Vercel, Upstash, LemonSqueezy. |
π OAuth CredentialsMulti-field credentials for sign-in flows. Google, GitHub, Slack, Microsoft, Notion, Spotify, Twitter/X, LinkedIn, Discord, Zoom, Dropbox, Salesforce, HubSpot. |
Under the hood, LLM and Service credentials share the same single-string encrypted storage. OAuth is a multi-field encrypted JSON blob. Users experience three product surfaces; implementation shares one foundation.
.env files?| Problem | .env file | API Locker |
|---|---|---|
| Secrets on disk | β (plaintext) | β (encrypted, AES-256-GCM) |
| Secrets in git history if misconfigured | β | β |
| Secrets in shell history when debugging | β | β |
| Sharing across machines | Manual copy-paste | β
(one apilocker register per device) |
| Rotation | Manual edit in every copy | One dashboard click |
| Audit log of who accessed what | β | β (every reveal + proxy call) |
| Revocation of a specific device | Nuke every local copy | One apilocker devices revoke |
| AI agent access (Claude, Cursor, etc.) | "Paste this into Cursor settings" | Native MCP integration |
apilocker run -- cmd injects your vault secrets as env vars for the duration of one command, then clears them.POST /v1/proxy/:keyId forwards authenticated calls upstream (Stripe, OpenAI, etc.) with the raw key injected server-side. Your app code never sees the secret..apilockerrc files. Old aliases transparently resolve via a previous_names fallback.apilocker activity --follow.apilocker doctor surfaces stale rotations, unused keys, expiring tokens, and local config permission issues..env β apilocker import .env migrates an existing project into the vault in one command.API Locker exposes a full Model Context Protocol server so AI agents can read and manage your vault directly.
Claude Code (one command):
Claude Desktop, Cursor, Zed, Continue β use the apilocker mcp stdio bridge in your client's config:
Full MCP docs with the 21-tool catalog and per-client setup instructions: apilocker.app/docs/mcp
This is a monorepo. The three surfaces are kept together because they share types, provider templates, and product conventions.
cli/ β The published apilocker npm package. Built with Node 18+ and Commander. See cli/README.md for the full command reference.api/ β The Cloudflare Worker that powers everything: D1 for metadata, KV for encrypted blobs, a Durable Object for rate limiting, and a fully-featured MCP server at /v1/mcp.site/ β The static marketing site, the dashboard, the /docs/mcp integration guide, and a hidden admin analytics page.apilocker register opens your browser, you click Authorize once, the CLI writes a per-device master token to ~/.apilocker/config.json (mode 0600).apilocker run -- npm start reveals the needed credentials for one command and exports them as env vars.POST /v1/proxy/:keyId, and the API Locker Worker injects the raw key into the upstream call server-side. Your app never sees the secret.apilocker mcp stdio bridge and gets the same 21-tool surface as the CLI..apilockerrc files are unaffected by rename, and revoking a device never touches any other device..apilocker.appFree plan available. Unlimited keys, unlimited tokens, unlimited proxy calls. Early adopters get grandfathered into free Pro permanently when paid plans launch.
api.apilocker.appwww.apilocker.app/dashboard/docs/mcpio.github.apilocker/apilockerIssues and PRs welcome. The repo is intentionally kept as a monorepo so a single PR can touch the CLI, API, and site in coordinated steps.
The right address depends on what you want to talk about:
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/api-locker)<a href="https://allmcps.com/mcp/api-locker"><img src="https://allmcps.com/api/badge/api-locker?style=directory" alt="API Locker on AllMCPs" /></a>