Skip to main content
Glama
TLB-STATION

ApiVault Remote MCP Server

by TLB-STATION

ApiVault Remote MCP Server

License: MIT Protocol: MCP Transport: Streamable HTTP TypeScript Node.js Next.js OAuth 2.1

安全かつ暗号化されたAIコーディングエージェント向けAPIキー管理。
ApiVault の公式リモートModel Context Protocol(MCP)サーバー。

クイックスタートツールリファレンスアーキテクチャOAuth 2.1 & スコープエラーコード & トラブルシューティングセルフホスティング & 開発


概要

ApiVault Remote MCP Server を使用すると、AIアシスタント(CursorClaude DesktopWindsurfClaude Code など)が、ApiVault に保存された暗号化シークレットに、安全かつ監査可能な方法でアクセスできるようになります。

生のAPIキーをチャットプロンプトに貼り付けたり、.env ファイルをgitにコミットしたりする代わりに、AIエージェントは以下のことが可能です:

  1. マスクされたプレビュー(例:sk_live_••••1234)を使用した、利用可能な認証情報の検索と確認。

  2. スコープ権限を介したコード実行時のみ、生のシークレット値をリクエスト。

  3. 新しく生成されたAPIキーを直接ボールトに自動保存。

  4. ゼロ知識カスタムパスフレーズを、その場でメモリ上で復号化。


クイックスタート

1. Cursor

Cursor設定(Cmd/Ctrl + Shift + J)→ MCPAdd New MCP Server を開くか、~/.cursor/mcp.json に追加します:

{
  "mcpServers": {
    "apivault": {
      "url": "https://apivault-mcp.vercel.app/mcp"
    }
  }
}

2. Claude Desktop

Claude Desktop設定ファイルに追加します:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "apivault": {
      "url": "https://apivault-mcp.vercel.app/mcp"
    }
  }
}

3. Windsurf

~/.codeium/windsurf/mcp_config.json に追加します:

{
  "mcpServers": {
    "apivault": {
      "url": "https://apivault-mcp.vercel.app/mcp"
    }
  }
}

4. Claude Code(CLI)

ターミナルで以下を実行します:

claude mcp add apivault https://apivault-mcp.vercel.app/mcp

5. VS Code(Cline / Roo Code / Continue)

拡張機能のMCP設定JSONに追加します:

{
  "mcpServers": {
    "apivault": {
      "url": "https://apivault-mcp.vercel.app/mcp",
      "transport": "http"
    }
  }
}

