● Model Context Protocol · HTTP JSON-RPC 2.0 · 28 tools

bim.house MCP — say a place, get a house.

Point your AI agent at this server and it designs a building-code-compliant house from one address in seconds — full BIM (bim.json), floor/elevation/section drawings, a Japanese Building Standards Act check (houki), and a catalog-priced BOM. No API key needed to read or to create a house.
あなたのAIエージェントが、住所ひとつから建築基準法に通る家・図面・概算見積までその場で生成します。読み取りと物件作成は認証不要。

Quickstart — golden path 最初の3コール

create_house (build from an address) → houki_check (is it legal?) → material_quote (what does it cost?). Then get_house_bim → edit → update_house to iterate with your own model.
create_house→houki_check→material_quote が黄金ルート。あとは get_house_bim→編集→update_house で自分のLLMだけで改善できます。
claude mcp add --transport http bim-house https://bim.house/mcp

Endpoints

POST https://bim.house/mcp                 JSON-RPC 2.0 (initialize / tools/list / tools/call)
GET  https://bim.house/mcp                 server info (tool names + protocol)
GET  https://bim.house/.well-known/mcp     discovery
Transport: plain HTTP JSON-RPC (request → single JSON response; no SSE streaming). CORS open.
トランスポートは単発の HTTP JSON-RPC(SSEストリーミングではありません)。CORS開放。

Auth model — one value per tool 認証(ツール=1値)

LevelWhat it isHow
noneNo auth. Reads + create_house.
none*create_house: no auth, but if you add an api_key the house is tied to your account. Created private by default, IP rate-limited.optional Bearer
edit_tokenEditing a house you created. create_house returns an edit_token; pass it back.arg edit_token
api_keyAccount-scoped writes / chat. Required.Authorization: Bearer <key> from /console
api_key?whoami: optional — returns your auth state.optional Bearer

Tools (28) ツール

