Kamai

io.kamai由 kamai.io 發布官方發布者v1.0.0更新於 Oct 28, 2026

AI takeoff for construction: turn PDF blueprints into structured, traceable quantities.

已驗證Streamable HTTP可網頁執行檔案與儲存資料與分析媒體與設計

概覽

AI 產生的概覽

Kamai 的遠端 MCP 伺服器讓助理瀏覽建築圖說專案、查看數量估算與構件,並編輯或上傳圖說。

可以做什麼
  • 瀏覽專案與圖說,查看編號、就緒狀態及每張圖說的內容清單
  • 檢視疊上數量估算標註的圖說頁面、構件輪廓、圖例資料夾與可排序的數量表格
  • 下載已處理圖說的 PDF,其中偵測到的構件會被標示出來
  • 編輯構件(重新命名、改色、歸檔)、建立資料夾、設定開口高度、建立或重新命名專案
  • 管理處理工作並上傳圖說 PDF,包括聊天訊息中附帶的 PDF
  • 啟用查詢工具後:統計與尋找構件、計算房間淨牆面面積、設定繪圖比例或旋轉、產生連動表格
適用情境
適用於使用 Kamai 建築數量估算的情境:希望助理直接查詢數量、檢視圖說構件,或做小幅修改與上傳,而不必切換到 Kamai 應用程式。
執行需求
遠端端點 mcp.kamai.io,需以 OAuth 登入授權。README 另說明本機 stdio 模式,使用 Kamai 個人 API 金鑰(KAMAI_API_KEY),本機建置需 Bun 1.3.3 與 Node.js 22.12 以上版本。查詢工具需設定 KAMAI_QUERY_TOOLS=on。
安裝前請注意
部分工具會變更資料:構件可被重新命名、改色與歸檔,資料夾與專案可被建立或重新命名,開口高度與繪圖比例會被儲存,工作可被取消。上傳與下載會傳輸圖說 PDF。個人 API 金鑰會以其擁有者身分呼叫所有 API,應視為機密。圖說資料會傳送至 Kamai 的 API。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Kamai,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.kamai%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "kamai": {
      "type": "http",
      "url": "https://mcp.kamai.io/mcp"
    }
  }
}

README

kamai-mcp

Kamai's MCP server: tools and MCP Apps widgets for Kamai construction-blueprint projects, blueprints and takeoffs. It runs against Kamai's MCP API and validates access tokens issued by Kamai's OAuth authorization server. It holds no Kamai secrets.

Tools

ToolWhat it does
view_projectsInteractive panel of the user's projects and blueprints
list_blueprintsBlueprints grouped by project, with their ids and whether they are ready
view_blueprintA blueprint page with its take-off shapes drawn on top
view_takeoffMeasured take-off quantities as a sortable table
list_elementsPer-element rows (rooms, walls, doors, windows, objects) with outlines
list_foldersA blueprint's legend folders
download_planA PDF of a processed blueprint with its detected elements highlighted, as a temporary download link
update_elements, move_elements, create_folderRename, recolour and refile elements; create a folder
set_opening_heightStore a user-stated height, or a door/window tag, on wall-surface opening pieces
create_project, update_projectCreate or rename a project
list_jobs, get_job, cancel_jobProcessing jobs of a project
view_uploadUpload panel for a blueprint PDF
ingest_blueprint_from_chatImport a PDF attached to a ChatGPT message (ChatGPT only)
open_kamaiOpen the Kamai app in a panel

With KAMAI_QUERY_TOOLS=on (see below):

ToolWhat it does
count_elementsCounts and totals by Kamai category (doors, windows, walls, wet rooms…), grouped, summed in the database
find_elementsIndividual elements with type, folder, tag, handing and measurements
calculate_wall_surface_areaNet wall (paint or plaster) area of rooms
render_tableA table panel whose rows highlight their elements on the plan
set_scaleSet a blueprint's drawing scale
set_rotationTurn how a blueprint is shown (display only)

With KAMAI_HOST_PROBE on (the default on dev and debug, off in prod; see below):

ToolWhat it does
probe_hostA diagnostic panel that tests what widgets can use in this chat (WebGPU, WebGL2, workers, WebAssembly, the GCS tile host) and logs the result as a widget_probe event

