SikkerKey

官方

一個MCP伺服器,讓您的AI代理管理您的SikkerKey機密儲存庫。

你可以用 SikkerKey MCP 做什麼?

  • 驗證代理身分與權限 — 要求助理呼叫 whoami,以確認目前作用中的 AI 代理、已授予的範圍、專案存取權,以及最近的稽核活動。
  • 管理密鑰生命週期 — 使用 manage_secrets 建立、輪換或排程受管密鑰,並使用 manage_temporary_secrets 處理一次性、自毀式分享。
  • 管理存取與政策 — 運用 manage_policies 建立帶有密鑰綁定的存取政策,並使用 manage_canaries 植入或解除誘餌密鑰。
  • 監督機器身分 — 使用 manage_machines 核准、拒絕、重新命名或撤銷機器,並使用 manage_project_machines 以個別密鑰授權方式附加機器。
  • 監控與稽核活動 — 透過 read_audit 查詢稽核日誌,使用 manage_alerts 設定警示觸發條件,並透過 manage_webhooks 管理簽章 Webhook 傳遞。
  • 處理復原與清理 — 使用 manage_trash 還原或永久刪除軟刪除的密鑰,並透過 manage_ipallowlist 管理保管庫 IP 允許清單。

文件

MCP 伺服器

透過專屬、受限、可稽核且對明文不可見的 AI 代理身分,將相容於 MCP 的 AI 用戶端連線至 SikkerKey。

SikkerKey MCP 伺服器將相容於 MCP 的 AI 用戶端連線至 SikkerKey 管理平面。它讓 AI 助理能以專屬的 AI 代理身分,協助管理專案、密鑰中繼資料、政策、機器、警示、稽核活動及其他保險庫操作。

MCP 伺服器對已儲存的密鑰值採取「讀取不可見」設計。它可以建立或取代您刻意提供的值,但沒有任何工具能擷取既有已儲存密鑰的明文。


運作方式

MCP 伺服器以 AI 用戶端的子程序形式在本機執行,並透過標準輸入與輸出與其通訊。當 AI 呼叫 SikkerKey 工具時,伺服器會以所選的 AI 代理身分簽署對應的 SikkerKey API 請求。

  • 本機身分。 AI 代理的 Ed25519 私鑰會在本機電腦上產生並儲存。只有公鑰會註冊至 SikkerKey。
  • 簽署請求。 每個請求皆涵蓋 HTTP 方法、路徑、時間戳記、一次性 nonce 及請求主體雜湊。遭修改或重放的請求將無法通過驗證。
  • 受限授權。 管理範圍控制保險庫層級的操作。存取角色控制代理可觸及的應用程式、專案、密鑰類型、機器操作及政策能力。
  • 即時建立者綁定。 代理的有效存取權限永遠不會超過建立者目前的存取權限。若建立者的存取權限被縮減或移除,代理的權限將在下一次請求時隨之縮小。
  • 完整歸屬。 每一項成功的變更都會以 AI 代理的身分記錄在稽核日誌中。

需求

  • 一個 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 伺服器的電腦上註冊該身分。

在儀表板中核准待處理的 AI 代理。

為您的 AI 用戶端產生設定,將其貼入指定的設定檔,然後重新啟動用戶端。

要求已連線的用戶端呼叫 whoami,並確認顯示的保險庫、範圍、專案存取權及代理狀態。

註冊身分

sikkerkey-mcp install <bootstrap-token>

註冊期間可新增選用的本機顯示名稱:

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

註冊會在本機產生一組 Ed25519 金鑰對,並將身分儲存於:

~/.sikkerkey/agents/<agent-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 代理身分。這有助於輕鬆檢視權限與稽核日誌歸屬。


驗證連線

重新啟動 AI 用戶端後,請要求它使用 whoami。此呼叫隨時可用,並會回報:

  • AI 代理 ID 與名稱
  • 核准與啟用狀態
  • 已授予的管理範圍
  • 存取角色及可觸及的應用程式與專案
  • 各專案的能力
  • 歸屬於該代理的最近 20 筆稽核項目

在敏感工作階段開始時,或變更建立者角色、代理範圍或其存取角色之後,請使用 whoami。


工具可管理的事項

您可以用一般語言描述您想要的結果。AI 用戶端會選取適當的工具與動作,而 SikkerKey 會針對每個請求獨立檢查代理目前的授權。

工具用途
whoami確認作用中的代理、權限、專案存取權、狀態及最近的歸屬活動。
manage_projects瀏覽代理可觸及的應用程式與專案。
manage_secrets在允許的專案內管理密鑰中繼資料、值、版本、輪替及排定的受管密鑰。
manage_temporary_secrets建立與檢視一次性、自毀式密鑰分享。
manage_policies建立與管理存取政策及其密鑰綁定。
manage_canaries佈建、設定、啟動或解除誘餌密鑰,並復原凍結的專案。
manage_machines列出、檢視、核准、拒絕、重新命名或撤銷機器身分。
manage_project_machines將機器附加至專案,並管理其明確的逐密鑰授權。
manage_enrollment為暫時性機器簽發、檢視及撤銷註冊權杖。
manage_ai_agents檢視與管理 AI 代理的生命週期狀態、名稱及核准。
manage_alerts選擇哪些稽核動作會觸發警示。
manage_webhooks建立與管理已簽署的警示傳遞 Webhook。
manage_ipallowlist管理機器驗證與註冊所使用的保險庫 IP 允許清單。
manage_trash列出、還原或永久清除軟刪除的密鑰。
read_audit查詢活動、匯出稽核證據及檢視使用統計資料。
support開啟、閱讀、回覆及評分支援工單。
manage_sdks查閱官方執行階段 SDK 的安裝與快速入門指南。

