Skip to content

AI 用戶端 ​

keymitt 透過 stdio 說 MCP,所以任何能啟動本機 MCP 伺服器的用戶端都能用。指令永遠是:

sh
keymitt mcp

Claude Code ​

sh
keymitt setup claude

會印出符合你安裝位置的指令,例如:

sh
claude mcp add --scope user keymitt -- /Users/you/.cargo/bin/keymitt mcp

--scope user 讓 keymitt 在每個專案都能用。之後重新啟動 Claude Code。

其他用戶端 ​

新增一個 stdio 伺服器,指令是 keymitt 的完整路徑,參數是 mcp。用 JSON 設定的用戶端通常長這樣:

json
{
  "mcpServers": {
    "keymitt": { "command": "/usr/local/bin/keymitt", "args": ["mcp"] }
  }
}

伺服器會在 MCP 的說明(instructions)裡告訴代理該怎麼做:絕不在對話中索取密碼值、用 {{secret:NAME}} 指稱密碼、API 優先用 http_request、被拒絕的請求不要重複、設定檔用 read_file_redacted 讀。

強化你的用戶端 ​

keymitt 保護的是經過它的密碼。有 shell 的代理仍然可以直接讀憑證檔,所以請叫用戶端擋掉——代理就會改用 read_file_redacted。在 Claude Code,把拒絕規則加進 ~/.claude/settings.json:

json
{
  "permissions": {
    "deny": [
      "Read(**/.env)",
      "Read(**/.env.*)",
      "Read(**/*.pem)",
      "Read(**/*.key)",
      "Read(~/.pgpass)",
      "Read(~/.netrc)",
      "Read(~/.ssh/**)",
      "Read(~/.aws/credentials)"
    ]
  }
}

請依你的憑證實際放在哪裡調整清單。Read 規則擋不住 cat .env 這類 shell 指令;那裡要靠用戶端本身對 shell 指令的權限確認把關。

日誌 ​

keymitt mcp 把日誌寫到標準錯誤,預設是 warn 等級。設定 KEYMITT_LOG=info(或 debug)可以看到更多。日誌絕不包含密碼值。

以 MIT 或 Apache-2.0 授權釋出。