SikkerKey

公式

あなたのAIエージェントがSikkerKeyシークレットボールトを管理できるようにするMCPサーバーです。

SikkerKey MCPで何ができますか?

  • エージェントの身元と権限を確認 — アシスタントにwhoamiを呼び出させ、アクティブなAIエージェント、付与されたスコープ、プロジェクトアクセス、最近の監査アクティビティを確認します。
  • シークレットのライフサイクルを管理 — manage_secretsを使用して管理シークレットの作成、ローテーション、スケジュール設定を行い、manage_temporary_secretsを使用して一度きりの自己破棄型共有を管理します。
  • アクセスとポリシーを管理 — manage_policiesを活用してシークレットバインディング付きのアクセスポリシーを作成し、manage_canariesを使用してカナリアシークレットを仕掛けたり無効化したりします。
  • マシンIDを監督 — manage_machinesを使用してマシンの承認、拒否、名前変更、失効を行い、manage_project_machinesを使用してシークレットごとの権限付与でマシンを関連付けます。
  • アクティビティの監視と監査 — read_auditで監査ログを照会し、manage_alertsでアラートトリガーを設定し、manage_webhooksで署名付きウェブフック配信を管理します。
  • リカバリとクリーンアップを処理 — manage_trashでソフト削除されたシークレットを復元または完全削除し、manage_ipallowlistでボールトのIP許可リストを管理します。

ドキュメント

MCPサーバー

MCP互換のAIクライアントを、専用・スコープ付き・監査済み・平文非表示のAIエージェントIDを通じてSikkerKeyに接続します。

SikkerKey MCPサーバーは、MCP互換のAIクライアントをSikkerKey管理プレーンに接続します。AIアシスタントが、専用のAIエージェントIDを通じて、プロジェクト、シークレットメタデータ、ポリシー、マシン、アラート、監査アクティビティ、その他のボールト操作の管理を支援できるようにします。

MCPサーバーは、保存されたシークレット値に対して読み取り不可です。意図的に提供した値の作成や置換は可能ですが、既存の保存済みシークレットの平文を取得できるツールはありません。


仕組み

MCPサーバーは、AIクライアントの子プロセスとしてローカルで実行され、標準入出力を介して通信します。AIがSikkerKeyツールを呼び出すと、サーバーは選択されたAIエージェントIDで対応するSikkerKey APIリクエストに署名します。

  • ローカルID。 AIエージェントのEd25519秘密鍵は、お使いのコンピューター上で生成・保存されます。公開鍵のみがSikkerKeyに登録されます。
  • 署名付きリクエスト。 すべてのリクエストは、HTTPメソッド、パス、タイムスタンプ、ワンタイムノンス、リクエストボディのハッシュを対象とします。改変または再生されたリクエストは検証に失敗します。
  • スコープ付き認可。 管理スコープはボールト全体の操作を制御します。アクセスロールは、エージェントが到達できるアプリケーション、プロジェクト、シークレットタイプ、マシン操作、ポリシー機能を制御します。
  • ライブ作成者バインド。 エージェントの実効アクセスは、作成者の現在のアクセスを決して超えることはできません。作成者のアクセスが削減または削除された場合、エージェントの権限は次のリクエストで縮小されます。
  • 完全な帰属。 すべての成功した変更は、AIエージェントのIDで監査ログに記録されます。

要件

  • SikkerKeyボールト
  • ボールト内でAIエージェントをプロビジョニングする権限
  • MCP互換のAIクライアント
  • サポートされているデスクトップまたはサーバープラットフォーム

パッケージ化されたサーバーは、Linux(x64およびarm64)、macOS(x64およびAppleシリコン)、Windows(x64)をサポートしています。stdioでサーバーを起動できる任意のMCPクライアントで動作します。

生成された構成を持つクライアント

  • Claude Code
  • Claude Desktop
  • Cursor
  • Codex

サーバーのインストール

npmでコマンドをグローバルにインストールします:

npm install -g sikkerkey-mcp

グローバルインストールなしでコマンドを実行することもできます:

npx sikkerkey-mcp <subcommand>

AIエージェントのセットアップ

SikkerKeyダッシュボードで、マシン → AIエージェントを開き、AIエージェントのブートストラップを選択します。

エージェントが受け取る管理スコープとアクセスロールを選択し、ワンタイムブートストラップトークンをコピーします。

MCPサーバーを実行するコンピューターでIDを登録します。

ダッシュボードで保留中のAIエージェントを承認します。

AIクライアントの構成を生成し、指定された構成ファイルに貼り付けて、クライアントを再起動します。

接続されたクライアントにwhoamiを呼び出すよう依頼し、表示されたボールト、スコープ、プロジェクトアクセス、エージェントステータスを確認します。

IDの登録

sikkerkey-mcp install <bootstrap-token>