初回接続時: エージェントが最初に初期化されると、ブラウザタブが開き、メインのApiVaultウェブサイト(https://api-vault-opal.vercel.app)にてアカウント認証とリクエストされたスコープの承認を行います。


ツールリファレンス

サーバーは、Model Context Protocolに準拠した6つのツールを公開しています:

1. list_keys

保存されたAPIキーをマスクされた値(例:sk_live_••••1234)で一覧表示します。プロンプトの汚染を防ぎつつ、エージェントが利用可能なサービスを発見できるようにします。

  • 必要なスコープ: keys:read

  • パラメータ:

    • environment (string, オプション): 環境でフィルタリング(例:ProductionStagingDevelopment)。

    • service (string, オプション): サービス名でフィルタリング(例:StripeOpenAIResend)。

  • エージェントへのプロンプト例:

    "本番環境に保存されているStripeの認証情報は何ですか?"


2. get_key

特定の認証情報のメタデータとマスクされたプレビューをIDで取得します。

  • 必要なスコープ: keys:read

  • パラメータ:

    • id (string, 必須): キーの一意のID。

  • エージェントへのプロンプト例:

    "キー 'cm123abc' のメタデータと最終更新日を確認してください。"


3. reveal_key

生のマスクされていないAPIキー値を復号化して返します。

  • 必要なスコープ: keys:reveal

  • パラメータ:

    • id (string, 必須): 復号化するキーのID。

    • vault_key (string, オプション): ユーザーのカスタムボールトパスフレーズ(アカウントでカスタム暗号化モードが有効な場合のみ必須)。

  • エージェントへのプロンプト例:

    "バックエンド統合テストを実行するために、生のOpenAI APIキーが必要です。"


4. add_key

新しいAPIキーを安全に暗号化してボールトに保存します。

  • 必要なスコープ: keys:write

  • パラメータ:

    • name (string, 必須): キー識別子(例:STRIPE_SECRET_KEYRESEND_API_KEY)。

    • key (string, 必須): 暗号化する生のシークレット値。

    • service (string, オプション): サービス名(例:StripeOpenAIAWS)。

    • environment (string, オプション): ターゲット環境(デフォルトは Production)。

    • notes (string, オプション): 開発者向けドキュメントや使用上の注意。

    • vault_key (string, オプション): 必要な場合のカスタムボールトパスフレーズ。

  • エージェントへのプロンプト例:

    "この新しく生成されたSupabaseサービスロールキーを本番ボールトに保存してください。"


5. update_key

既存のキーのメタデータを更新するか、そのシークレット値を再暗号化します。

  • 必要なスコープ: keys:write

  • パラメータ:

    • id (string, 必須): 更新するキーID。

    • nameserviceenvironmentnotes (string, オプション): メタデータの更新。

    • key (string, オプション): 新しい生のシークレット値(再暗号化をトリガー)。

    • vault_key (string, オプション): シークレット値更新時に必要なカスタムボールトパスフレーズ。

  • エージェントへのプロンプト例:

    "Resend APIキーのメモを '8月18日にローテーション' に更新してください。"


6. delete_key

ボールトからAPIキーを完全に削除します。

  • 必要なスコープ: keys:write

  • パラメータ:

    • id (string, 必須): 削除するキーID。

  • エージェントへのプロンプト例:

    "非推奨のステージングデータベース認証情報を削除してください。"


アーキテクチャ

MCPサーバーはステートレスプロトコルゲートウェイアーキテクチャを使用し、公開トランスポート層をデータベースおよび暗号化ストレージから分離しています:

+----------------------------------------------------------+
|  AI Agent (Cursor / Claude Desktop / Windsurf)           |
+----------------------------+-----------------------------+
                             | Streamable HTTP (JSON-RPC)
                             v
+----------------------------------------------------------+
|  ApiVault MCP Server (apivault-mcp.vercel.app)           |
|  - RFC 9728 Protected Resource Metadata (PRM)           |
|  - Streamable HTTP Transport (/mcp)                      |
|  - Zero Database Credentials / Zero Stored Keys          |
+----------------------------+-----------------------------+
                             | Scoped HTTPS REST Gateway (Bearer Token)
                             v
+----------------------------------------------------------+
|  ApiVault Backend (api-vault-opal.vercel.app)            |
|  - OAuth 2.1 Authorization Server (DCR + PKCE S256)      |
|  - Browser Consent UI (/mcp/authorize)                   |
|  - Cryptographic Key Decryption & MySQL Vault            |
+----------------------------------------------------------+

セキュリティ特性:

  1. データベースパスワードゼロ: 公開 apivault-mcp サービスはMySQL認証情報もマスター暗号化キーも保持しません。

  2. ステートレス転送: クライアントリクエストは検証され、標準のOAuth Bearerトークンを使用してApiVaultのスコープ化されたゲートウェイ(/api/mcp/v1/keys)に転送されます。

  3. メモリ内パスフレーズ: カスタム暗号化モードのパスフレーズ(vault_key)は、単一リクエストの導出中にのみメモリ上で使用され、ディスクやログに書き込まれることはありません。


OAuth 2.1 & スコープ

MCPサーバーは、動的クライアント登録(RFC 7591) および PKCE S256(RFC 7636) を備えた標準のOAuth 2.1を実装しています:

スコープ

名前

アクセス権限

keys:read

メタデータの読み取り

list_keysget_key(マスクされたプレビューのみ)

keys:write

キーの管理

add_keyupdate_keydelete_key

keys:reveal

シークレットの復号化

reveal_key(生のマスクされていないシークレット値へのアクセス)

接続の管理と取り消し

ユーザーは、Webダッシュボードで接続されたAIエージェントの確認、許可されたスコープの検査、およびアクセスの取り消しをいつでも行えます: ApiVaultダッシュボード → 設定 → MCP接続


エラーコード & トラブルシューティング

エラーコード

理由

解決方法

UNAUTHORIZED

期限切れまたは欠落したOAuth Bearerトークン。

CursorまたはClaude Desktopで再接続アクションを使用して再認証します。

INSUFFICIENT_SCOPE

トークンに必要なスコープがない(例:keys:read のみで reveal_key を試行)。

再認証し、ブラウザの同意時に keys:reveal または keys:write スコープを付与します。

VAULT_KEY_REQUIRED

アカウントがカスタム暗号化モードを使用しており、vault_key が渡されていない。

ツールの引数にカスタムボールトパスフレーズを指定します。

INVALID_VAULT_KEY

指定されたカスタムボールトパスフレーズが復号化チェックに失敗しました。

マスターボールトパスフレーズが正しいことを確認して再試行してください。

DUPLICATE_KEY

同じ名前と環境のキーがすでに存在します。

update_key を使用するか、一意のキー名を選択してください。

NOT_FOUND

指定されたキーIDがボールトに存在しません。

list_keys を使用してアクティブなキーIDを確認してください。

NETWORK_ERROR

ApiVaultバックエンドゲートウェイに到達できません。

インターネット接続を確認し、API_VAULT_URL を確認してください。


セルフホスティング & 開発

独自のスタンドアロンMCPサーバーを実行するか、プライベートクラウドインフラストラクチャにデプロイできます:

前提条件

  • Node.js >= 20.12.0

  • npm または pnpm

1. クローンとインストール

git clone https://github.com/TLB-STATION/apivault-mcp.git
cd apivault-mcp
npm install

2. 環境の設定

.env.local を作成します:

# ApiVault Backend URL
API_VAULT_URL=https://api-vault-opal.vercel.app

# Public URL of this MCP server
MCP_SERVER_URL=http://localhost:3001

3. 開発サーバーの実行

npm run dev
# Server running at http://localhost:3001

4. テストスイートの実行

npm test

5. プロダクション用ビルド

npm run build
npm start

コミュニティ & エコシステム


ライセンス

MITライセンスの下で配布されています。詳細については LICENSE を参照してください。

Copyright (c) 2026 Mohamed Eltelb • ApiVault

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • Encrypted secret store and rotation for autonomous agent credentials

  • Issue, rotate and revoke scoped API-key passes for 25+ providers — the agent never sees a real key

  • Agent payments, API key vaulting, and governed mandates. Agents spend within user-defined limits.

View all MCP Connectors

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/TLB-STATION/apivault-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server