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
  • จัดการการกู้คืนและทำความสะอาด — กู้คืนหรือล้างซีเคร็ตที่ถูกลบแบบซอฟต์ด้วย manage_trash และจัดการรายการอนุญาต IP ของ vault ผ่าน manage_ipallowlist

เอกสาร

MCP Server

เชื่อมต่อ AI clients ที่รองรับ MCP เข้ากับ SikkerKey ผ่าน identity ของ AI agent ที่เฉพาะเจาะจง ถูกจำกัดขอบเขต มีการตรวจสอบ และไม่เห็นข้อมูล plaintext

MCP server ของ SikkerKey เชื่อมต่อ AI clients ที่รองรับ MCP เข้ากับ management plane ของ SikkerKey ช่วยให้ผู้ช่วย AI สามารถช่วยดูแลโครงการ ข้อมูลเมตาของ secrets นโยบาย เครื่องจักร การแจ้งเตือน กิจกรรมการตรวจสอบ และการดำเนินการ vault อื่นๆ ผ่าน identity ของ AI agent ที่เฉพาะเจาะจง

MCP server ถูกออกแบบให้ไม่สามารถอ่านค่าของ secrets ที่เก็บไว้ได้ มันสามารถสร้างหรือแทนที่ค่าที่คุณตั้งใจให้ได้ แต่ไม่มีเครื่องมือใดที่สามารถดึง plaintext ของ secret ที่มีอยู่แล้วกลับมาได้


วิธีการทำงาน

MCP server ทำงานในเครื่องของคุณในฐานะ child process ของ AI client และสื่อสารกับมันผ่าน standard input และ output เมื่อ AI เรียกใช้เครื่องมือของ SikkerKey เซิร์ฟเวอร์จะเซ็นคำขอ API ของ SikkerKey ที่เกี่ยวข้องด้วย identity ของ AI agent ที่เลือก

  • Identity ในเครื่อง คีย์ส่วนตัว Ed25519 ของ AI agent ถูกสร้างและเก็บไว้ในคอมพิวเตอร์ของคุณ มีเพียงคีย์สาธารณะเท่านั้นที่ลงทะเบียนกับ SikkerKey
  • คำขอที่เซ็นชื่อ ทุกคำขอครอบคลุม HTTP method, path, timestamp, one-time nonce และ request-body hash คำขอที่ถูกแก้ไขหรือเล่นซ้ำจะไม่ผ่านการตรวจสอบ
  • การอนุญาตที่จำกัดขอบเขต Management scopes ควบคุมการดำเนินการทั่วทั้ง vault บทบาทการเข้าถึงควบคุมแอปพลิเคชัน โครงการ ประเภท secrets การดำเนินการเครื่องจักร และความสามารถด้านนโยบายที่ agent สามารถเข้าถึงได้
  • ผูกกับผู้สร้างที่ยังใช้งานอยู่ การเข้าถึงที่มีผลของ agent จะไม่มีทางเกินกว่าการเข้าถึงปัจจุบันของผู้สร้าง หากการเข้าถึงของบุคคลนั้นถูกลดหรือลบออก สิทธิ์ของ agent จะหดลงในคำขอถัดไป
  • การระบุแหล่งที่มาอย่างครบถ้วน ทุกการเปลี่ยนแปลงที่สำเร็จจะถูกบันทึกใน Audit Log ภายใต้ identity ของ AI agent

ข้อกำหนด

  • Vault ของ SikkerKey
  • สิทธิ์ในการจัดเตรียม AI agent ใน vault
  • AI client ที่รองรับ MCP
  • แพลตฟอร์มเดสก์ท็อปหรือเซิร์ฟเวอร์ที่รองรับ

เซิร์ฟเวอร์ที่แพ็กเกจรองรับ Linux บน x64 และ arm64, macOS บน x64 และ Apple silicon และ Windows บน x64 มันทำงานกับ MCP client ใดก็ได้ที่สามารถเปิดเซิร์ฟเวอร์ผ่าน stdio

