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 应用小部件。它通过 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。也是访问令牌必须携带的受众 |
MCP_ACCEPTED_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 的商标,不在许可证覆盖范围内。