Kamai MCP
ทางการการนับปริมาณงานจากแบบก่อสร้าง: แปลงแบบ PDF เป็นห้อง ผนัง ประตู หน้าต่าง พื้นที่ และจำนวน พร้อมมุมมองแบบโต้ตอบของแบบแปลนและการนับปริมาณงาน
คุณทำอะไรได้บ้างด้วย Kamai MCP?
-
เรียกดูโครงการและแบบแปลน — ขอให้แสดงแผงแบบโต้ตอบของโครงการก่อสร้างของคุณและแบบแปลนพร้อมสถานะความพร้อมใช้งานผ่าน
view_projectsหรือlist_blueprints -
ตรวจสอบการวัดปริมาณ — ขอตารางที่จัดเรียงได้ของปริมาณที่วัดได้ (ห้อง ผนัง ประตู หน้าต่าง) จากแบบแปลนโดยใช้
view_takeoffหรือlist_elements -
แก้ไของค์ประกอบในแบบแปลน — สั่งให้เปลี่ยนชื่อ เปลี่ยนสี หรือจัดหมวดหมู่องค์ประกอบใหม่ หรือสร้างโฟลเดอร์คำอธิบาย ผ่าน
update_elements,move_elementsหรือcreate_folder -
ดาวน์โหลดแบบแปลนที่ประมวลผลแล้ว — รับลิงก์ PDF ชั่วคราวของแบบแปลนที่ไฮไลต์องค์ประกอบที่ตรวจพบโดยใช้
download_plan -
จัดการโครงการและงาน — สร้างหรือเปลี่ยนชื่อโครงการ และดูหรือยกเลิกงานประมวลผล ผ่าน
create_project,update_project,list_jobsหรือcancel_job -
เรียกใช้คำสั่งขั้นสูง — เมื่อเปิดใช้เครื่องมือค้นหาแล้ว นับองค์ประกอบตามหมวดหมู่ ค้นหารายการเฉพาะ หรือคำนวณพื้นที่ผิวผนังสุทธิโดยใช้
count_elements,find_elementsหรือcalculate_wall_surface_area
เซิร์ฟเวอร์ MCP แบบโฮสต์
npx add-mcp 'https://mcp.kamai.io/mcp'ติดตั้งลง Claude Code, Codex, Cursor และอื่นๆ
เอกสาร
kamai-mcp
เซิร์ฟเวอร์ MCP ของ Kamai: เครื่องมือและวิดเจ็ต MCP Apps สำหรับ โปรเจกต์แบบแปลนก่อสร้าง, แบบแปลน และการวัดปริมาณของ Kamai โดยทำงานผ่าน MCP API ของ Kamai และตรวจสอบโทเค็นการเข้าถึงที่ออกโดย เซิร์ฟเวอร์อนุญาต OAuth ของ Kamai โดยไม่เก็บความลับใด ๆ ของ Kamai
เครื่องมือ
| เครื่องมือ | ฟังก์ชัน |
|---|---|
view_projects | แผงแสดงโปรเจกต์และแบบแปลนของผู้ใช้แบบโต้ตอบ |
list_blueprints | แบบแปลนที่จัดกลุ่มตามโปรเจกต์ พร้อม ID และสถานะความพร้อม |
view_blueprint | หน้าแบบแปลนพร้อมรูปทรงการวัดที่วาดซ้อนทับ |
view_takeoff | ปริมาณการวัดที่คำนวณแล้วเป็นตารางที่เรียงลำดับได้ |
list_elements | แถวรายการต่อองค์ประกอบ (ห้อง ผนัง ประตู หน้าต่าง วัตถุ) พร้อมโครงร่าง |
list_folders | โฟลเดอร์คำอธิบายของแบบแปลน |
download_plan | PDF ของแบบแปลนที่ประมวลผลแล้วพร้อมไฮไลต์องค์ประกอบที่ตรวจพบ เป็นลิงก์ดาวน์โหลดชั่วคราว |
update_elements, move_elements, create_folder | เปลี่ยนชื่อ เปลี่ยนสี และจัดเก็บองค์ประกอบใหม่; สร้างโฟลเดอร์ |
set_opening_height | เก็บความสูงที่ผู้ใช้ระบุ หรือแท็กประตู/หน้าต่าง บนชิ้นส่วนช่องเปิดของผนัง |
create_project, update_project | สร้างหรือเปลี่ยนชื่อโปรเจกต์ |
list_jobs, get_job, cancel_job | งานประมวลผลของโปรเจกต์ |
view_upload | แผงอัปโหลด PDF แบบแปลน |
ingest_blueprint_from_chat | นำเข้า PDF ที่แนบกับข้อความ ChatGPT (เฉพาะ ChatGPT) |
open_kamai | เปิดแอป Kamai ในแผง |
ด้วย KAMAI_QUERY_TOOLS=on (ดูด้านล่าง):
| เครื่องมือ | ฟังก์ชัน |
|---|---|
count_elements | จำนวนและยอดรวมตามหมวดหมู่ Kamai (ประตู หน้าต่าง ผนัง ห้องเปียก…) จัดกลุ่มและรวมในฐานข้อมูล |
find_elements | องค์ประกอบแต่ละรายการพร้อมประเภท โฟลเดอร์ แท็ก ทิศทาง และการวัด |
calculate_wall_surface_area | พื้นที่ผนังสุทธิ (สีหรือปูน) ของห้อง |
render_table | แผงตารางที่แถวไฮไลต์องค์ประกอบบนแผนผัง |
set_scale | ตั้งค่ามาตราส่วนการวาดของแบบแปลน |
list_blueprints ยังรับ include_inventory (พร้อม project_id): สิ่งที่แต่ละ
แบบแปลนมีอยู่
list_projects, get_project, get_blueprint, request_blueprint_upload,
finalize_blueprint_upload และพร้อมกับเครื่องมือค้นหา get_table_row_elements และ
get_element_outlines เป็นเฉพาะแอป: เรียกใช้ได้โดยวิดเจ็ตเท่านั้น ไม่แสดงต่อโมเดล
รันในเครื่องด้วยคีย์ API ของคุณ
วิธีที่เร็วที่สุดในการรันเซิร์ฟเวอร์นี้กับข้อมูล Kamai ของคุณคือโหมดโลคัล: โฮสต์จะสปอว์นเซิร์ฟเวอร์ สื่อสารผ่าน stdio และข้อมูลประจำตัวคือ คีย์ API ส่วนตัวจาก Kamai (API Keys ในแอป Kamai) แทน OAuth
bun install
bun run build:widgets
KAMAI_API_KEY=... MCP_API_BASE_URL=https://mcp-api.kamai.io bun run local
Claude Code:
claude mcp add --env KAMAI_API_KEY=... --env MCP_API_BASE_URL=https://mcp-api.kamai.io \
--transport stdio kamai -- bun /path/to/kamai-mcp/src/local.ts
Claude Desktop (claude_desktop_config.json):
{ "mcpServers": { "kamai": {
"command": "bun", "args": ["/path/to/kamai-mcp/src/local.ts"],
"env": { "KAMAI_API_KEY": "...", "MCP_API_BASE_URL": "https://mcp-api.kamai.io" } } } }
คีย์ถูกใช้เป็น bearer สำหรับทุกการเรียก API; เครื่องมือทำงานในฐานะเจ้าของคีย์
เพิ่ม KAMAI_QUERY_TOOLS=on ลงในสภาพแวดล้อมสำหรับเครื่องมือค้นหา
รันเซิร์ฟเวอร์ HTTP
bun install
cp .env.example .env
bun run dev
ค่าใน .env.example เป็นตัวยึดตำแหน่ง: ตั้งค่า MCP_PUBLIC_URL และ
MCP_AUTH_ISSUER เป็นทันเนลของคุณและเซิร์ฟเวอร์อนุญาตที่เข้าถึงได้ก่อนเริ่มต้น
มิฉะนั้นทุกคำขอจะถูกปฏิเสธด้วย invalid_token
| ตัวแปร | ความหมาย |
|---|---|
PORT | พอร์ตฟังค่าเริ่มต้น 8006 |
MCP_PUBLIC_URL | URL ที่โฮสต์เรียกและขอโทเค็น (resource ในการค้นพบ); เป็นทันเนล ไม่ใช่ localhost |
MCP_AUTH_ISSUER | ผู้ออกโทเค็นการเข้าถึง ตรวจสอบแบบไบต์ต่อไบต์กับ iss ของโทเค็น |
MCP_AUTH_JWKS_URI | ไม่บังคับ ค่าเริ่มต้นคือ {MCP_AUTH_ISSUER}/jwks.json |
MCP_API_BASE_URL | URL ฐาน MCP API ของ Kamai, https://mcp-api.kamai.io และยังเป็น audience ที่โทเค็นการเข้าถึงต้องมี |
MCP_ACCEPTED_AUDIENCES | ไม่บังคับ รายการ audience คั่นด้วยเครื่องหมายจุลภาค สำหรับการเปลี่ยนผ่าน ค่าเริ่มต้นคือ MCP_API_BASE_URL |
KAMAI_API_KEY | เฉพาะโหมดโลคัล: คีย์ API ส่วนตัวที่เครื่องมือรันในฐานะ |
KAMAI_APP_ORIGINS | ไม่บังคับ รายการ origin เพิ่มเติมคั่นด้วยเครื่องหมายจุลภาคที่ open_kamai อาจฝัง; รายการแรกเป็นค่าเริ่มต้น |
KAMAI_QUERY_TOOLS | on ลงทะเบียนเครื่องมือค้นหา https://mcp-api.kamai.io ให้บริการ; ปิดไว้เมื่อใช้กับ API ที่ตอบ /v1/vocabulary ด้วย 404 |
KAMAI_MCP_NO_INSTRUCTIONS | 1 ละคำแนะนำเซิร์ฟเวอร์ออก เช่นเดียวกับ claude.ai เพื่อทดสอบคำอธิบายเครื่องมือเพียงอย่างเดียว |
MCP API และเซิร์ฟเวอร์อนุญาตดำเนินการโดย Kamai ดังนั้นการรัน
เซิร์ฟเวอร์ HTTP แบบครบวงจรต้องเข้าถึงทั้งสองอย่าง เซิร์ฟเวอร์ MCP ทดสอบได้จริง
กับโฮสต์จริงเท่านั้น และโฮสต์เข้าถึงได้เฉพาะ URL HTTPS สาธารณะ ดังนั้นการพัฒนา
โหมด HTTP หมายถึงการรันหลังทันเนลและชี้ MCP_PUBLIC_URL ไปที่ทันเนลนั้น
bun run dev สร้างวิดเจ็ตก่อน: เซิร์ฟเวอร์ให้บริการ HTML ที่สร้างแล้วจาก
dist/widgets/ ไม่ใช่ซอร์ส React ดังนั้นต้องสร้างใหม่หลังจากแก้ไขอะไรก็ตามภายใต้
src/widgets/app/
วิดเจ็ตใช้ React, TypeScript, Vite, Tailwind CSS, DaisyUI และ Lucide โดย Vite สร้างทรัพยากร HTML แบบรวมไฟล์เดียวต่อวิดเจ็ต จึงไม่ต้องโฮสต์อะไรเพิ่มเติม
บิลด์โลคัลต้องใช้ Bun 1.3.3 และ Node.js 22.12 หรือใหม่กว่า
โครงสร้าง
src/index.ts เซิร์ฟเวอร์ HTTP, เมตาดาตาทรัพยากรที่ป้องกันด้วย OAuth, การขนส่ง MCP
src/local.ts จุดเข้า stdio สำหรับโหมดโลคัล (คีย์ API ส่วนตัว)
src/auth.ts การตรวจสอบโทเค็น Bearer (ความท้าทาย RFC 9728)
src/server.ts การลงทะเบียนเครื่องมือและทรัพยากร
src/api.ts ไคลเอนต์สำหรับ Kamai MCP API
src/elements.ts list_elements การแบ่งหน้า การกรอง และการจำกัดผลลัพธ์
src/errors.ts ข้อความที่การเรียกเครื่องมือที่ล้มเหลวแสดงต่อโมเดล
src/query/ เครื่องมือค้นหา: คำอธิบาย คำศัพท์ ตัวกรอง งบประมาณ สัญญา
src/widgets/ ทรัพยากรวิดเจ็ต เมตาดาตา CSP และซอร์ส React ของวิดเจ็ต
scripts/ การสร้างวิดเจ็ต (escape & เพื่อให้ Open WebUI ฝังวิดเจ็ตได้);
check-routes และ check-vocabulary กับ API จริง
scripts/open-webui/
ตัวช่วย Open WebUI: เครื่องมือ open_kamai, สคริปต์โฮสต์โหมดแสดงผล,
เดโมบริดจ์โลคัล
ความเป็นส่วนตัวและการสนับสนุน
- นโยบายความเป็นส่วนตัว: https://kamai.io/privacy-policy
- การสนับสนุน: https://kamai.io/support หรือ contact@kamai.io
การมีส่วนร่วม
ดู CONTRIBUTING.md ปัญหาความปลอดภัยส่งไปยังที่อยู่ใน SECURITY.md ไม่ใช่ตัวติดตามปัญหา
ใบอนุญาต
Apache-2.0 ลิขสิทธิ์ 2026 Kamai Enterprises LTD
ชื่อและโลโก้ Kamai เป็นเครื่องหมายการค้าของ Kamai Enterprises LTD และไม่ครอบคลุม โดยใบอนุญาตนี้