ข้ามไปยังเนื้อหา
KeuralDocs
นักพัฒนา

เซิร์ฟเวอร์ MCP ของ AI Drive

ค้นหาและอ่านเอกสารใน Drive ของ Keural จากไคลเอนต์ MCP ภายนอก เช่น Claude Desktop

Keural เปิด Drive เป็นเซิร์ฟเวอร์ MCP เมื่อไคลเอนต์ MCP ภายนอกเชื่อมต่อ ผู้ใช้ที่ถือคีย์จะค้นหาและอ่านเอกสารใน Drive ทีละหน้าได้ตามสิทธิ์ที่มองเห็น ปลั๊กอิน เชื่อมระบบภายนอกเข้ากับ Keural ส่วนเซิร์ฟเวอร์นี้เชื่อมเอกสารของ Keural เข้ากับ AI ภายนอก

การยืนยันตัวตนใช้คีย์ API ขององค์กร ทีมปฏิบัติการของ Keural เป็นผู้ออกคีย์ จึงให้ขอจากผู้รับผิดชอบการนำไปใช้ คีย์ทำงานด้วยสิทธิ์ของผู้ใช้หนึ่งคนที่ได้รับคีย์และต้องมีสิทธิ์ drive:read เมื่อเพิกถอนคีย์ การเชื่อมต่อเดิมจะถูกบล็อกภายใน 1 นาที

ข้อมูลการเชื่อมต่อ

รายการค่า
การส่งข้อมูลMCP Streamable HTTP
ที่อยู่https://<agent server domain for each environment>/core/v1/mcp-drive
การยืนยันตัวตนAuthorization: Bearer <organization API key> (ทุกคำขอ)

วิธีส่งคำขอ

เมธอดใช้ทำอะไร
POSTคำขอ JSON-RPC หนึ่งรายการ การตอบกลับเป็น application/json หนึ่งรายการเสมอ การแจ้งเตือน (notifications/*) จะได้ 202 โดยไม่มีเนื้อหา
GETสตรีมเหตุการณ์จากเซิร์ฟเวอร์ ต้องมี Accept: text/event-stream และ Mcp-Session-Id ส่ง keepalive ทุก 15 วินาที และรับต่อด้วย Last-Event-ID
DELETEปิดเซสชัน ต้องมี Mcp-Session-Id และได้ 204
  • เมื่อ initialize สำเร็จ จะได้รับ ID เซสชันผ่านเฮดเดอร์ตอบกลับ Mcp-Session-Id เซสชันเป็นตัวเลือกไม่บังคับ จึงส่งเพียง POST โดยไม่มีเซสชันก็ได้ เซสชันจะคงอยู่ 1 ชั่วโมงหลังคำขอล่าสุด และผูกกับคีย์ที่สร้างเซสชันนั้น
  • หากส่งเฮดเดอร์ MCP-Protocol-Version ค่าต้องเป็น 2025-06-18 จะส่งหรือไม่ก็ได้
  • ข้อมูลเซิร์ฟเวอร์คือ keural-ai-drive และฟีเจอร์ที่ให้คือ tools เท่านั้น

ข้อผิดพลาด HTTP

ข้อผิดพลาดในระดับ HTTP ไม่ได้อยู่ในรูปแบบ JSON-RPC จึงให้ตรวจสอบจากรหัสสถานะ

สถานะสาเหตุ
401ไม่มีคีย์หรือคีย์ไม่ถูกต้อง คีย์ถูกเพิกถอนหรือหมดอายุ
403คีย์ไม่มีสิทธิ์ drive:read
400MCP-Protocol-Version ที่ไม่รองรับ แยก JSON ไม่สำเร็จ (-32700) GET หรือ DELETE ไม่มี ID เซสชัน
404ID เซสชันไม่รู้จักหรือหมดอายุ
405GET ไม่มี Accept: text/event-stream

ข้อผิดพลาดในระดับ JSON-RPC จะมาพร้อม 200 ในรูปของ error เมธอดหรือเครื่องมือที่ไม่รู้จักได้ -32601 และรูปแบบคำขอไม่ถูกต้องได้ -32600

เครื่องมือ

เครื่องมืออินพุตคำอธิบาย
list_filesไม่มีรายการเอกสารที่มองเห็นได้ (ชื่อ, id, วันที่อัปโหลด, วันที่แก้ไข, และผู้อัปโหลดหากไม่ใช่ตนเอง) เอกสารใน Drive และไฟล์ที่แนบกับแชตจะแสดงรวมกัน แยกด้วย origin สูงสุด 500 รายการ หากเกินจะมี truncated: true
search_drivequeryค้นหาเนื้อหาเอกสารด้วยความหมาย และคืนข้อความที่เกี่ยวข้องพร้อมข้อมูลการอ้างอิง
read_document_pagefile_id, pageอ่านเนื้อหาเต็มของหน้าที่ระบุในเอกสาร file_id เอามาจากผลลัพธ์ของเครื่องมือสองตัวข้างต้น และ page นับจาก 1

ผลลัพธ์ของเครื่องมือจะอยู่ในรูปสตริง JSON ที่ content[0].text

เครื่องมือJSON ภายใน text
list_files{"files":[{"name","id","created_date","modified_date","owner_name","origin"}], "truncated": false} วันที่อยู่ในรูป yyyy-MM-dd HH:mm
search_drive{"sources":[{"id","name","url","contents":[…]}]}
read_document_page{"file_id","page","rows":[…]}

หากการทำงานของเครื่องมือล้มเหลว จะส่ง isError: true พร้อม {"error": "…"} (ไม่ใช่ข้อผิดพลาด JSON-RPC) เอกสารที่ไม่มีสิทธิ์เข้าถึงหรือไม่มีอยู่ จะตอบด้วย file not found or not accessible ทั้งหมด

ตัวอย่างการตั้งค่าไคลเอนต์

ลงทะเบียนที่อยู่และเฮดเดอร์ในไคลเอนต์ที่รองรับเซิร์ฟเวอร์ MCP ระยะไกล รูปแบบการตั้งค่าแตกต่างกันในแต่ละไคลเอนต์ จึงให้ทำตามวิธีเพิ่มเซิร์ฟเวอร์ MCP ระยะไกลของไคลเอนต์นั้น

{
  "mcpServers": {
    "keural-drive": {
      "type": "http",
      "url": "https://<domain เซิร์ฟเวอร์เอเจนต์ตามสภาพแวดล้อม>/core/v1/mcp-drive",
      "headers": { "Authorization": "Bearer <คีย์ API ขององค์กร>" }
    }
  }
}

เวอร์ชันโปรโตคอล MCP ที่รองรับคือ 2025-06-18

ในหน้านี้