MCP
API เดิม แต่พูดกับผู้ช่วยแทนที่จะพูดกับสถานการณ์ ไคลเอนต์ MCP เลือกว่าจะเรียกอะไรขณะทำงาน จากคำอธิบายเครื่องมือ — สิ่งที่มันเข้าถึงได้จึงเท่ากับสิ่งที่ข้อมูลรับรองเบื้องหลังเข้าถึงได้พอดี และใต้ทุกเครื่องมือคือการเรียก API สาธารณะ
ปลายทางเดียว
ทุกอย่างส่งไปที่ POST /v1/mcp ไม่มีเซสชันให้เปิดและไม่มีสตรีมให้ถือ: GET และ DELETE ตอบ 405 และแต่ละข้อความคือคำขอของตัวเอง
POST https://api.mosaqo.app/v1/mcp
Authorization: Bearer $MOSAQO_KEY
MCP-Protocol-Version: 2026-07-28รองรับโปรโตคอลทุกรุ่นตั้งแต่ 2025-03-26 ถึง 2026-07-28 ไคลเอนต์ที่เริ่มด้วย initialize จะได้การจับมือที่มันคาดหวัง ส่วนที่ระบุรุ่นในทุกคำขอก็จะได้รับบริการแบบนั้น
เชื่อมด้วยคีย์ API
ทางที่เร็วที่สุด และเป็นทางที่ถูกต้องสำหรับเครื่องมือที่คุณรันเอง คีย์ใดก็ได้ทำงานเป็นโทเคน bearer และเครื่องมือที่เสนอจะถูกตัดให้เหลือเท่าสิทธิ์ของคีย์นั้น
ไคลเอนต์ส่วนใหญ่รับบล็อกแบบนี้:
{
"mcpServers": {
"mosaqo": {
"type": "http",
"url": "https://api.mosaqo.app/v1/mcp",
"headers": { "Authorization": "Bearer $MOSAQO_KEY" }
}
}
}curl -X POST https://api.mosaqo.app/v1/mcp \
-H "Authorization: Bearer $MOSAQO_KEY" \
-H "Content-Type: application/json" \
-H "MCP-Protocol-Version: 2026-07-28" \
-H "Mcp-Method: tools/list" \
-d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }'เชื่อมผ่าน OAuth
สำหรับตัวเชื่อมในไดเรกทอรีของคนอื่น ที่ผู้ใช้ไม่เคยแตะคีย์เลย การค้นหาเป็นไปตาม RFC 9728 และ RFC 8414 ไคลเอนต์ลงทะเบียนตัวเองด้วย RFC 7591 และทุกการอนุญาตใช้ PKCE กับ S256
curl https://api.mosaqo.app/.well-known/oauth-protected-resource
curl https://api.mosaqo.app/.well-known/oauth-authorization-serverการเรียกที่ไม่ได้รับอนุญาตจะบอกเองว่าต้องไปที่ไหนและขออะไร:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="Mosaqo MCP",
resource_metadata="https://api.mosaqo.app/.well-known/oauth-protected-resource",
scope="qr:read analytics:read reviews:read exports:read"ผู้ที่อนุมัติได้ลงชื่อเข้าใช้ Mosaqo เลือกพื้นที่ทำงานที่เกี่ยวข้อง และทำได้เฉพาะที่ตนเป็นเจ้าของหรือผู้ดูแล — เส้นเดียวกับที่ตัดสินว่าใครออกคีย์ API ได้ ภายหลังยกเลิกการเชื่อมได้ที่ Bulk & API
ผู้ช่วยทำอะไรได้
สิทธิ์ชุดเดิมที่คุณรู้จักอยู่แล้ว ไม่เปลี่ยน เครื่องมือที่ข้อมูลรับรองไม่อนุญาตจะไม่ปรากฏใน tools/list และเรียกโดยระบุชื่อก็ไม่ได้ — คำตอบที่เป็นปัจจุบันของทุกการเชื่อมต่อจึงคือ tools/list เอง
| สโคป | สิทธิ์ที่ได้ |
|---|---|
qr:read | แสดงรายการและอ่าน QR code โฟลเดอร์ และเทมเพลต |
qr:write | สร้าง แก้ไข เปลี่ยนปลายทาง เผยแพร่ เก็บเข้าคลัง และลบ |
exports:read | ดาวน์โหลดการ์ดที่เรนเดอร์แล้ว |
analytics:read | analytics แบบรวมและการสแกนรายรายการ |
bulk:write | สร้างและอ่านงานแบบ bulk |
webhooks:write | จัดการการสมัครรับ webhook |
reviews:read | สถานที่ แบบสอบถาม และผลเป็นอย่างไร — ไม่ใช่คำตอบเอง |
สิ่งที่มันจะไม่มีวันเข้าถึง
สิ่งที่ผู้คนเขียนในแบบสอบถาม reviews:read เปิดสถานที่ แบบสอบถาม และผลของมัน: จำนวน คะแนน และการกระจายของคำตอบในแต่ละคำถาม ส่วนประโยคที่ผู้มาเยือนพิมพ์นั้นไม่ถูกส่งคืนที่นี่ เช่นเดียวกับที่ไม่ถูกส่งคืนที่ใดก็ตามที่ข้อมูลรับรองไปถึง — ด้วยเหตุผลเดียวกับที่เหตุการณ์ feedback.* พาคะแนนไปแต่ไม่เคยพาถ้อยคำ
การลบโค้ด เส้นทาง REST ขอการยืนยันที่ต้องพิมพ์ เพราะการทำลายการเปลี่ยนเส้นทางหลังโค้ดที่พิมพ์แล้วนั้นย้อนกลับไม่ได้ และนั่นไม่ใช่การยืนยันที่ผู้ช่วยให้แทนใครได้ สิ่งที่มีให้แทนคือการเก็บเข้าคลัง ซึ่งย้อนกลับได้
การเขียนถูกทำเครื่องหมายว่าเป็นการเขียน เครื่องมือที่เปลี่ยนแปลงอะไรบางอย่างมี readOnlyHint: false และการเก็บเข้าคลังมี destructiveHint: true — นี่คือสิ่งที่ทำให้ไคลเอนต์หยุดและถามคนก่อนลงมือ