Kamai MCP
resmiPerhitungan kuantitas dari cetak biru konstruksi: ubah denah PDF menjadi ruangan, dinding, pintu, jendela, area, dan jumlah, dengan tampilan denah dan perhitungan yang interaktif.
Apa yang bisa Anda lakukan dengan Kamai MCP?
-
Jelajahi proyek dan cetak biru — Minta untuk melihat panel interaktif proyek konstruksi Anda beserta cetak birunya dengan status kesiapan melalui
view_projectsataulist_blueprints. -
Periksa pengukuran takeoff — Minta tabel yang dapat diurutkan berisi kuantitas terukur (ruangan, dinding, pintu, jendela) dari cetak biru menggunakan
view_takeoffataulist_elements. -
Edit elemen cetak biru — Instruksikan penggantian nama, pewarnaan ulang, atau pemindahan berkas elemen, atau buat folder legenda, melalui
update_elements,move_elements, ataucreate_folder. -
Unduh rencana yang telah diproses — Dapatkan tautan PDF sementara dari cetak biru dengan elemen terdeteksi yang disorot menggunakan
download_plan. -
Kelola proyek dan pekerjaan — Buat atau ganti nama proyek, serta lihat atau batalkan pekerjaan pemrosesan, melalui
create_project,update_project,list_jobs, ataucancel_job. -
Jalankan kueri lanjutan — Dengan alat kueri diaktifkan, hitung elemen berdasarkan kategori, temukan item tertentu, atau hitung luas permukaan dinding bersih menggunakan
count_elements,find_elements, ataucalculate_wall_surface_area.
Server MCP Terhosting
npx add-mcp 'https://mcp.kamai.io/mcp'Terpasang ke Claude Code, Codex, Cursor, dan lainnya
Dokumentasi
kamai-mcp
Server MCP Kamai: alat dan widget MCP Apps untuk proyek cetak biru konstruksi, cetak biru, dan takeoff Kamai. Server ini berjalan dengan API MCP Kamai dan memvalidasi token akses yang diterbitkan oleh server otorisasi OAuth Kamai. Server ini tidak menyimpan rahasia Kamai.
Alat
| Alat | Fungsinya |
|---|---|
view_projects | Panel interaktif proyek dan cetak biru pengguna |
list_blueprints | Cetak biru yang dikelompokkan berdasarkan proyek, beserta id-nya dan apakah sudah siap |
view_blueprint | Halaman cetak biru dengan bentuk take-off yang digambar di atasnya |
view_takeoff | Kuantitas take-off yang diukur sebagai tabel yang dapat diurutkan |
list_elements | Baris per elemen (ruangan, dinding, pintu, jendela, objek) dengan garis luar |
list_folders | Folder legenda cetak biru |
download_plan | PDF cetak biru yang telah diproses dengan elemen yang terdeteksi disorot, sebagai tautan unduhan sementara |
update_elements, move_elements, create_folder | Mengganti nama, mengubah warna, dan memindahkan elemen; membuat folder |
set_opening_height | Menyimpan tinggi yang dinyatakan pengguna, atau tag pintu/jendela, pada potongan bukaan permukaan dinding |
create_project, update_project | Membuat atau mengganti nama proyek |
list_jobs, get_job, cancel_job | Pekerjaan pemrosesan proyek |
view_upload | Panel unggah untuk PDF cetak biru |
ingest_blueprint_from_chat | Mengimpor PDF yang dilampirkan pada pesan ChatGPT (khusus ChatGPT) |
open_kamai | Membuka aplikasi Kamai di panel |
Dengan KAMAI_QUERY_TOOLS=on (lihat di bawah):
| Alat | Fungsinya |
|---|---|
count_elements | Jumlah dan total berdasarkan kategori Kamai (pintu, jendela, dinding, ruang basah…), dikelompokkan, dijumlahkan di database |
find_elements | Elemen individual dengan tipe, folder, tag, arah, dan pengukuran |
calculate_wall_surface_area | Luas dinding bersih (cat atau plester) ruangan |
render_table | Panel tabel yang barisnya menyorot elemennya di denah |
set_scale | Mengatur skala gambar cetak biru |
list_blueprints juga menerima include_inventory (dengan project_id): apa yang terkandung dalam setiap cetak biru.
list_projects, get_project, get_blueprint, request_blueprint_upload,
finalize_blueprint_upload, dan dengan alat kueri get_table_row_elements dan
get_element_outlines, hanya untuk aplikasi: dapat dipanggil oleh widget, tidak diiklankan ke model.
Jalankan secara lokal dengan kunci API Anda
Cara tercepat untuk menjalankan server ini dengan data Kamai Anda sendiri adalah mode lokal: host memunculkan server, berkomunikasi dengannya melalui stdio, dan kredensialnya adalah kunci API pribadi dari Kamai (Kunci API di aplikasi Kamai) alih-alih 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" } } } }
Kunci digunakan sebagai bearer untuk setiap panggilan API; alat berjalan sebagai pemilik kunci.
Tambahkan KAMAI_QUERY_TOOLS=on ke lingkungan untuk alat kueri.
Jalankan server HTTP
bun install
cp .env.example .env
bun run dev
Nilai di .env.example adalah placeholder: atur MCP_PUBLIC_URL dan
MCP_AUTH_ISSUER ke tunnel Anda dan ke server otorisasi yang dapat dijangkau sebelum memulai, atau setiap permintaan akan ditolak dengan invalid_token.
| Variabel | Arti |
|---|---|
PORT | Port listen, default 8006 |
MCP_PUBLIC_URL | URL yang dipanggil host dan meminta token (resource dalam penemuan); tunnel, bukan localhost |
MCP_AUTH_ISSUER | Penerbit token akses, dicocokkan byte demi byte dengan iss token |
MCP_AUTH_JWKS_URI | Opsional. Default ke {MCP_AUTH_ISSUER}/jwks.json |
MCP_API_BASE_URL | URL dasar API MCP Kamai, https://mcp-api.kamai.io. Juga audiens yang harus dibawa token akses |
MCP_ACCEPTED_AUDIENCES | Opsional audiens yang dipisahkan koma, untuk cutover. Default ke MCP_API_BASE_URL |
KAMAI_API_KEY | Khusus mode lokal: kunci API pribadi yang digunakan alat |
KAMAI_APP_ORIGINS | Opsional asal tambahan yang dipisahkan koma yang boleh dibingkai oleh open_kamai; yang pertama menjadi default |
KAMAI_QUERY_TOOLS | on mendaftarkan alat kueri. https://mcp-api.kamai.io menyajikannya; biarkan mati terhadap API yang menjawab /v1/vocabulary dengan 404 |
KAMAI_MCP_NO_INSTRUCTIONS | 1 meninggalkan instruksi server, seperti yang dilakukan claude.ai, untuk menguji deskripsi alat secara mandiri |
API MCP dan server otorisasi dioperasikan oleh Kamai, jadi menjalankan server HTTP dari awal hingga akhir memerlukan akses ke keduanya. Server MCP hanya benar-benar dapat diuji terhadap host nyata, dan host hanya dapat menjangkau URL HTTPS publik, jadi pengembangan mode HTTP berarti berjalan di belakang tunnel dan mengarahkan MCP_PUBLIC_URL ke sana.
bun run dev membangun widget terlebih dahulu: server menyajikan HTML yang dibangun dari dist/widgets/, bukan sumber React, jadi bangun ulang setelah menyentuh apa pun di bawah src/widgets/app/.
Widget menggunakan React, TypeScript, Vite, Tailwind CSS, DaisyUI, dan Lucide. Vite menghasilkan satu sumber daya HTML mandiri per widget, jadi tidak ada yang perlu dihosting.
Build lokal memerlukan Bun 1.3.3 dan Node.js 22.12 atau lebih baru.
Tata letak
src/index.ts Server HTTP, metadata sumber daya yang dilindungi OAuth, transport MCP
src/local.ts Titik masuk stdio untuk mode lokal (kunci API pribadi)
src/auth.ts Verifikasi token Bearer (tantangan RFC 9728)
src/server.ts Pendaftaran alat dan sumber daya
src/api.ts Klien untuk API MCP Kamai
src/elements.ts list_elements paging, pemfilteran, dan penganggaran hasil
src/errors.ts Teks yang ditampilkan panggilan alat yang gagal ke model
src/query/ Alat kueri: deskripsi, kosakata, filter, anggaran, kontrak
src/widgets/ Sumber daya widget, metadata CSP, dan sumber widget React
scripts/ Build widget (meloloskan & sehingga Open WebUI dapat menyematkan
widget); check-routes dan check-vocabulary terhadap API langsung
scripts/open-webui/
Helper Open WebUI: alat open_kamai, skrip host mode tampilan,
demo jembatan lokal
Privasi dan dukungan
- Kebijakan privasi: https://kamai.io/privacy-policy
- Dukungan: https://kamai.io/support atau contact@kamai.io
Berkontribusi
Lihat CONTRIBUTING.md. Masalah keamanan ditujukan ke alamat di SECURITY.md, bukan ke pelacak masalah.
Lisensi
Apache-2.0. Hak cipta 2026 Kamai Enterprises LTD.
Nama dan logo Kamai adalah merek dagang Kamai Enterprises LTD dan tidak tercakup oleh lisensi.