API Locker

io.github.apilocker由 GitHub 帳號 apilocker 發布v1.0.3更新於 Oct 25, 2026

Encrypted credential vault: LLM, service & OAuth keys. 21-tool MCP server for your AI agent.

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

API Locker 的本機 MCP 橋接,連接加密憑證保險庫,讓助理讀取與管理已存的 LLM、服務與 OAuth 金鑰。

可以做什麼
讀取並列出已存憑證,依 LLM、服務與 OAuth 分類,可用標籤、供應商、類別或關鍵字篩選。儲存、輪替、重新命名、暫停、恢復與刪除憑證,包含多欄位的 OAuth 項目。取出單一金鑰值,或輸出可供 shell 使用的 export 敘述。管理已註冊裝置與受限存取權杖,包含撤銷。檢視揭示、代理呼叫、重新命名與輪替的稽核日誌,並執行安全健康檢查。
適用情境
當你把 API 金鑰與 OAuth 用戶端憑證存放在 API Locker,並希望助理不必開啟主控台就能查詢、新增、輪替或稽核這些憑證時適用。適合已在用 API Locker 命令列、想在 Claude Code、Claude Desktop、Cursor、Zed 或 Continue 中管理保險庫的開發者。
執行需求
透過 apilocker npm 套件以 stdio 在本機執行,用 mcp 子命令啟動;需要 Node.js 18 或更新版本。需要 API Locker 帳號,並透過瀏覽器授權流程註冊裝置;橋接會從本機設定檔讀取主權杖。需要能連線至 API Locker 服務的網路。
安裝前請注意
此伺服器可以揭示金鑰值並輸出到結果中,也能永久刪除憑證。它管理受限存取權杖與裝置撤銷,誤操作可能讓應用程式或裝置無法存取。本機設定檔保存每裝置主權杖,不應提交到版本控制。憑證操作與揭示會傳送到 API Locker 服務並記入其稽核日誌。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 API Locker,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

API Locker

One vault, three types of credentials. LLM API keys, service API keys, and OAuth credentials — all encrypted, all injectable into your code with a single command.

API Locker replaces the .env file with one encrypted vault. Store your OpenAI key, your Stripe secret, your Google OAuth client — all in one place — and 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.

This is the command-line interface. Website · Dashboard

Install

bash
npm install -g apilocker

Requires Node.js 18 or newer.

Get started in three commands

bash
# 1. Install the CLI (above)
# 2. Register this device — opens your browser for a one-click confirmationapilocker register
# 3. Run any command with your vault secrets injected as env varsapilocker run -- npm start

That's it. Your process.env.OPENAI_API_KEY, process.env.STRIPE_SECRET_KEY, process.env.GOOGLE_OAUTH_CLIENT_SECRET — everything you'd normally drop in a .env file — is now injected into the subprocess for exactly the duration of that command. When the command exits, the secrets are gone.

One vault, three types of credentials

🧠 LLM API Keys

OpenAI, Anthropic, Gemini, Groq, Mistral.

bash
apilocker store --name OPENAI_API_KEY --provider openai --key sk-proj-xxxxxapilocker run -- node my-ai-app.js

⚡ Service API Keys

Stripe, Twilio, Resend, ElevenLabs, Cloudflare, GitHub, Clerk, Sentry, PostHog, Cloudinary, Mux, SendGrid, Vercel, Upstash, LemonSqueezy — plus custom for anything else.

bash
apilocker store --name STRIPE_SECRET_KEY --provider stripe --key sk_live_xxxxxapilocker run -- npm start

🔗 OAuth Credentials

Google, GitHub, Slack, Microsoft, Notion, Spotify, Twitter/X, LinkedIn, Discord, Zoom, Dropbox, Salesforce, HubSpot — plus custom OAuth for anything else.

bash
apilocker store --oauth \  --name google-oauth \  --provider google-oauth \  --client-id 856449...apps.googleusercontent.com \  --client-secret GOCSPX-xxxxx \  --scopes "openid email profile"
# Injects GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET, etc.apilocker run -- node oauth-app.js

The full command set