whoamichatsearch_catalogget_productlist_housesget_house_bimhouki_checkmaterial_quotecreate_house ✏️create_product ✏️update_product ✏️list_mineretire_product ✏️update_house ✏️set_visibility ✏️set_forkable ✏️get_houki_rulesget_site_contextset_site_context ✏️admin_set_site_context ✏️list_incomplete_addressesupsert_zoning_rule ✏️delete_zoning_rule ✏️get_build_planmatch_contractorslist_contractorsregister_contractor ✏️place_order ✏️
✏️=write · auth column shows required level per tool. 説明は tools/list の戻り値(日本語)。
ToolAuthDescription (from tools/list)
whoamiapi_key?[EN] Verify API-key auth: returns your account email if a valid Bearer key is sent. / API キー認証の確認。Authorization: Bearer <APIキー> (/console で発行) を付けると認証済みアカウントの email を返す。Web/CLI どちらからでも使える。
chatapi_key[EN] AI chat about architecture/BIM/code/MU. Requires Bearer API key; first ¥300 (5 calls) free. / bim.house / MU の AI チャット。メール認証して /console で発行した API キーで認証必須 (Authorization: Bearer <APIキー>)。未チャージでも初回 ¥300 分 (5 回) は無料、使い切ったら /credits でチャージ。建築・BIM・法規・SIPs・MU について日本語で答える。引数 message (必須) と history (任意, [{role, content}])。
search_catalognone[EN] Search the building-materials catalog (3,900+ SKUs) by keyword/brand/category. / bim.house の建材・設備カタログ (3,900+ SKU) を検索。窓/断熱/設備/家具などを brand・category・キーワードで絞り込む。
get_productnone[EN] Get one product's full detail by SKU (price, U-value/η, stock, JAN, successor). / SKU を指定して 1 製品の詳細 (価格・性能値 U値/η値・在庫・JAN・後継品) を取得。
list_housesnone[EN] List curated public houses (famous buildings, landmarks); set include_user=true for public user houses. / 運営 curated 公開物件 (有名建築・巨大ランドマーク・SOLUNA 等) の一覧。slug / 規模 / 要素数 / bim.json 充足率(%) を返す。ユーザー作成物件 (u-*) は既定では含まない (直リンクで個別取得は可)。include_user=true で公開ユーザー物件も含める。
get_house_bimnone[EN] Fetch a house's full bim.json v1 (project meta + elements) by slug. / slug を指定して物件の完全な bim.json v1 (project メタ + elements 配列) を取得。include_elements=false でメタのみ。
houki_checknone[EN] Run the Japanese Building Standards Act check (coverage, FAR, slopes, daylight, ventilation) and return pass/fail. / 建築基準法チェック (建ぺい率・容積率・北側/道路斜線・採光・換気) を houki-engine で実行し合否を返す。
material_quotenone[EN] Catalog-priced cost estimate: BOM, total, ¥/m², lead times and critical path from the BIM takeoff. / カタログ連携の概算見積もり。BIM 要素 takeoff × 建材カタログ実価格 (窓/ドア/設備) + 原単位 (躯体/仕上げ) で BOM・総額・㎡単価を算出し、各資材の納期 (lead_time_days) と在庫、クリティカルパス納期も返す。
create_house writenone*[EN] Build a new house (bim.json) from an address alone (geocoded, auto-named, climate-aware) or full elements; returns slug + edit_token + viewer/permit URLs + inline houki & structure verdicts. No auth (private by default, rate-limited). / 新しい物件 (bim.json) を作成する。name か address のどちらか必須 — 住所だけ渡せば geocode で座標を引き「<地名>の家」と自動命名して家が建つ (REINFOLIB_KEY 設定時は用途地域も実値注入)。elements (bim.json v1 要素配列) を渡すとそのまま保存、省略すると敷地寸法から住宅 BIM を自動生成。name/rooms に「薪ストーブ・土間・ロフト・カーポート・書斎・ピアノ・サウナ」等の言葉が入ると対応する要素 (煙突・炉台・はしご込み) を自動配置し、寒冷地住所ならトリプルガラス+付加断熱+雪止めに外皮を格上げ。「平屋」「2階建て」も階数に反映。slug と edit_token、viewer/json/permit URL と適用 features・site (座標/用途地域ソース) を返す。
create_product writeapi_key[EN] Register a new catalog product SKU (needs Bearer API key; insert-only, no overwrite). / 建材カタログ (products) に新しい製品 SKU を登録する。サッシ/窓/断熱材/照明/設備/家具/ドア等。Authorization: Bearer <APIキー> (/console で発行) が必須。登録後は /catalog と search_catalog に即反映。既存 SKU の上書きは不可 (insert-only)。
update_product writeapi_key[EN] Update fields of a product you created (needs Bearer API key; your SKUs only). / 自分が create_product で登録した製品のフィールドを更新する。Authorization: Bearer <APIキー> 必須。他者/公式 SKU は更新不可。指定したフィールドのみ上書き。
list_mineapi_key[EN] List products you registered (needs Bearer API key). / 自分 (API キーのアカウント) が登録した製品の一覧を返す。Authorization: Bearer <APIキー> 必須。
retire_product writeapi_key[EN] Retire (discontinue) a product you created (needs Bearer API key; soft, not hard delete). / 自分が登録した製品を取り下げる (生産終了化。ハード削除はしない)。Authorization: Bearer <APIキー> 必須。他者/公式 SKU は不可。
update_house writeedit_token[EN] Update an existing house's bim.json (needs edit_token): swap elements or patch project meta; returns a re-run houki verdict. Versioned each save. / 既存物件の bim.json を更新する。edit_token (create_house の返り値) が必要。elements (bim.json v1 要素配列) を渡すと差し替え、project (object) でメタ (name/construction_jpy/proposed_gross_m2 等) のみ更新も可。get_house_bim で現状を取得 → 編集 → update_house → 返り値の houki (法規再判定) を確認、のループで自分の LLM だけで設計改善が完結する。保存ごとに履歴 (bim_versions) が残る。
set_visibility writeedit_token[EN] Toggle a house's public listing on/off (needs edit_token). / 物件の掲載/非掲載を切り替える。edit_token (create_house の返り値) が必要。private=true で物件一覧から非掲載 (直リンクは残る)。進化ループの低スコア物件の淘汰などに使う。
set_forkable writeedit_token[EN] Allow or forbid others from forking (copying) a house (needs edit_token). / 他者がこの物件をフォーク (コピー) できるかを切り替える。edit_token が必要。forkable=false で他者のコピー作成を禁止 (既定は全て可)。
get_houki_rulesnone[EN] List the building-code checks the engine runs (law refs) + any active zoning-rule overrides; pass slug to also get that house's effective site conditions + houki verdict. / houki エンジンがチェックする法規項目 (根拠条文) と、登録済みの用途地域規制ルール上書き一覧を返す。slug を渡すとその物件の有効敷地条件 + 法規判定も同梱。
get_site_contextnone[EN] Get a house's effective site conditions used by houki_check (zoning, road width, high/fire district, climate zone, latitude, neighbor setback, min lot area, shadow regulation). / houki_check が使う物件の有効敷地条件を取得 (用途地域・道路幅員・高度/防火地区・気候区分・緯度・隣地距離・敷地面積最低限度・日影規制)。
set_site_context writeedit_token[EN] Override a house's site conditions for houki_check (needs edit_token). Only provided fields are updated; returns the re-run houki verdict. Fixes false NGs from assumed defaults (e.g. set the real road width). / 物件の敷地条件を上書きして houki_check に反映する。edit_token 認証が必要。指定したフィールドのみ更新し、再判定した houki を返す。既定値による誤 NG (例: 前面道路幅員) を実値で是正できる。
admin_set_site_context writeadmin[EN] Bulk-set site conditions for any houses (admin only, admin_token; no edit_token). Pass `entries`: [{slug, zoning?, road_width_m?, high_district?, fire_district?, climate_zone?, latitude?, neighbor_setback_m?, min_lot_area_m2?, shadow_regulation?}]. DB + cache applied immediately. For operators to backfill zoning/road-width (e.g. from reinfolib) across all properties. / 任意の物件の敷地条件を一括上書き (管理者のみ・edit_token 不要)。entries 配列で複数物件をまとめて投入。DB+キャッシュ即時反映。用途地域/道路幅員等の実データを全物件へ流し込む運用者向け。
list_incomplete_addressesadmin[EN] List public houses whose address is incomplete (missing town name / placeholder), so they can be corrected — admin only. Fixing them lets zoning be derived from coordinates. / 住所が不完全 (町名欠落・プレースホルダ) な公開物件を一覧する。管理者のみ。直すと座標から用途地域を判定でき投入できる。
upsert_zoning_rule writeadmin[EN] Add/update a zoning regulation rule (coverage/FAR/slope/height limits) — admin only (admin_token). Applies to all houses matching (profile, zoning). / 用途地域の規制ルール (建ぺい/容積/斜線/高さ等) を追加・更新する。管理者のみ (admin_token)。(profile, zoning) に一致する全物件の houki に反映。
delete_zoning_rule writeadmin[EN] Remove a zoning rule override (reverts to engine defaults) — admin only. / 用途地域規制ルールの上書きを削除し、エンジン既定値に戻す。管理者のみ。
get_build_plannone[EN] Construction plan for a house: schedule (Gantt) + per-trade order packages (cost, lead, region-driven spec constraints, inspection checklist). / 物件の施工計画。工種(こうしゅ)別に 工程(ガント) + 発注パッケージ(概算・工期・地域由来の仕様制約・検査チェックリスト) を返す。見積を工種に割って自動生成。
match_contractorsnone[EN] Match contractors to a house by trade × location (prefecture or lat/lng+radius). One house's order naturally splits across local builders. / 工種 × 場所 (都道府県 or 緯度経度+対応半径) で業者をマッチ。trade 省略で全工種を一括。1棟の発注が地域の複数業者に自然に分かれる。
list_contractorsnone[EN] List registered contractors, optionally filtered by prefecture/trade. / 登録業者の一覧。都道府県・工種で絞り込み可。
register_contractor writeapi_key[EN] Register a contractor (supply side, self-serve). Requires Bearer API key. trades = trade codes or 'all'; location via prefectures and/or lat/lng+service_radius_km. / 業者を登録 (供給側セルフサーブ・API キー必須)。trades=工種 code 配列か 'all'、場所は prefectures か lat/lng+service_radius_km。
place_order writenone[EN] Create a DRAFT purchase order for one trade of a house to a contractor (does NOT send anything — human sends later). / 物件の1工種を業者へ発注 (ドラフト作成のみ・⚠送信はしない)。spec/検査リストを同梱。