顯示給 AI 用戶端的工具是穩定的,但個別動作只有在所選代理於呼叫當下具備所需範圍與專案能力時才會成功。


管理範圍與專案存取

AI 代理會接收兩組互補的權限集。

管理範圍

管理範圍控制保險庫層級的領域,例如機器、AI 代理、註冊、稽核、警示、Webhook、IP 允許清單、垃圾桶及支援。在功能支援的情況下,讀取與寫入範圍可分別授予。

存取角色

存取角色控制專案平面。它決定哪些應用程式與獨立專案會顯示給代理,以及代理在每個專案中可執行的事項,包括允許的密鑰類型、機器附加與授權、政策及誘餌密鑰。

SikkerKey 會在每個請求中,將兩組權限集與建立者目前的使用者存取權限進行交集。代理無法使用 MCP 工具來取代自己的管理範圍或存取角色。

請從涵蓋預期工作流程的最小範圍與專案能力組合開始。當代理確實需要時,再從儀表板新增存取權限。


已儲存密鑰值的處理方式

MCP 介面將密鑰管理與執行階段密鑰擷取分開。

  • 中繼資料讀取。 列出密鑰、開啟其詳細資料或檢視其版本歷史,會傳回識別碼、名稱、類型、欄位名稱、備註、版本及時間戳記——而非已儲存的值。
  • 建立與更新。 當您刻意提供值以供建立或取代時,該值會經由 AI 用戶端傳入簽署的寫入請求,並由 SikkerKey 加密。回應會傳回中繼資料,且不會回顯該值。
  • 伺服器產生的輪替。 輪替與受管密鑰建立可在 SikkerKey 內部產生新值。AI 會收到新版本與排程中繼資料,而非產生的明文。
  • 執行階段擷取。 應用程式透過官方 SDK 或 CLI,使用獨立的身分來讀取密鑰。AI 代理身分無法以機器身分進行驗證。

只有在您有意讓該 AI 用戶端在密鑰寫入中提交明文值時,才應將明文值放入 AI 對話中。儲存之後,MCP 便無法讀回該值。

一次性憑證

某些管理動作會傳回一次性的新產生憑證,以便您完成其設定。這些包括註冊權杖、新的 Webhook 簽署密鑰,以及暫時性密鑰分享的權杖與通行密碼。請在建立時儲存或傳遞它們;後續的列出與詳細資料動作不會揭露它們。

暫時性密鑰分享是供人類接收者使用。開啟其連結會消耗一次性揭露,因此 AI 應傳遞分享詳細資料,而非開啟連結。


稽核、核准與撤銷

SikkerKey 會以 AI 代理的 ID 與名稱記錄每個管理動作。您可以從儀表板稽核日誌或透過 read_audit 檢閱活動。警示規則與 Webhook 可在選定的代理動作發生時通知您。

您的 AI 用戶端會控制自己在傳送工具呼叫前的確認提示。請設定該用戶端,要求對值得人工審查的變更進行確認,特別是永久刪除、存取變更、機器撤銷、政策變更、IP 允許清單變更及外部傳遞的訊息。

停用或撤銷代理

  • 停用。 立即拒絕代理的簽署請求,同時保留其範圍與存取角色以供日後重新啟用。
  • 撤銷。 刪除伺服器端的 AI 代理身分,並使本機金鑰對無法用於未來的請求。

兩者皆在下一次請求時生效。請從儀表板管理伺服器端的生命週期。撤銷後,請移除本機身分槽位:

sikkerkey-mcp revoke <agent-id>

本機撤銷指令會從這台電腦移除檔案。它不會撤銷 SikkerKey 儀表板中的 AI 代理。


使用多個 AI 代理

一台電腦可以儲存多個 AI 代理身分。使用以下指令列出已註冊的本機身分:

sikkerkey-mcp whoami

產生的用戶端設定會為每個身分建立獨立的伺服器項目。如果您手動設定伺服器,請將 SIKKERKEY_AGENT_ID 設為該用戶端應使用的確切代理:

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

當只安裝一個身分時,伺服器會自動選取它。當存在多個身分且未設定代理 ID 時,啟動會停止並要求您選擇,而非隱含地選取其中一個。


環境變數

變數用途
SIKKERKEY_AGENT_ID選取 MCP 伺服器所使用的本機 AI 代理身分。
SIKKERKEY_HOME將本機 SikkerKey 身分根目錄從預設的 ~/.sikkerkey 變更。

指令參考

指令用途
sikkerkey-mcp install <token>從一次性儀表板權杖註冊新的本機 AI 代理身分。
sikkerkey-mcp whoami列出本機已註冊的 AI 代理身分。
sikkerkey-mcp config <client>為 Claude Code、Claude Desktop、Cursor 或 Codex 列印設定。
sikkerkey-mcp serve透過 stdio 執行 MCP 伺服器。
sikkerkey-mcp revoke [agent-id]移除本機 AI 代理身分槽位。
sikkerkey-mcp執行 MCP 伺服器;等同於 serve。

原始碼與授權

SikkerKey MCP 伺服器在 MIT 授權下完全開源。請透過 SikkerKeyOfficial GitHub 組織 檢閱驗證、身分儲存、協定處理、工具結構及請求行為。