登録時にオプションのローカル表示名を追加します:

sikkerkey-mcp install <bootstrap-token> -name="Operations assistant"

登録により、Ed25519キーペアがローカルに生成され、IDは以下に保存されます:

~/.sikkerkey/agents/<agent-id>/

エージェントディレクトリ、IDファイル、秘密鍵は、制限付き権限で作成されます。ダッシュボードから承認するまで、エージェントは保留中のままです。

クライアント構成の生成

sikkerkey-mcp config claude-code
sikkerkey-mcp config claude-desktop
sikkerkey-mcp config cursor
sikkerkey-mcp config codex

各コマンドは、貼り付け可能な構成ブロックと、そのクライアントが使用する場所を出力します。生成された構成は、sikkerkey-mcp serveを起動し、SIKKERKEY_AGENT_IDでエージェントを選択します。

各クライアント、自動化環境、または信頼境界ごとに、別のAIエージェントIDを使用してください。これにより、権限と監査ログの帰属を簡単に確認できます。


接続の確認

AIクライアントを再起動した後、whoamiを使用するよう依頼します。この呼び出しは常に利用可能で、以下を報告します:

  • AIエージェントIDと名前
  • 承認および有効ステータス
  • 付与された管理スコープ
  • アクセスロールと到達可能なアプリケーションおよびプロジェクト
  • プロジェクトごとの機能
  • エージェントに帰属する最近の監査エントリ20件

機密セッションの開始時、または作成者のロール、エージェントのスコープ、アクセスロールを変更した後は、whoamiを使用します。


ツールが管理できるもの

望む結果を通常の言語で説明できます。AIクライアントが適切なツールとアクションを選択し、SikkerKeyがすべてのリクエストに対してエージェントの現在の認可を独立してチェックします。

ツール目的
whoamiアクティブなエージェント、権限、プロジェクトアクセス、ステータス、最近の帰属アクティビティを確認します。
manage_projectsエージェントが到達できるアプリケーションとプロジェクトを閲覧します。
manage_secrets許可されたプロジェクト内で、シークレットメタデータ、値、バージョン、ローテーション、スケジュールされた管理シークレットを管理します。
manage_temporary_secretsワンタイムの自己破壊型シークレット共有を作成および検査します。
manage_policiesアクセスポリシーとそのシークレットバインディングを作成および管理します。
manage_canariesカナリアシークレットを配置、構成、武装、または無効化し、凍結されたプロジェクトを復旧します。
manage_machinesマシンIDを一覧表示、検査、承認、拒否、名前変更、または失効させます。
manage_project_machinesマシンをプロジェクトに接続し、シークレットごとの明示的な付与を管理します。
manage_enrollment一時マシン用の登録トークンを発行、検査、失効させます。
manage_ai_agentsAIエージェントのライフサイクル状態、名前、承認を検査および管理します。
manage_alertsどの監査アクションがアラートをトリガーするかを選択します。
manage_webhooks署名付きアラート配信ウェブフックを作成および管理します。
manage_ipallowlistマシン認証と登録で使用されるボールトIP許可リストを管理します。
manage_trashソフト削除されたシークレットを一覧表示、復元、または完全にパージします。
read_auditアクティビティを照会し、監査証跡をエクスポートし、使用統計を確認します。
supportサポートチケットを開く、読む、返信する、評価する。
manage_sdks公式ランタイムSDKのインストールおよびクイックスタートガイドを参照します。

AIクライアントに表示されるツールは安定していますが、個々のアクションは、呼び出し時に選択されたエージェントが必要なスコープとプロジェクト機能を持っている場合にのみ成功します。


管理スコープとプロジェクトアクセス

AIエージェントは、2つの補完的な権限セットを受け取ります。

管理スコープ

管理スコープは、マシン、AIエージェント、登録、監査、アラート、ウェブフック、IP許可リスト、ゴミ箱、サポートなどのボールト全体の領域を制御します。機能がサポートする場合、読み取りスコープと書き込みスコープを個別に付与できます。

アクセスロール

アクセスロールはプロジェクトプレーンを制御します。エージェントに表示されるアプリケーションとスタンドアロンプロジェクト、および各プロジェクトで実行できる操作(許可されたシークレットタイプ、マシン接続と付与、ポリシー、カナリアを含む)を決定します。

SikkerKeyは、すべてのリクエストで両方の権限セットを作成ユーザーの現在のアクセスと交差させます。エージェントはMCPツールを使用して、自身の管理スコープやアクセスロールを置き換えることはできません。

意図したワークフローをカバーする最小のスコープとプロジェクト機能セットから始めてください。エージェントが本当に必要になったときに、ダッシュボードからアクセスを後で追加します。


保存されたシークレット値の処理方法