Example — list tools

curl -s https://bim.house/mcp -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Example — build a house (create_house)

curl -s https://bim.house/mcp -H 'content-type: application/json' -d '{
  "jsonrpc":"2.0","id":1,"method":"tools/call",
  "params":{"name":"create_house","arguments":{
    "address":"Teshikaga, Hokkaido",
    "structure":"cedar CLT + rice-husk insulation",
    "floors":1, "gross_m2":66, "private": false
  }}
}'
Returns slug · edit_token · viewer_url · json_url · permit_url · inline houki + structure verdicts. address alone is enough (geocoded + auto-named). 住所だけでも建ちます。

Example — edit it (update_house)

curl -s https://bim.house/mcp -H 'content-type: application/json' -d '{
  "jsonrpc":"2.0","id":1,"method":"tools/call",
  "params":{"name":"update_house","arguments":{
    "slug":"u-xxxx", "edit_token":"et_...",
    "elements_json":"[ ...bim.json v1 elements... ]",
    "note":"raised the roof for north-slope compliance"
  }}
}'
get_house_bim → edit with your own LLM → update_house → check the returned houki re-verdict. The whole design loop runs on your model — bim.house charges no AI fee. Every save is versioned at /api/projects/<slug>/versions.

Errors & idempotency エラーとべき等性

CaseBehavior
JSON-RPC errorStandard envelope: {"jsonrpc":"2.0","id":..,"error":{"code":..,"message":..}}. Tool-level failures return result.isError=true with a text message.
Bad / missing authedit_token mismatch or missing api_key → tool returns isError with the reason (not a 500).
Rate limitAnonymous create_house is IP rate-limited; over the limit the call is rejected with a message. Back off and retry.
Idempotencycreate_house is not idempotent — calling twice creates two houses (two slugs). Dedupe on your side. update_house overwrites by slug (safe to retry).
edit_token lifecycleReturned once by create_house; it does not expire. Treat it as a secret (it grants edit on that one house). Lost token = open a new house or claim via account (/console).

Pricing 料金

Reads, create_house, update_house, houki_check, material_quote: free (server compute only). Only chat spends AI credits (first ¥300 / 5 calls free, then top up at /credits). AI課金が乗るのは chat のみ。設計・法規・見積は無料。

See also

→ Houses · → REST API · → Material catalog · → bim.house