CommandWhat it does
apilocker registerRegister this device via browser confirmation. No pasted tokens.
apilocker storeStore a credential. --oauth for multi-field OAuth, otherwise --key.
apilocker listList credentials grouped into LLM / Service / OAuth buckets. Filter with --tag, --provider, --category, --search.
apilocker run -- <cmd>Run any command with vault secrets injected as environment variables.
apilocker get <alias>Print a single secret value to stdout (for scripting). --field for OAuth fields.
apilocker envEmit shell-eval-able export statements. eval "$(apilocker env)" to load into current shell.
apilocker initPin specific keys to a project directory via a committable .apilockerrc file.
apilocker import .envMigrate an existing .env file into the vault. Pattern-matches provider prefixes and offers to replace the .env with an .apilockerrc.
apilocker rotate <alias>Replace a credential's value. Scoped tokens keep working; rotation is transparent to consumers.
apilocker rename <old> <new>Rename a credential alias. Lossless — existing .apilockerrc files that reference the old name keep working via transparent fallback.
apilocker pause <alias> / resume <alias>Freeze proxy access without deleting. Reveal / run / get / env still work on paused credentials.
apilocker delete <keyId>Permanently delete a credential.
apilocker devices list / revoke <id>Manage devices registered to your account.
apilocker token create/list/pause/resume/deleteManage scoped access tokens for app/proxy use.
apilocker activityView the audit log. Add --follow / -f to stream new events live.
apilocker doctorSecurity health check: stale rotations, unused keys, expiring tokens, local config permissions.
apilocker updateCheck npm for a newer version.

The .apilockerrc file

Pin a project to a specific set of credentials with a committable config file. apilocker init walks you through creating one:

yaml
# .apilockerrc — safe to commit to git, contains only pointerskeys:  - OPENAI_API_KEY  - STRIPE_SECRET_KEY  - google-oauth

After apilocker init, anyone cloning your repo who runs apilocker run -- npm start gets the same env vars — assuming they have access to those aliases in their own vault. It's like a package.json for credentials: the file declares what the project needs, each developer has their own vault.

Why the CLI doesn't ask for a pasted master token

Unlike most developer tools, apilocker register doesn't want you to paste a secret from the dashboard. Instead:

  1. You run apilocker register
  2. Your browser opens to a single-card confirmation page
  3. You click "Authorize"
  4. The CLI receives a per-device master token over an authenticated polling channel — it never touches your clipboard, shell history, or screen

This is the RFC 8628 device authorization flow (the same pattern gh, vercel, wrangler, flyctl, and gcloud use). It's strictly safer than pasted tokens because the secret never appears anywhere a human can accidentally leak it.

New users? The same flow handles signup — your first OAuth click with GitHub/Google creates the account automatically. No separate visit to the web portal required.

MCP integration — connect your AI assistant

API Locker exposes a full Model Context Protocol server with 25 tools so Claude Code, Claude Desktop, Cursor, Zed, Continue, and any other MCP-compatible client can read and manage your vault directly.

Claude Code — one command

bash
claude mcp add apilocker -- apilocker mcp

Verify with claude mcp list. You should see apilocker: apilocker mcp - ✓ Connected. The server is available in your next Claude Code session automatically.

Claude Desktop, Cursor, Zed, Continue

The CLI ships with apilocker mcp — a stdio bridge that handles the connection automatically. Configure any MCP client with:

json
{  "mcpServers": {    "apilocker": {      "command": "apilocker",      "args": ["mcp"]    }  }}

The bridge reads your master token from ~/.apilocker/config.json automatically. No credentials go in the client config itself.

Print client-specific config with the built-in helper:

bash
apilocker mcp config --client claude-desktop   # or claude-code, cursor, continue, zed, generic

Full docs: https://www.apilocker.app/docs/mcp — includes config file locations for each client, troubleshooting, and the full 25-tool catalog.

Visual status: the dashboard has a dedicated MCP panel at https://www.apilocker.app/dashboard#mcp showing server status, a test-connection button, copy-pasteable config for every major client, and a live feed of recent MCP activity.

Security posture

  • AES-256-GCM encryption on every stored credential. Keys never leave the vault in plaintext except when revealed to an authenticated master-token holder (you).
  • Per-device tokens with independent revocation. Stolen a laptop? Revoke that one device; every other device keeps working.
  • OAuth CSRF protection with state tokens bound to a 10-minute KV window.
  • Strict file permissions (0600) on ~/.apilocker/config.json.
  • Audit-logged everywhere: every reveal, every proxy call, every rename, every rotation. Watch them live with apilocker activity --follow.
  • Lossless rename with previous_names fallback: renaming a credential never breaks existing code. Old aliases transparently resolve to the current credential with a gentle nudge to update configs.
  • Pause/resume to freeze proxy access during incident response without losing the credential itself.

Configuration

Config lives at ~/.apilocker/config.json (mode 0600). Don't check it in.

Override the API endpoint for self-hosted deployments:

bash
apilocker register --url https://api.your-locker.example.com

Status

API Locker is free to use with unlimited keys, unlimited tokens, and unlimited proxy calls. Early adopters get grandfathered into free Pro permanently when paid plans launch.

Links

License

MIT © 2026 API Locker

來源:cli/README.md,提交 babe588

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.3最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分