MCPサーフェスは、シークレット管理をランタイムのシークレット取得から分離します。

  • メタデータ読み取り。 シークレットの一覧表示、詳細の表示、バージョン履歴の表示では、識別子、名前、タイプ、フィールド名、メモ、バージョン、タイムスタンプが返されます—保存された値は返されません。
  • 作成と更新。 作成または置換のために意図的に値を提供すると、その値はAIクライアントを通過して署名付き書き込みリクエストに入り、SikkerKeyによって暗号化されます。レスポンスはメタデータを返し、値をエコーしません。
  • サーバー生成のローテーション。 ローテーションと管理シークレットの作成では、SikkerKey内で新しい値を生成できます。AIは新しいバージョンとスケジュールメタデータを受け取り、生成された平文は受け取りません。
  • ランタイム取得。 アプリケーションは、公式SDKまたはCLIを使用して、別のマシンIDでシークレットを読み取ります。AIエージェントIDはマシンとして認証できません。

AI会話に平文値を配置するのは、そのAIクライアントにシークレット書き込みで送信させたい場合のみにしてください。保存後、MCPは値を読み戻すことはできません。

ワンタイム資格情報

一部の管理アクションは、セットアップを完了できるように、新しく生成された資格情報を一度だけ返します。これには、登録トークン、新しいウェブフック署名シークレット、一時シークレット共有のトークンとパスフレーズが含まれます。作成時に保存または配信してください。後続の一覧表示や詳細アクションではこれらは明らかにされません。

一時シークレット共有は、人間の受信者を対象としています。リンクを開くとワンタイム表示が消費されるため、AIはリンクを開くのではなく、共有の詳細を配信する必要があります。


監査、承認、失効

SikkerKeyは、各管理アクションをAIエージェントのIDと名前で記録します。ダッシュボードの監査ログまたはread_auditを通じてアクティビティを確認できます。アラートルールとウェブフックは、選択したエージェントアクションが発生したときに通知できます。

AIクライアントは、ツール呼び出しを送信する前に独自の確認プロンプトを制御します。人間のレビューに値する変更、特に完全な削除、アクセス変更、マシン失効、ポリシー変更、IP許可リストの変更、外部配信メッセージについては、そのクライアントが確認を要求するように構成してください。

エージェントの無効化または失効

  • 無効化。 スコープとアクセスロールを保持したまま、エージェントの署名付きリクエストを即座に拒否し、後で再び有効にできるようにします。
  • 失効。 サーバー側のAIエージェントIDを削除し、ローカルキーペアを将来のリクエストに使用できないようにします。

どちらも次のリクエストで有効になります。サーバー側のライフサイクルはダッシュボードから管理します。失効後、ローカルIDスロットを削除します:

sikkerkey-mcp revoke <agent-id>

ローカルの失効コマンドは、このコンピューターからファイルを削除します。SikkerKeyダッシュボードでAIエージェントを失効させるわけではありません。


複数のAIエージェントの使用

1台のコンピューターに複数のAIエージェントIDを保存できます。登録済みのローカルIDを一覧表示するには:

sikkerkey-mcp whoami

生成されたクライアント構成は、各IDに対して個別のサーバーエントリを作成します。サーバーを手動で構成する場合は、SIKKERKEY_AGENT_IDをそのクライアントが使用する正確なエージェントに設定します:

{
  "mcpServers": {
    "sikkerkey": {
      "command": "sikkerkey-mcp",
      "args": ["serve"],
      "env": {
        "SIKKERKEY_AGENT_ID": "agent_..."
      }
    }
  }
}

IDが1つだけインストールされている場合、サーバーは自動的に選択します。複数存在し、エージェントIDが構成されていない場合、起動は停止し、暗黙的に選択するのではなく、選択を求めます。


環境変数

変数目的
SIKKERKEY_AGENT_IDMCPサーバーが使用するローカルAIエージェントIDを選択します。
SIKKERKEY_HOMEローカルのSikkerKey IDルートをデフォルトの~/.sikkerkeyから変更します。

コマンドリファレンス

コマンド目的
sikkerkey-mcp install <token>ワンタイムダッシュボードトークンから新しいローカルAIエージェントIDを登録します。
sikkerkey-mcp whoamiローカルに登録されたAIエージェントIDを一覧表示します。
sikkerkey-mcp config <client>Claude Code、Claude Desktop、Cursor、またはCodexの構成を出力します。
sikkerkey-mcp servestdioでMCPサーバーを実行します。
sikkerkey-mcp revoke [agent-id]ローカルAIエージェントIDスロットを削除します。
sikkerkey-mcpMCPサーバーを実行します。serveと同等です。

ソースコードとライセンス

SikkerKey MCPサーバーは、MITライセンスの下で完全にオープンソースです。認証、IDストレージ、プロトコル処理、ツールスキーマ、リクエスト動作を、SikkerKeyOfficial GitHub organizationで確認してください。