Clients ที่มีการสร้างการกำหนดค่าให้

  • Claude Code
  • Claude Desktop
  • Cursor
  • Codex

ติดตั้งเซิร์ฟเวอร์

ติดตั้งคำสั่งแบบ global ด้วย npm:

npm install -g sikkerkey-mcp

คุณยังสามารถรันคำสั่งโดยไม่ต้องติดตั้งแบบ global:

npx sikkerkey-mcp <subcommand>

ตั้งค่า AI agent

ในแดชบอร์ด SikkerKey เปิด Machines → AI Agents และเลือก Bootstrap AI agent

เลือก management scopes และบทบาทการเข้าถึงที่ agent ควรได้รับ จากนั้นคัดลอก one-time bootstrap token

ลงทะเบียน identity บนคอมพิวเตอร์ที่จะรัน MCP server

อนุมัติ AI agent ที่รอการอนุมัติในแดชบอร์ด

สร้างการกำหนดค่าสำหรับ AI client ของคุณ วางลงในไฟล์การกำหนดค่าที่ระบุ และรีสตาร์ท client

ขอให้ client ที่เชื่อมต่อเรียก whoami และยืนยัน vault, scopes, การเข้าถึงโครงการ และสถานะ agent ที่แสดง

ลงทะเบียน identity

sikkerkey-mcp install <bootstrap-token>

เพิ่มชื่อแสดงผลในเครื่องระหว่างการลงทะเบียน:

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

การลงทะเบียนสร้างคู่คีย์ Ed25519 ในเครื่องและเก็บ identity ไว้ภายใต้:

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

ไดเรกทอรี agent, ไฟล์ identity และคีย์ส่วนตัวถูกสร้างด้วยสิทธิ์ที่จำกัด agent จะยังคงรอการอนุมัติจนกว่าคุณจะอนุมัติจากแดชบอร์ด

สร้างการกำหนดค่า client

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

แต่ละคำสั่งพิมพ์บล็อกการกำหนดค่าที่พร้อมวางและตำแหน่งที่ client นั้นใช้ การกำหนดค่าที่สร้างจะเปิด sikkerkey-mcp serve และเลือก agent ด้วย SIKKERKEY_AGENT_ID

ใช้ identity ของ AI agent แยกต่างหากสำหรับแต่ละ client สภาพแวดล้อมอัตโนมัติ หรือขอบเขตความน่าเชื่อถือ ซึ่งทำให้สิทธิ์และการระบุแหล่งที่มาใน Audit Log ง่ายต่อการตรวจสอบ


ตรวจสอบการเชื่อมต่อ

หลังจากรีสตาร์ท AI client ขอให้มันใช้ whoami การเรียกนี้พร้อมใช้งานเสมอและรายงาน:

  • ID และชื่อของ AI agent
  • สถานะการอนุมัติและการเปิดใช้งาน
  • Management scopes ที่ได้รับ
  • บทบาทการเข้าถึงและแอปพลิเคชันและโครงการที่เข้าถึงได้
  • ความสามารถต่อโครงการ
  • รายการตรวจสอบ 20 รายการล่าสุดที่ระบุแหล่งที่มากับ agent

ใช้ whoami ที่จุดเริ่มต้นของเซสชันที่ละเอียดอ่อนหรือหลังจากเปลี่ยนบทบาทของผู้สร้าง, scopes ของ agent หรือบทบาทการเข้าถึง


สิ่งที่เครื่องมือสามารถจัดการได้

คุณสามารถอธิบายผลลัพธ์ที่ต้องการด้วยภาษาปกติ AI client จะเลือกเครื่องมือและการดำเนินการที่เหมาะสม ในขณะที่ SikkerKey ตรวจสอบการอนุญาตปัจจุบันของ agent สำหรับทุกคำขออย่างอิสระ

