Kamai MCP
官方建築藍圖估算:將PDF圖紙轉換為房間、牆壁、門、窗戶、面積和數量,並提供互動式平面圖與估算視圖。
你可以用 Kamai MCP 做什麼?
-
瀏覽專案與藍圖 — 透過
view_projects或list_blueprints,要求查看包含就緒狀態的互動式專案與藍圖面板。 -
檢查估算測量 — 使用
view_takeoff或list_elements,從藍圖中請求可排序的測量數量表格(房間、牆面、門、窗)。 -
編輯藍圖元素 — 透過
update_elements、move_elements或create_folder,指示重新命名、重新著色、重新歸檔元素,或建立圖例資料夾。 -
下載已處理的圖面 — 使用
download_plan取得藍圖的臨時 PDF 連結,其中會標示偵測到的元素。 -
管理專案與工作 — 透過
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
Kamai 的 MCP 伺服器:為 Kamai 建築藍圖專案、藍圖和估算提供工具與 MCP Apps 小工具。它透過 Kamai 的 MCP API 運作,並驗證由 Kamai 的 OAuth 授權伺服器發出的存取權杖。它不持有任何 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 | 匯入附加在 ChatGPT 訊息中的 PDF(僅限 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 與其通訊,而憑證是來自 Kamai 的個人 API 金鑰(在 Kamai 應用程式中的 API 金鑰),而非 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" } } } }
此金鑰會作為每次 API 呼叫的 bearer 憑證;工具會以金鑰擁有者的身分執行。為查詢工具新增 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 | Kamai MCP API 基礎 URL,https://mcp-api.kamai.io。也是存取權杖必須攜帶的 audience |
MCP_ACCEPTED_AUDIENCES | 選用,以逗號分隔的 audiences,用於切換。預設為 MCP_API_BASE_URL |
KAMAI_API_KEY | 僅限本機模式:工具以個人 API 金鑰執行 |
KAMAI_APP_ORIGINS | 選用,以逗號分隔的額外來源,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 伺服器只能針對真實主機進行有效測試,而主機只能連線到公開的 HTTPS URL,因此 HTTP 模式開發意味著在隧道後執行,並將 MCP_PUBLIC_URL 指向該隧道。
bun run dev 會先建置小工具:伺服器提供來自 dist/widgets/ 的已建置 HTML,而非 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/ 小工具建置(逸脫 & 以便 Open WebUI 可嵌入小工具);針對即時 API 的 check-routes 和 check-vocabulary
scripts/open-webui/
Open WebUI 輔助工具:open_kamai 工具、顯示模式主機腳本、本機橋接示範
隱私與支援
貢獻
請參閱 CONTRIBUTING.md。安全性問題請回報至 SECURITY.md 中的地址,而非問題追蹤器。
授權
Apache-2.0。版權所有 2026 Kamai Enterprises LTD。
Kamai 名稱和標誌是 Kamai Enterprises LTD 的商標,不受此授權涵蓋。