Infisical Model Context Protocol について
Infisical 公式の MCP サーバーで、関数呼び出しを通じて Infisical API と連携し、シークレット、プロジェクト、環境、フォルダを管理します。AI アシスタントからシークレット管理を行いたい利用者向けで、公開するツールを制限し、シークレット値をマスクすることもできます。
主な機能
- 01シークレットの作成、更新、削除、取得
- 02プロジェクト、環境、フォルダの作成
- 03プロジェクトの一覧表示とメンバー招待
- 04許可リストによる公開ツールの制限
- 05ツール応答内のシークレット値のマスク
活用シーン
- 01読み取り専用モードでプロジェクトとシークレット一覧を取得
- 02セルフホスト型 Infisical インスタンスでのシークレット管理
- 03MCP Inspector によるツール呼び出しのテスト
MCP 対応
本プロジェクトは MCP サーバーであり、Infisical のシークレットおよびプロジェクト管理ツールを MCP クライアントに公開します。Claude Desktop などのクライアントから npx で起動できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Infisical Model Context Protocol
Infisical の Model Context Protocol サーバーを使用すると、関数呼び出しを通じて Infisical API と連携できます。このプロトコルは、Infisical とやり取りするためのさまざまなツールをサポートしています。
セットアップ
環境変数
MCP サーバーを使用するには、まず認証に必要な環境変数を設定する必要があります。
INFISICAL_AUTH_METHOD:使用する認証方法です。サポートされている値はuniversal-authとaccess-tokenです。デフォルトはuniversal-authです。INFISICAL_UNIVERSAL_AUTH_CLIENT_ID:Machine Identity の universal auth クライアント ID です。INFISICAL_AUTH_METHODがuniversal-authの場合に必要です。INFISICAL_UNIVERSAL_AUTH_CLIENT_SECRET:Machine Identity の universal auth クライアントシークレットです。INFISICAL_AUTH_METHODがuniversal-authの場合に必要です。INFISICAL_TOKEN:認証に使用するアクセストークンです。個人用アクセストークン、または Machine Identity のアクセストークンを使用できます。INFISICAL_AUTH_METHODがaccess-tokenの場合に必要です。INFISICAL_HOST_URL:カスタムホスト URL を任意で設定できます。Infisical をセルフホストしている場合や、専用インフラストラクチャを利用している場合に便利です。デフォルトはhttps://app.infisical.comです。
利用可能なツールとシークレット値の返却可否を制限する2つの任意の変数については、サーバーが公開する内容の制限を参照してください。
npx を使用して Infisical MCP サーバーを実行するには、次のコマンドを使用します。
npx -y @infisical/mcp
Claude Desktop での使用方法
次の内容を claude_desktop_config.json に追加してください。詳細についてはこちらを参照してください。
Universal Auth(デフォルト)
{
"mcpServers": {
"infisical": {
"command": "npx",
"args": ["-y", "@infisical/mcp"],
"env": {
"INFISICAL_HOST_URL": "https://<custom-host-url>.com",
"INFISICAL_UNIVERSAL_AUTH_CLIENT_ID": "<machine-identity-universal-auth-client-id>",
"INFISICAL_UNIVERSAL_AUTH_CLIENT_SECRET": "<machine-identity-universal-auth-client-secret>"
}
}
}
}
アクセストークン
{
"mcpServers": {
"infisical": {
"command": "npx",
"args": ["-y", "@infisical/mcp"],
"env": {
"INFISICAL_HOST_URL": "https://<custom-host-url>.com",
"INFISICAL_AUTH_METHOD": "access-token",
"INFISICAL_TOKEN": "<your-access-token>"
}
}
}
}
利用可能なツール
| ツール | 説明 |
|---|---|
create-secret | 新しいシークレットを作成します |
delete-secret | シークレットを削除します |
update-secret | シークレットを更新します |
list-secrets | すべてのシークレットを一覧表示します |
get-secret | 1つのシークレットを取得します |
create-project | 新しいプロジェクトを作成します |
create-environment | 新しい環境を作成します |
create-folder | 新しいフォルダーを作成します |
invite-members-to-project | 1人以上のメンバーをプロジェクトに招待します |
list-projects | すべてのプロジェクトを一覧表示します |
サーバーが公開する内容の制限
どちらの変数も任意で、デフォルトではサーバーの既存の動作が維持されます。
INFISICAL_ENABLED_TOOLS:公開するツールの許可リストを、カンマ区切りで指定します。上の表にあるツール名を使用します(たとえば、読み取り専用サーバーの場合はlist-projects,list-secrets,get-secret)。指定から外れたツールはtools/listから非表示になり、呼び出しも拒否されます。不明な名前を指定すると、起動時にエラーになります。この変数を省略すると、すべてのツールが公開されます。INFISICAL_MASK_SECRET_VALUES:大文字と小文字を区別せずにtrueまたはfalseを指定します。デフォルトはfalseです。trueの場合、ツールの応答に含まれるシークレット値は<masked>に置き換えられ、シークレットの内容がモデルのコンテキストに含まれないようにします。シークレット名、パス、その他のメタデータは引き続き返されます。
公開するツールに必要な範囲を超える広いアクセス権を持つトークンを使用するのではなく、サーバーが必要とするプロジェクトと環境だけに Machine Identity の権限を限定してください。
サーバーのデバッグ
サーバーをデバッグするには、MCP Inspectorを使用できます。
まず、サーバーをビルドします。
npm run build
ターミナルで次のコマンドを実行します。
# Start MCP Inspector and server
npx @modelcontextprotocol/inspector node dist/index.js
手順
- 環境変数の手順に従って、環境変数を設定します。
- MCP Inspector を起動するコマンドを実行します。
- ブラウザーで MCP Inspector の UI を開き、Connect をクリックして MCP サーバーを起動します。
- 利用可能なすべてのツールを確認し、個別にテストできます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。