เครื่องมือวัตถุประสงค์
whoamiยืนยัน agent ที่ใช้งานอยู่ สิทธิ์ การเข้าถึงโครงการ สถานะ และกิจกรรมล่าสุดที่ระบุแหล่งที่มา
manage_projectsเรียกดูแอปพลิเคชันและโครงการที่ agent เข้าถึงได้
manage_secretsจัดการข้อมูลเมตาของ secrets ค่า เวอร์ชัน การหมุนเวียน และ managed secrets ที่กำหนดเวลาภายในโครงการที่ได้รับอนุญาต
manage_temporary_secretsสร้างและตรวจสอบ secret shares แบบใช้ครั้งเดียวที่ทำลายตัวเองได้
manage_policiesสร้างและจัดการนโยบายการเข้าถึงและการผูก secrets
manage_canariesวาง กำหนดค่า ติดตั้ง หรือถอด canary secrets และกู้คืนโครงการที่ถูกแช่แข็ง
manage_machinesแสดงรายการ ตรวจสอบ อนุมัติ ปฏิเสธ เปลี่ยนชื่อ หรือเพิกถอน machine identities
manage_project_machinesแนบเครื่องจักรเข้ากับโครงการและจัดการสิทธิ์ต่อ secret ที่ชัดเจน
manage_enrollmentออก ตรวจสอบ และเพิกถอน enrollment tokens สำหรับเครื่องจักรชั่วคราว
manage_ai_agentsตรวจสอบและจัดการสถานะวงจรชีวิตของ AI agent ชื่อ และการอนุมัติ
manage_alertsเลือกว่าการดำเนินการตรวจสอบใดที่ควรทริกเกอร์การแจ้งเตือน
manage_webhooksสร้างและจัดการ webhooks การส่งการแจ้งเตือนที่เซ็นชื่อ
manage_ipallowlistจัดการ IP allowlist ของ vault ที่ใช้โดยการตรวจสอบสิทธิ์และการลงทะเบียนเครื่องจักร
manage_trashแสดงรายการ กู้คืน หรือล้าง secrets ที่ถูกลบแบบ soft-delete อย่างถาวร
read_auditค้นหากิจกรรม ส่งออกหลักฐานการตรวจสอบ และตรวจสอบสถิติการใช้งาน
supportเปิด อ่าน ตอบกลับ และให้คะแนนตั๋วสนับสนุน
manage_sdksค้นหาคำแนะนำการติดตั้งและเริ่มต้นอย่างรวดเร็วสำหรับ SDK รันไทม์อย่างเป็นทางการ

เครื่องมือที่แสดงให้ AI client เห็นมีความเสถียร แต่การดำเนินการแต่ละรายการจะสำเร็จก็ต่อเมื่อ agent ที่เลือกมี scope และความสามารถโครงการที่จำเป็นในเวลาที่เรียก


Management scopes และการเข้าถึงโครงการ

AI agent ได้รับชุดสิทธิ์สองชุดที่เสริมกัน

Management scopes

Management scopes ควบคุมพื้นที่ทั่วทั้ง vault เช่น เครื่องจักร AI agents การลงทะเบียน การตรวจสอบ การแจ้งเตือน webhooks IP allowlist ถังขยะ และการสนับสนุน สามารถให้สิทธิ์อ่านและเขียนแยกกันได้ในกรณีที่ฟีเจอร์รองรับ

บทบาทการเข้าถึง

บทบาทการเข้าถึงควบคุมระนาบโครงการ มันกำหนดว่าแอปพลิเคชันและโครงการแบบสแตนด์อโลนใดที่ปรากฏต่อ agent และสิ่งที่มันสามารถทำได้ในแต่ละโครงการ รวมถึงประเภท secrets ที่อนุญาต การแนบเครื่องจักรและสิทธิ์ นโยบาย และ canaries

SikkerKey ตัดกันชุดสิทธิ์ทั้งสองกับการเข้าถึงปัจจุบันของผู้ใช้ที่สร้างในทุกคำขอ agent ไม่สามารถใช้เครื่องมือ MCP เพื่อแทนที่ management scopes หรือบทบาทการเข้าถึงของตัวเองได้

