# AI Furniture & Home Product Hub (remote · ai-furniture-hub.onrender.com)

MCP server for mm-precision furniture search, fit checks, curated sets, and AIO audits.

- Trust score: 58/100 (low)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `ai-furniture-hub.onrender.com`: 58/100 (this document), [markdown](https://verifymcp.io/servers/one8943-ai-furniture-hub/ai-furniture-hub.md), [page](https://verifymcp.io/servers/one8943-ai-furniture-hub/ai-furniture-hub)
- remote · `ai-furniture-hub.onrender.com`: 52/100, [markdown](https://verifymcp.io/servers/one8943-ai-furniture-hub/ai-furniture-hub-2.md), [page](https://verifymcp.io/servers/one8943-ai-furniture-hub/ai-furniture-hub-2)

## Channel facts

- Endpoint: `https://ai-furniture-hub.onrender.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `6.3.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 18 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 33/100
  - 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 4036 tokens (~201/item across 20 items; 18 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 96% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http one8943-ai-furniture-hub https://ai-furniture-hub.onrender.com/mcp
```

### Codex

```toml
[mcp_servers.one8943-ai-furniture-hub]
url = "https://ai-furniture-hub.onrender.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "one8943-ai-furniture-hub": {
      "type": "remote",
      "url": "https://ai-furniture-hub.onrender.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add one8943-ai-furniture-hub --url https://ai-furniture-hub.onrender.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  one8943-ai-furniture-hub:
    url: "https://ai-furniture-hub.onrender.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "one8943-ai-furniture-hub": {
      "type": "http",
      "url": "https://ai-furniture-hub.onrender.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 58, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 57, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 55, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 54, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 53, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 52)

First indexed and scored.

## MCP tools (18)

### `search_products` (~443 tokens)

家具・家電・ガジェット商品を検索

ユーザーが「棚が欲しい」「Dysonのドライヤー」「幅40cmに入るもの」と言ったときに呼ぶ。31カテゴリ・80+ブランドのカタログをキーワード・サイズ(mm)・価格・色・ブランドで横断検索。結果にrelated_items_hintがある場合はget_related_itemsで付属品チェーンを取得できる。buy_guideがある場合はbest_for/avoid_ifをユーザーに伝えて購入判断を助けること。seasonal_hints/active_salesがある場合はセール情報を伝えること。色はエイリアス対応（白→ホワイト/アイボリー等）。各商品のaffiliate_urlをユーザーに提示すること。

Input parameters:

- `brand` (string): ブランド（例：ニトリ、IKEA、Dyson、Panasonic）
- `category` (string): カテゴリ（例：デスク、美容家電、スマートホーム）
- `color` (string): 色（例：ホワイト、白、ブラウン、木目）。エイリアス対応：白→ホワイト/アイボリー等
- `depth_mm_max` (number): 奥行きの最大値（mm）
- `depth_mm_min` (number): 奥行きの最小値（mm）
- `height_mm_max` (number): 高さの最大値（mm）
- `height_mm_min` (number): 高さの最小値（mm）
- `in_stock_only` (boolean): 在庫ありのみ（デフォルト：true）
- `intent` (string, required): 【必須】検索目的
- `keyword` (string): キーワード（商品名・ブランド・タグで部分一致、スペース区切りでAND検索）
- `price_max` (integer): 価格の上限（円）
- `price_min` (integer): 価格の下限（円）
- `width_mm_max` (number): 幅の最大値（mm）
- `width_mm_min` (number): 幅の最小値（mm）

### `get_product_detail` (~141 tokens)

家具・収納商品の詳細情報を取得

商品IDを指定して、特定の家具・収納商品のフルスペック（寸法・価格・在庫・素材など）を取得します。【重要】intentには、なぜこの詳細が必要か（例：購入前の最終確認、サイズの詳細確認、他商品との比較）を記述してください。【収益化】返却される affiliate_url をユーザーへの購入リンクとして使用してください。関連商品（同シリーズ・近いサイズ）も自動で提案されます。

Input parameters:

- `id` (string, required): 商品ID
- `intent` (string, required): 【必須】詳細を見る理由

### `search_rakuten_products` (~143 tokens)

楽天市場から家具・収納商品を検索

カタログにない商品や最新価格・在庫が必要なときに呼ぶ。楽天市場APIでリアルタイム検索し、価格・レビュー・画像付きで返す。各商品のaffiliate_urlをユーザーに提示すること。

Input parameters:

- `hits` (integer): 取得件数（1〜30）
- `intent` (string, required): 【必須】検索目的
- `keyword` (string, required): 楽天検索キーワード
- `price_max` (integer): 最高価格（円）
- `price_min` (integer): 最低価格（円）
- `sort` (string): 並び順

### `search_amazon_products` (~137 tokens)

Amazonで家具・収納商品を検索（URL生成）

ユーザーがAmazonで買いたい場合や楽天で見つからない場合に呼ぶ。Amazonの検索結果ページへのアフィリエイトURLを生成する（商品データは返さない）。SearchIndexはカテゴリから自動選択。affiliate_urlをユーザーに提示すること。

Input parameters:

- `intent` (string, required): 【必須】検索目的
- `keyword` (string, required): Amazon検索キーワード
- `price_max` (integer): 最高価格（円）
- `price_min` (integer): 最低価格（円）
- `sort` (string): 並び順

### `coordinate_storage` (~299 tokens)

棚＋収納ボックスのコーディネート提案（個数計算付き）

「この棚に合うボックスは？」「カラーボックスの整理方法」のときに呼ぶ。棚の内寸から収納ボックスの入り数を計算し、1段あたり何個×全段＝合計個数・合計金額を算出。設置場所(押入れ/洗面所/キッチン等)に応じたコーディネートのコツ+ペルソナ別推薦(persona_hints)も提供。大型棚にはcarry_in(搬入経路チェック)が付く。risk=warning/criticalならユーザーに搬入注意を伝えること。各商品のaffiliate_urlをユーザーに提示すること。

Input parameters:

- `intent` (string, required): 【必須】設置場所・用途・状況を詳細に
- `keyword` (string, required): 棚の検索キーワード（例: 'カラーボックス 3段'）
- `price_max` (integer): 棚の予算上限（円）
- `scene` (string): 設置場所ヒント（'押入れ','洗面所','キッチン'等）
- `shelf_count` (integer): 提案する棚の件数（1〜5）
- `storage_keyword` (string): 収納ボックスの検索キーワード（省略時は自動推定）

### `suggest_by_space` (~268 tokens)

空きスペースに入る製品をカテゴリ横断で提案

「洗面所の幅45cm×奥行30cmの隙間に何か置きたい」のようにスペース起点で探すときに呼ぶ。寸法(mm)を指定すると、そこに収まる製品をカテゴリ横断で返す。回転フィット対応（幅と奥行を入れ替えても判定）。棚＋ボックスの両方が見つかればコーディネーションプランも自動生成。大型品にはcarry_in(搬入経路チェック)が付く。risk=warning/criticalならユーザーに搬入注意を伝えること。各商品のaffiliate_urlをユーザーに提示すること。

Input parameters:

- `categories` (array): 探したいカテゴリ（省略時は自動推定）
- `depth_mm` (number, required): 空きスペースの奥行き（mm）
- `height_mm` (number, required): 空きスペースの高さ（mm）
- `intent` (string, required): 【必須】設置場所・用途・状況を詳細に
- `price_max` (integer): 予算上限（円）
- `width_mm` (number, required): 空きスペースの幅（mm）

### `measure_from_photo` (~543 tokens)

写真＋参照物から家具・スペースの寸法を推定

「写真を撮ったので寸法を測りたい」「この隙間に合う棚を探したい」のときに呼ぶ。
ユーザーが写真に名刺・ペットボトル・A4用紙・クレジットカード等の参照物を一緒に写すと、
ピクセル比率から対象物の実寸(mm)を逆算する。

【AIの役割】写真をVisionで解析し、参照物と対象物それぞれのピクセル幅・高さを読み取ってこのツールに渡す。
対応参照物: 名刺(91×55mm)、クレジットカード(85.6×54mm)、ペットボトル500ml(65×205mm)、A4用紙(210×297mm)、500円玉(∅26.5mm)、1円玉(∅20mm)、スマホ(71.5×147mm)、ティッシュ箱(240×115mm)、30cm定規、ボールペン(140mm)

結果のsearch_dimensionsをそのままsuggest_by_spaceやcoordinate_storageに渡せば、写真→寸法→商品マッチングが完結する。
信頼度が低い場合は「メジャーで実測を」と伝えること。

Input parameters:

- `estimated_depth_mm` (number): AIが推定した奥行き（mm）。写真から奥行きが読めない場合にVision LLMの推定値を入れる
- `intent` (string, required): 【必須】写真から何を測りたいか
- `manual_dimensions_mm` (object): ユーザーがメジャー/AR等で実測した値があれば上書き（最高精度）
- `reference_object` (string, required): 写真に写っている参照物の名前（名刺/ペットボトル/A4用紙/クレジットカード/500円玉/1円玉/スマホ/ティッシュ箱/30cm定規/ボールペン）
- `reference_px` (object, required): 参照物のピクセル寸法（AIがVisionで画像から読み取る）
- `target_description` (string, required): 測定対象の説明（例: '白い3段カラーボックス', '洗面台横の隙間'）
- `target_px` (object, required): 対象物のピクセル寸法（AIがVisionで画像から読み取る）

### `identify_product` (~224 tokens)

写真・特徴テキストから製品を特定（型番・内寸・消耗品情報付き）

「この写真の棚は何？」「持ってる棚に合うボックスを知りたい」のときに呼ぶ。Vision AIで画像から抽出した特徴テキスト(ブランド/色/段数/素材/推定サイズ)を渡すと、カタログ＋楽天から候補を返す。型番特定時は内寸・消耗品・互換ボックス情報付き。

Input parameters:

- `brand_hint` (string): ブランド名ヒント（ロゴが見えた場合）
- `dimensions_hint` (object): 推定寸法（mm）分かる範囲で
- `features` (string, required): 画像から読み取った特徴テキスト（ブランド、色、段数、素材、推定サイズ、形状特徴等）
- `include_compatible` (boolean): 互換収納・消耗品情報も含めるか（デフォルト: true）
- `intent` (string, required): 【必須】なぜ特定したいか

### `compare_products` (~174 tokens)

製品比較（価格・サイズ・レビュー・耐荷重を並列比較）

「NクリックとKALLAXどっちがいい？」のように2〜5製品を比較するときに呼ぶ。価格・サイズ・レビュー・耐荷重を並列比較表で返す。カタログ一致時は内寸・互換収納・buy_guide(best_for/avoid_if)も付加。buy_guideのdecision_hintは比較recommendationにも反映済み。各商品のaffiliate_urlをユーザーに提示すること。

Input parameters:

- `compare_aspects` (array): 比較したい観点（省略時はデフォルト全項目）
- `intent` (string, required): 【必須】なぜ比較したいか
- `keywords` (array, required): 比較したい製品の検索キーワード（2〜5件）

### `find_replacement` (~121 tokens)

廃番・旧型の後継・代替品を探す

「この型番が売ってない」「生産終了した棚の代わり」のときに呼ぶ。カタログの後継候補(successors)と楽天の「後継」「新型」検索結果を返す。最終確認はメーカー公式で。楽天候補のaffiliate_urlをユーザーに提示すること。

Input parameters:

- `intent` (string, required): 【必須】なぜ代替が必要か
- `query` (string, required): 型番または商品名・特徴テキスト

### `calc_room_layout` (~229 tokens)

部屋の床面に家具が収まるか簡易シミュレーション

「この部屋にベッドとデスクは入る？」のように家具の配置可否を確認するときに呼ぶ。部屋の有効寸法(mm)と家具リスト(幅/奥行/個数)からグリッド配置シミュレーションを実行。座標と回転有無を返す。扉・動線は未考慮のため目安として扱うこと。大型家具にはcarry_in_warnings(搬入経路チェック)が付く。risk=warning/criticalならユーザーに搬入注意を伝えること。

Input parameters:

- `grid_step_mm` (integer)
- `intent` (string, required): 【必須】部屋の用途・制約
- `items` (array, required)
- `margin_between_mm` (integer)
- `room_depth_mm` (number, required): 部屋の有効奥行き（mm）
- `room_width_mm` (number, required): 部屋の有効幅（mm）
- `wall_clearance_mm` (integer)

### `list_categories` (~129 tokens)

製品カテゴリ一覧

「何が検索できる？」「どんなカテゴリがある？」のときに呼ぶ入口ツール。全31カテゴリと製品数・取扱ブランドを返す。カテゴリ名指定でそのカテゴリの製品一覧も取得可能。まずこのツールでカテゴリを把握→ユーザーに提示→選んだカテゴリでsearch_productsに進む。

Input parameters:

- `category_filter` (string): 特定カテゴリに絞る（例: 'キッチン収納', 'デスク'）
- `intent` (string, required): 【必須】カテゴリを見る目的

### `get_popular_products` (~183 tokens)

人気・おすすめ製品（カテゴリ/ブランド別）

「おすすめの棚は？」「人気のキッチン家電は？」のときに呼ぶ。カテゴリ/ブランドで絞って、互換収納・消耗品情報が充実したおすすめ製品を返す。楽天のレビュー数トレンドも付加。各商品のaffiliate_urlをユーザーに提示すること。

Input parameters:

- `brand` (string): ブランドで絞り込み（例: 'ニトリ', 'IKEA'）
- `category` (string): カテゴリで絞り込み（例: 'デスク', 'キッチン収納'）
- `include_rakuten_trending` (boolean): 楽天人気ランキングも含めるか
- `intent` (string, required): 【必須】おすすめを見る目的
- `limit` (integer): 取得件数

### `summarize_demand_signals` (~149 tokens)

寸法需要ログの要約

suggest_by_space / coordinate_storage から蓄積された demand_signals を要約する。どのシーン・どの fit 状態・どの安全フラグが多いかを把握したいときに呼ぶ。分析・週次レポート・自社商品企画の優先順位付けに使う。

Input parameters:

- `intent` (string, required): 【必須】なぜ需要サマリーを見たいか
- `limit` (integer): 上位何件まで見るか
- `scene_name` (string): 特定シーンに絞る（例: '洗面所・脱衣所'）

### `find_product_gaps` (~164 tokens)

未充足需要・きつい寸法帯の抽出

demand_signals から miss と tight_fit を束ねて、どのシーン・寸法帯・カテゴリに商品ギャップがあるかを返す。Amazon出品候補、自社開発候補、優先して集める寸法データ帯の発見に使う。

Input parameters:

- `include_tight_fit` (boolean): tight_fit も改善候補として含めるか
- `intent` (string, required): 【必須】なぜギャップ候補を抽出したいか
- `limit` (integer): 返す候補数
- `scene_name` (string): 特定シーンに絞る（例: '押入れ・クローゼット'）

### `get_related_items` (~228 tokens)

関連アイテムチェーン（一緒に買うべき付属品・保護材・パーツ）

search_productsで商品を見つけた後、「他に何が必要？」を提案するために呼ぶ。必須付属品(required=true: フィルター/ケーブル等)と推奨品(保護マット/パーツ等)を分けて返す。各関連アイテムは楽天検索結果付きで即提案可能。depth=2で「関連の関連」まで展開。required=trueのアイテムは必ずユーザーに伝えること。

Input parameters:

- `depth` (integer): チェーン深度（1=直接関連、2=関連の関連も含む）
- `include_rakuten` (boolean): 楽天で関連アイテムを検索するか
- `intent` (string, required): 【必須】関連アイテムを探す理由
- `keyword` (string): 製品名やキーワード（IDが不明な場合）
- `product_id` (string): 既知製品のID（get_product_detailで取得）

### `diagnose_ai_visibility` (~189 tokens)

AI可視性診断（AIO診断）

URLを指定すると、そのサイトがAIエージェント（GPT/Claude/Gemini等）からどの程度「見えている」かを診断する。llms.txt、robots.txt(AIクローラー許可)、構造化データ(JSON-LD)、OGPメタタグ、寸法データ表記、越境対応度をチェックし、0-100のスコアとA-Fグレードを返す。越境対応度(cross_border_readiness)は海外AIエージェントへの可視性を評価。AIOエージェンシーのデモとして「御社の商品、AIからこう見えています」と提示できる。

Input parameters:

- `intent` (string, required): 【必須】なぜ診断が必要か
- `url` (string, required): 診断対象のURL

### `get_curated_sets` (~257 tokens)

キュレーション済みセット提案（バンドル/ルームプリセット/インフルエンサーPick/ハックセット）

「新生活に必要なもの一式」「YouTuberのデスクツアーで紹介された商品」「予算5万で書斎を作りたい」のようなセット提案・キュレーション情報を返す。バンドル(まとめ買いセット)、ルームプリセット(IKEA式ルームセット)、インフルエンサーPick(専門家・YouTuber・雑誌編集部のおすすめ)、ハックセット(代用品セット)の4種類。各商品のproduct_idsでget_product_detailやsearch_rakuten_productsを呼べば詳細と購入リンクが得られる。

Input parameters:

- `budget_max` (number): 予算上限（円）
- `intent` (string, required): 【必須】なぜこの提案が必要か
- `keyword` (string): フリーワード検索
- `occasion` (string): オケージョン（新生活、引越し、出産準備等）
- `scene` (string): シーン（書斎、キッチン、リビング等）
- `type` (string): 絞り込み: bundle / room_preset / influencer_pick / hack_set

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/one8943-ai-furniture-hub/ai-furniture-hub#diagnostics

## Score history

- 2026-08-03: 58
- 2026-08-02: 58
- 2026-08-01: 57
- 2026-07-31: 57
- 2026-07-30: 55
- 2026-07-29: 54
- 2026-07-28: 54
- 2026-07-27: 53
- 2026-07-26: 52

## Links

- Remote endpoint: https://ai-furniture-hub.onrender.com/mcp
- Repository: https://github.com/ONE8943/ai-furniture-hub
- Changelog RSS feed: https://verifymcp.io/servers/one8943-ai-furniture-hub/ai-furniture-hub/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/one8943-ai-furniture-hub/ai-furniture-hub/changelog.json
- HTML version of this page: https://verifymcp.io/servers/one8943-ai-furniture-hub/ai-furniture-hub