list_blueprints also takes include_inventory (with a project_id): what each blueprint contains.

list_projects, get_project, get_blueprint, request_blueprint_upload, finalize_blueprint_upload, and with the query tools get_table_row_elements and get_element_outlines, and with the probe report_host_probe, are app-only: callable by the widgets, not advertised to the model.

Run locally with your API key

The quickest way to run this server against your own Kamai data is local mode: the host spawns the server, talks to it over stdio, and the credential is a personal API key from Kamai (API Keys in the Kamai app) instead of OAuth.

bun installbun run build:widgetsKAMAI_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" } } } }

The key is used as the bearer for every API call; the tools run as the key's owner. Add KAMAI_QUERY_TOOLS=on to the environment for the query tools.

Run the HTTP server

bun installcp .env.example .envbun run dev

The values in .env.example are placeholders: set MCP_PUBLIC_URL and MCP_AUTH_ISSUER to your tunnel and to a reachable authorization server before starting, or every request will be refused with invalid_token.

VariableMeaning
PORTListen port, default 8006
MCP_PUBLIC_URLThe URL hosts call and ask a token for (the resource in discovery); a tunnel, not localhost
MCP_AUTH_ISSUERIssuer of the access tokens, matched byte for byte against the token's iss
MCP_AUTH_JWKS_URIOptional. Defaults to {MCP_AUTH_ISSUER}/jwks.json
MCP_API_BASE_URLKamai MCP API base URL, https://mcp-api.kamai.io. Also the audience an access token must carry
MCP_ACCEPTED_AUDIENCESOptional comma-separated audiences, for a cutover. Defaults to MCP_API_BASE_URL
KAMAI_API_KEYLocal mode only: the personal API key the tools run as
KAMAI_APP_ORIGINSOptional comma-separated extra origins open_kamai may frame; the first becomes the default
KAMAI_QUERY_TOOLSon registers the query tools. Only once the API layer serves /v1/vocabulary (401, not 404)
KAMAI_ROTATIONoff drops set_rotation from the query tools (on by default; needs an API layer that serves PUT .../blueprints/{id}/rotation)
KAMAI_HOST_PROBEon or off registers probe_host and report_host_probe. Unset, it is on when Cloud Run's K_SERVICE starts with dev- or debug-, off otherwise. Never in local mode
KAMAI_MCP_NO_INSTRUCTIONS1 leaves the server instructions out, as claude.ai does; for evals

The MCP API and the authorization server are operated by Kamai, so running the HTTP server end to end needs access to both. An MCP server is only really testable against a real host, and a host can only reach a public HTTPS URL, so HTTP-mode development means running behind a tunnel and pointing MCP_PUBLIC_URL at it.

bun run dev builds the widgets first: the server serves the built HTML from dist/widgets/, not the React source, so rebuild after touching anything under src/widgets/app/.

The widgets use React, TypeScript, Vite, Tailwind CSS, DaisyUI and Lucide. Vite produces one self-contained HTML resource per widget, so nothing needs hosting.

Local builds require Bun 1.3.3 and Node.js 22.12 or newer.

Layout

src/index.ts       HTTP server, OAuth protected-resource metadata, MCP transportsrc/local.ts       stdio entrypoint for local mode (personal API key)src/auth.ts        Bearer-token verification (RFC 9728 challenges)src/server.ts      Tool and resource registrationsrc/api.ts         Client for the Kamai MCP APIsrc/elements.ts    list_elements paging, filtering and result budgetingsrc/errors.ts      The text a failed tool call shows the modelsrc/query/         Query tools: descriptions, vocabulary, filters, budgets, contractsrc/widgets/       Widget resources, CSP metadata and the React widget sourcesscripts/           Widget build (escapes & so Open WebUI can embed the                   widgets); check-routes and check-vocabulary against a live APIscripts/open-webui/                   Open WebUI helpers: an open_kamai Tool, a display-mode                   host script, a local bridge demo

Privacy and support

Contributing

See CONTRIBUTING.md. Security issues go to the address in SECURITY.md, not to the issue tracker.

License

Apache-2.0. Copyright 2026 Kamai Enterprises LTD.

The Kamai name and logo are trademarks of Kamai Enterprises LTD and are not covered by the license.

來源:README.md,提交 b4bacc1

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.0.0最新Sep 30, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分