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_chatChatGPTメッセージに添付されたPDFをインポート(ChatGPTのみ)
open_kamaiKamaiアプリをパネルで開く

KAMAI_QUERY_TOOLS=on を使用する場合(下記参照):

ツール機能
count_elementsKamaiカテゴリ(ドア、窓、壁、水回りなど)ごとのカウントと合計を、データベースでグループ化・合算して表示
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_URLKamai 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_TOOLSon はクエリツールを登録します。https://mcp-api.kamai.io はそれらを提供します。/v1/vocabulary に404で応答するAPIに対してはオフにしてください
KAMAI_MCP_NO_INSTRUCTIONS1 は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ツール、表示モードホストスクリプト、ローカルブリッジデモ

プライバシーとサポート

貢献

CONTRIBUTING.md を参照してください。セキュリティ問題は SECURITY.md のアドレスに報告してください。問題トラッカーには報告しないでください。

ライセンス

Apache-2.0。Copyright 2026 Kamai Enterprises LTD.

Kamaiの名称とロゴはKamai Enterprises LTDの商標であり、ライセンスの対象外です。