เริ่มต้นด้วยชุด scopes และความสามารถโครงการที่เล็กที่สุดที่ครอบคลุมขั้นตอนการทำงานที่ตั้งใจ เพิ่มการเข้าถึงจากแดชบอร์ดในภายหลังเมื่อ agent ต้องการจริงๆ


วิธีจัดการค่าของ secrets ที่เก็บไว้

พื้นผิว MCP แยกการบริหาร secrets ออกจากการดึง secrets ในรันไทม์

  • การอ่านข้อมูลเมตา การแสดงรายการ secret การเปิดรายละเอียด หรือการดูประวัติเวอร์ชันจะส่งคืนตัวระบุ ชื่อ ประเภท ชื่อฟิลด์ หมายเหตุ เวอร์ชัน และการประทับเวลา—ไม่ใช่ค่าที่เก็บไว้
  • การสร้างและอัปเดต เมื่อคุณตั้งใจให้ค่าสำหรับการสร้างหรือแทนที่ ค่านั้นจะผ่าน AI client เข้าสู่คำขอเขียนที่เซ็นชื่อและถูกเข้ารหัสโดย SikkerKey การตอบกลับส่งคืนข้อมูลเมตาและไม่สะท้อนค่า
  • การหมุนเวียนที่สร้างโดยเซิร์ฟเวอร์ การหมุนเวียนและการสร้าง managed secrets สามารถสร้างค่าใหม่ภายใน SikkerKey AI ได้รับเวอร์ชันใหม่และข้อมูลเมตากำหนดการ ไม่ใช่ plaintext ที่สร้าง
  • การดึงในรันไทม์ แอปพลิเคชันอ่าน secrets ผ่าน SDK อย่างเป็นทางการหรือ CLI โดยใช้ machine identity แยกต่างหาก identity ของ AI agent ไม่สามารถตรวจสอบสิทธิ์เป็นเครื่องจักรได้

วางค่า plaintext ในการสนทนากับ AI เฉพาะเมื่อคุณตั้งใจให้ AI client นั้นส่งค่าในการเขียน secret หลังจากการจัดเก็บ MCP ไม่สามารถอ่านค่านั้นกลับมาได้

ข้อมูลประจำตัวแบบใช้ครั้งเดียว

การดำเนินการจัดการบางอย่างส่งคืนข้อมูลประจำตัวที่สร้างใหม่ครั้งเดียวเพื่อให้คุณตั้งค่าให้เสร็จสมบูรณ์ ซึ่งรวมถึง enrollment tokens ความลับการเซ็น webhook ใหม่ และ token และ passphrase สำหรับการแชร์ secret ชั่วคราว เก็บหรือส่งมอบในเวลาที่สร้าง การแสดงรายการและรายละเอียดในภายหลังจะไม่เปิดเผย

การแชร์ secret ชั่วคราวมีไว้สำหรับผู้รับที่เป็นมนุษย์ การเปิดลิงก์จะใช้การเปิดเผยแบบครั้งเดียว ดังนั้น AI ควรส่งมอบรายละเอียดการแชร์แทนที่จะเปิดลิงก์


การตรวจสอบ การอนุมัติ และการเพิกถอน

SikkerKey บันทึกการดำเนินการจัดการแต่ละรายการด้วย ID และชื่อของ AI agent คุณสามารถตรวจสอบกิจกรรมจาก Audit Log ในแดชบอร์ดหรือผ่าน read_audit กฎการแจ้งเตือนและ webhooks สามารถแจ้งให้คุณทราบเมื่อมีการดำเนินการของ agent ที่เลือก

