Kamai MCP
公式建設図面の拾い出し:PDF図面を部屋、壁、ドア、窓、面積、数量に変換し、インタラクティブな平面図と拾い出しビューを提供します。
Kamai MCPで何ができますか?
-
Browse projects and blueprints — 要求查看包含施工项目及其蓝图就绪状态的交互式面板,可通过
view_projects或list_blueprints实现。 -
Inspect takeoff measurements — 请求从蓝图中获取可排序的测量数量表(房间、墙壁、门、窗),使用
view_takeoff或list_elements。 -
Edit blueprint elements — 指示重命名、重新着色或重新归档元素,或创建图例文件夹,通过
update_elements、move_elements或create_folder完成。 -
Download processed plans — 获取带有已检测元素高亮显示的蓝图临时 PDF 链接,使用
download_plan。 -
Manage projects and jobs — 创建或重命名项目,以及查看或取消处理作业,通过
create_project、update_project、list_jobs或cancel_job实现。 -
Run advanced queries — 启用查询工具后,可按类别统计元素、查找特定项目,或计算净墙表面积,使用
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を介して通信し、認証情報はOAuthの代わりにKamaiの個人用APIキー(KamaiアプリのAPIキー)を使用します。
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呼び出しのベアラーとして使用されます。ツールはキーの所有者として実行されます。クエリツールを使用するには、環境に 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 はそれらを提供します。/v1/vocabulary に404で応答するAPIに対してはオフにしてください |
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はウィジェットごとに1つの自己完結型HTMLリソースを生成するため、ホスティングは不要です。
ローカルビルドにはBun 1.3.3とNode.js 22.12以降が必要です。
レイアウト
src/index.ts HTTPサーバー、OAuth保護リソースメタデータ、MCPトランスポート
src/local.ts ローカルモード用のstdioエントリポイント(個人用APIキー)
src/auth.ts ベアラートークン検証(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ツール、表示モードホストスクリプト、ローカルブリッジデモ
プライバシーとサポート
- プライバシーポリシー: https://kamai.io/privacy-policy
- サポート: https://kamai.io/support または contact@kamai.io
貢献
CONTRIBUTING.md を参照してください。セキュリティ問題は SECURITY.md のアドレスに報告してください。問題トラッカーには報告しないでください。
ライセンス
Apache-2.0。Copyright 2026 Kamai Enterprises LTD.
Kamaiの名称とロゴはKamai Enterprises LTDの商標であり、ライセンスの対象外です。