AI client ของคุณควบคุมพรอมต์การยืนยันของตัวเองก่อนส่งการเรียกเครื่องมือ กำหนดค่า client นั้นให้ต้องมีการยืนยันสำหรับการเปลี่ยนแปลงที่สมควรได้รับการตรวจสอบจากมนุษย์ โดยเฉพาะการลบถาวร การเปลี่ยนแปลงการเข้าถึง การเพิกถอนเครื่องจักร การเปลี่ยนแปลงนโยบาย การเปลี่ยนแปลง IP allowlist และข้อความที่ส่งภายนอก

ปิดใช้งานหรือเพิกถอน agent

  • ปิดใช้งาน ปฏิเสธคำขอที่เซ็นชื่อของ agent ทันทีในขณะที่รักษา scopes และบทบาทการเข้าถึงไว้สำหรับการเปิดใช้งานใหม่ในภายหลัง
  • เพิกถอน ลบ identity ของ AI agent ฝั่งเซิร์ฟเวอร์และทำให้คู่คีย์ในเครื่องใช้ไม่ได้สำหรับคำขอในอนาคต

ทั้งสองมีผลในคำขอถัดไป จัดการวงจรชีวิตฝั่งเซิร์ฟเวอร์จากแดชบอร์ด หลังจากการเพิกถอน ลบช่อง identity ในเครื่อง:

sikkerkey-mcp revoke <agent-id>

คำสั่ง revoke ในเครื่องลบไฟล์จากคอมพิวเตอร์นี้ มันไม่ได้เพิกถอน AI agent ในแดชบอร์ด SikkerKey


ใช้ AI agent มากกว่าหนึ่งตัว

คอมพิวเตอร์สามารถเก็บ identity ของ AI agent หลายตัว แสดงรายการ identity ในเครื่องที่ลงทะเบียนด้วย:

sikkerkey-mcp whoami

การกำหนดค่า client ที่สร้างจะสร้างรายการเซิร์ฟเวอร์แยกต่างหากสำหรับแต่ละ identity หากคุณกำหนดค่าเซิร์ฟเวอร์ด้วยตนเอง ตั้งค่า SIKKERKEY_AGENT_ID เป็น agent ที่แน่นอนที่ client นั้นควรใช้:

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

เมื่อติดตั้ง identity เพียงหนึ่งตัว เซิร์ฟเวอร์จะเลือกโดยอัตโนมัติ เมื่อมีหลายตัวและไม่มีการกำหนดค่า agent ID การเริ่มต้นจะหยุดและขอให้คุณเลือกแทนที่จะเลือกโดยนัย


ตัวแปรสภาพแวดล้อม

ตัวแปรวัตถุประสงค์
SIKKERKEY_AGENT_IDเลือก identity ของ AI agent ในเครื่องที่ใช้โดย MCP server
SIKKERKEY_HOMEเปลี่ยน root identity ของ SikkerKey ในเครื่องจากค่าเริ่มต้น ~/.sikkerkey

คำอ้างอิงคำสั่ง

คำสั่งวัตถุประสงค์
sikkerkey-mcp install <token>ลงทะเบียน identity ของ AI agent ในเครื่องใหม่จาก one-time dashboard token
sikkerkey-mcp whoamiแสดงรายการ identity ของ AI agent ที่ลงทะเบียนในเครื่อง
sikkerkey-mcp config <client>พิมพ์การกำหนดค่าสำหรับ Claude Code, Claude Desktop, Cursor หรือ Codex
sikkerkey-mcp serveรัน MCP server ผ่าน stdio
sikkerkey-mcp revoke [agent-id]ลบช่อง identity ของ AI agent ในเครื่อง
sikkerkey-mcpรัน MCP server; เทียบเท่ากับ serve

ซอร์สโค้ดและใบอนุญาต

MCP server ของ SikkerKey เป็นโอเพนซอร์สเต็มรูปแบบภายใต้ MIT License ตรวจสอบการตรวจสอบสิทธิ์ การจัดเก็บ identity การจัดการโปรโตคอล โครงสร้างเครื่องมือ และพฤติกรรมคำขอผ่าน องค์กร GitHub SikkerKeyOfficial