Skip to main content
Glama

AI Furniture & Home Product Hub - MCP Server

15 tools | 355+ curated products | 31 categories | 90+ brands Millimeter-precision search, curated sets, AI visibility diagnosis, OpenAPI 3.1 schema. Built for ChatGPT, Claude, Gemini, Cursor, Perplexity, and any MCP-compatible AI agent.

CI npm License: MIT

Discovery & Install

  • MCP Registry name: io.github.ONE8943/ai-furniture-hub

  • Remote MCP endpoint: https://ai-furniture-hub.onrender.com/mcp

  • Well-known discovery: https://ai-furniture-hub.onrender.com/.well-known/mcp.json

  • npm package: ai-furniture-hub

If your MCP client supports registry search, search for io.github.ONE8943/ai-furniture-hub or AI Furniture & Home Product Hub. If your client supports direct remote MCP, connect it to https://ai-furniture-hub.onrender.com/mcp.

Related MCP server: KaliCart Global

Why This Exists

AI agents need structured, machine-optimized product data to make useful recommendations. This MCP server provides:

  • Exact-fit search: "Find a shelf that fits a 425mm gap" returns products with 1mm accuracy

  • Complete solutions: One search returns the shelf + matching storage boxes + floor protection + cable organizers

  • Curated by experts: Influencer picks, room presets, bundle deals, and budget hack alternatives

  • Replacement intelligence: Discontinued product? Get successors ranked by dimension compatibility (fit_score 0-100)

  • AI visibility consulting: Diagnose any website's AI discoverability with a single tool call

Quick Start

Option 1: Remote (Cursor / Claude / VS Code / ChatGPT)

Connect directly to the hosted server:

{
  "mcpServers": {
    "furniture-hub": {
      "url": "https://ai-furniture-hub.onrender.com/mcp"
    }
  }
}

Works in any MCP client that accepts a remote Streamable HTTP URL.

Option 2: npx (local)

npx ai-furniture-hub

Option 3: Clone & Run

git clone https://github.com/ONE8943/ai-furniture-hub.git
cd ai-furniture-hub
npm install
cp .env.example .env   # API keys optional - works with mock data
npm start               # stdio mode
npm run start:http      # HTTP mode at localhost:3000/mcp

Tools (15)

Search & Discovery

Tool

What It Does

search_products

Search 300+ products by keyword, dimensions (mm), price, color, category, brand

get_product_detail

Full specs: inner dimensions, consumables, compatible storage, curations

search_rakuten_products

Real-time Rakuten Ichiba search (200K+ listings with prices & reviews)

search_amazon_products

Amazon affiliate search URL generation with auto SearchIndex

suggest_by_space

"I have a 600x400mm space" -> everything that fits, rotation-aware

identify_product

Visual description -> product candidates with model numbers

Coordination & Comparison

Tool

What It Does

coordinate_storage

Shelf + storage box set proposals: quantity per tier, total cost

compare_products

Side-by-side comparison (2-5 products) on price, size, load, reviews

find_replacement

Discontinued model -> successors + dimension-compatible alternatives with fit_score

calc_room_layout

Floor-plan rectangle packing with placement coordinates

get_related_items

Accessory chains: required items, protection, consumables, hack substitutes (depth 1-2)

Curation & Intelligence

Tool

What It Does

get_curated_sets

Bundles, room presets, influencer picks, hack sets. Filter by type/scene/budget

get_popular_products

Trending products by category with Rakuten data

list_categories

Browse 31 categories with counts, brands, samples

diagnose_ai_visibility

AI visibility audit: llms.txt, robots.txt, JSON-LD, OGP, score 0-100

Prompt Workflows (3)

Prompt

Flow

room_coordinator

Space dimensions -> shelf + boxes + protection with quantities & cost

moving_checklist

Floor plan type -> room-by-room purchasing checklist with budget

product_showdown

Two products -> full comparison including accessories & running costs

Product Categories (31)

Area

Categories

Storage

Shelves, Color boxes, Storage cases, Clothing storage, Steel racks, Closet storage, File storage

Furniture

Desks, TV stands, Bookshelves, Dining, Sofas & chairs, Bedding

Room-specific

Kitchen, Laundry, Bath, Entrance, Baby safety

Hardware

Tension rods, Protection materials, Parts & accessories, Wagons

Appliances

Home appliances, Kitchen appliances, Air quality, Smart home

Tech & Lifestyle

PC peripherals, Beauty devices, Gadgets, Health & fitness

Decor

Curtains & blinds

Key Features

All dimensions in millimeters - outer AND inner. Find products that fit a specific space with 1mm tolerance. Rotation-aware: automatically checks if swapping width/depth creates a fit.

Every product links to 3-5 related items: required accessories (HEPA filters for air purifiers), protection materials (floor mats for heavy shelves), consumables (vacuum bags), compatible storage boxes.

Curated Sets

  • Bundles: "New Life Starter Kit", "Work From Home Set"

  • Room Presets: IKEA-style complete room configurations

  • Influencer Picks: Real recommendations from YouTubers and magazines

  • Hack Sets: Budget alternatives (100-yen substitutes for 1000-yen accessories)

Dimension-Compatible Replacement

Discontinued product? find_replacement returns:

  • DB-registered successors

  • Dimension-compatible alternatives with fit_score (0-100)

  • Live Rakuten search results

AI Visibility Diagnosis (AIO)

diagnose_ai_visibility audits any URL:

  • llms.txt presence

  • robots.txt AI crawler access

  • Structured data (JSON-LD, Schema.org)

  • OGP tags

  • Cross-border readiness (English metadata, multi-currency)

  • Returns score (0-100), grade (A-F), actionable recommendations

Attribution & Analytics

Every API response includes _attribution metadata with a unique attribution_id, enabling:

  • Per-call tracking for pay-per-call monetization

  • Source detection (Apify, RapidAPI, direct)

  • Contribution logging for revenue attribution

API & Integration

OpenAPI 3.1 Schema

Full OpenAPI spec available at /openapi.yaml for RapidAPI and marketplace integration.

AI Discovery Endpoints

File

URL

Purpose

llms.txt

/llms.txt

AI agent overview

llms-full.txt

/llms-full.txt

Full tool schemas & examples

OpenAPI

/openapi.yaml

REST API specification

Server Card

/.well-known/mcp/server-card.json

Machine-readable metadata

context.md

/context.md

Structured AI context

robots.txt

/robots.txt

AI crawler permissions

MCP Resources

furniture-hub://llms.txt
furniture-hub://llms-full.txt

Architecture

AI Agent (ChatGPT, Claude, Gemini, Cursor, Perplexity, ...)
    | MCP (stdio or Streamable HTTP)
    v
+-----------------------------------------------------------+
|  15 Tools + 3 Prompts                                     |
+-----------------------------------------------------------+
|  355+ Products | 31 Categories | 90+ Brands               |
|  Curated Sets: bundles, room presets, influencer picks     |
|  Compatibility DB: dimension-based fit scoring             |
|  Attribution: per-request tracking with attribution_id     |
+-----------------------------------------------------------+
|  Adapters: Rakuten API / Amazon URL / Nitori               |
|  Affiliate Engine + Gap Detector + Analytics               |
+-----------------------------------------------------------+
    |
    v
  /llms.txt        /llms-full.txt        /openapi.yaml
  /context.md      /.well-known/mcp/     /robots.txt

Environment Variables

Variable

Required

Description

DEPLOYMENT_MODE

No

private (default, affiliate ON) or public (affiliate OFF for marketplace)

MCP_API_KEYS_FREE

No

Comma-separated free-tier API keys for higher rate limits + curated inner dimensions

MCP_API_KEYS_PRO

No

Comma-separated pro-tier API keys for unlimited access

INNER_DIMENSIONS_DATA

Render only

Hidden curated inner-dimension DB injected at build time

AFFILIATE_ID_AMAZON

No

Amazon Associate tag

AFFILIATE_ID_RAKUTEN

No

Rakuten Affiliate ID

RAKUTEN_APP_ID

No

Rakuten API Application ID

RAKUTEN_API_MOCK

No

true (default) for mock data, false for live

All environment variables are optional. The server works out of the box with mock data.

Deployment

Platform

URL

MCP Registry

io.github.ONE8943/ai-furniture-hub

Render

https://ai-furniture-hub.onrender.com/mcp

npm

npx ai-furniture-hub

Testing

npm run test:ci      # Vitest
npm run test:all     # Full legacy suite

Contributing

Issues and PRs welcome. See GitHub Issues.

License

MIT


Japanese / 日本語

AI Furniture & Home Product Hub は家具・家電・ガジェット等のAIエージェント向けMCPサーバーです。

  • MCP Registry名: io.github.ONE8943/ai-furniture-hub

  • リモート接続URL: https://ai-furniture-hub.onrender.com/mcp

  • well-known: https://ai-furniture-hub.onrender.com/.well-known/mcp.json

  • 355+商品、31カテゴリ、90+ブランド のキュレーション済みカタログ

  • mm精度の寸法検索 - 「幅425mmの隙間にぴったり収まる棚」を即座に発見

  • 関連アイテムチェーン - 1商品から3-5個の関連商品(必須アクセサリ、保護材、消耗品)

  • キュレーション - バンドル提案、ルームプリセット、インフルエンサーおすすめ、100均代用ハック

  • 後継品検索 - 廃番商品から寸法互換の代替品をfit_scoreで提案

  • AI可視性診断(AIO) - Webサイトの「AIからの見え方」を0-100でスコアリング

  • OpenAPI 3.1 - RapidAPI等のマーケットプレイス連携対応

運営

ONE, Inc.

Available Tools

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

「この部屋にベッドとデスクは入る?」のように家具の配置可否を確認するときに呼ぶ。部屋の有効寸法(mm)と家具リスト(幅/奥行/個数)からグリッド配置シミュレーションを実行。座標と回転有無を返す。扉・動線は未考慮のため目安として扱うこと。

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】部屋の用途・制約
room_width_mmYes部屋の有効幅(mm)
room_depth_mmYes部屋の有効奥行き(mm)
itemsYes
margin_between_mmNo
wall_clearance_mmNo
grid_step_mmNo

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior: grid-based simulation, returns coordinates and rotation status, and explicitly states limitations (doesn't consider doors/circulation). However, it doesn't mention performance characteristics, error conditions, or what happens with impossible configurations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with three sentences that each earn their place: first establishes use case with example, second explains inputs and simulation method, third provides crucial limitations. No wasted words, front-loaded with the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex simulation tool with 7 parameters, no annotations, and no output schema, the description does well by explaining the simulation approach, inputs, outputs, and limitations. However, it could provide more detail about the output format and what constitutes success/failure in the simulation to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 43% schema description coverage, the description adds significant value by explaining the core parameters: room dimensions in mm, furniture list with width/depth/count, and the simulation approach. While it doesn't detail all 7 parameters, it provides essential context about what the simulation does with these inputs, compensating well for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: performing a grid-based simulation to check furniture placement feasibility in a room. It specifies the input (room dimensions and furniture list) and output (coordinates and rotation status), distinguishing it from siblings like search_products or get_product_detail which handle product information rather than spatial simulation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('家具の配置可否を確認するときに呼ぶ' - call when checking furniture placement feasibility) and provides important limitations: it doesn't consider doors or circulation paths, and should be treated as a rough guide. This gives clear context for when to use it versus more detailed alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_products製品比較(価格・サイズ・レビュー・耐荷重を並列比較)A

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

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】なぜ比較したいか
keywordsYes比較したい製品の検索キーワード(2〜5件)
compare_aspectsNo比較したい観点(省略時はデフォルト全項目)

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries full behavioral disclosure. It explains conditional behavior (catalog matches add inner dimensions, compatible storage, buy_guide), how buy_guide's decision_hint is reflected in the comparison recommendation, and instructs presenting affiliate_url to the user. This goes beyond a simple statement and gives actionable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, starting with the primary usage condition and example. Each sentence provides distinct information (output, conditional add-ons, recommendation logic, user instruction) without fluff or redundancy. The structure is logical and easy to parse for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description needs to explain return values and behaviors. It does so: describing the parallel comparison table, default and conditional fields, and the affiliate_url presentation directive. It covers the tool's main behavior and expectations sufficiently for an agent to invoke and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add substantial meaning to the parameters beyond the schema; it mentions default comparison aspects (price, size, reviews, load capacity) but does not elaborate on the intent, keywords, or compare_aspects parameters themselves. It neither compensates nor hurts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: comparing 2-5 products, with a concrete example ('NクリックとKALLAXどっちがいい?'). It names the specific resources compared (price, size, reviews, load capacity), and the title reinforces '並列比較' (parallel comparison). This distinguishes it from siblings like get_product_detail (single product) and search_products (searching).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear when-to-use guidance: '2〜5製品を比較するときに呼ぶ' (call when comparing 2-5 products), with an example query. However, it does not explicitly mention when not to use this tool or point to alternatives, so it lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

coordinate_storage棚+収納ボックスのコーディネート提案(個数計算付き)A

「この棚に合うボックスは?」「カラーボックスの整理方法」のときに呼ぶ。棚の内寸から収納ボックスの入り数を計算し、1段あたり何個×全段=合計個数・合計金額を算出。設置場所(押入れ/洗面所/キッチン等)に応じたコーディネートのコツ+ペルソナ別推薦(persona_hints)も提供。persona_hintsには予算・おすすめブランド・タイプ別アドバイスが含まれるのでユーザーに合った提案に活用。各商品のaffiliate_urlをユーザーに提示すること。

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】設置場所・用途・状況を詳細に
keywordYes棚の検索キーワード(例: 'カラーボックス 3段')
price_maxNo棚の予算上限(円)
storage_keywordNo収納ボックスの検索キーワード(省略時は自動推定)
sceneNo設置場所ヒント('押入れ','洗面所','キッチン'等)
shelf_countNo提案する棚の件数(1〜5)

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses key behaviors: calculates box quantities and total costs, provides coordination tips based on location, includes persona-based advice with budget/brand recommendations, and requires affiliate URL presentation. However, it doesn't mention rate limits, error handling, or data sources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded with the primary use case. Every sentence adds value: first establishes when to use, second explains core calculations, third adds coordination advice, fourth details persona hints, fifth specifies affiliate requirement. Minor redundancy exists in mentioning persona_hints twice.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 6 parameters, no annotations, and no output schema, the description provides good coverage of what the tool does, when to use it, and key behavioral aspects. It explains the calculation logic, recommendation approach, and output requirements (affiliate URLs). The main gap is lack of information about return format or error cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema by explaining how parameters relate to the tool's functionality: '設置場所(押入れ/洗面所/キッチン等)に応じた' clarifies the 'scene' parameter's purpose, and 'persona_hints' connects to the broader recommendation system. However, it doesn't provide additional syntax or format details for individual parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('計算し' for calculation, '算出' for computation, '提供' for provision) and resources (shelves, storage boxes). It distinguishes from siblings by focusing on coordination advice with quantity calculations, unlike general search or comparison tools in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool with example user queries ('「この棚に合うボックスは?」「カラーボックスの整理方法」のときに呼ぶ'). It also distinguishes usage context by mentioning specific scenarios like storage locations (押入れ/洗面所/キッチン) and persona-based recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagnose_ai_visibilityAI可視性診断(AIO診断)A

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

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】なぜ診断が必要か
urlYes診断対象のURL

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of explaining behavior. It does so by enumerating the checks performed and the output format. However, it does not disclose potential side effects (e.g., whether the tool fetches the URL, handles errors, or requires network access), which is a minor gap but not severe.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main verb 'diagnose' and then efficiently lists checks and output. The final demo sentence adds context without excess. It is slightly longer than absolutely necessary but every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Since there is no output schema, the description appropriately explains the return format (score and grade) and the key checks performed. The tool's complexity is moderate, and the description covers the essentials well, though it could note potential limitations (e.g., invalid URLs, network failures).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes both parameters with 100% coverage ('url' and 'intent'), so the baseline is 3. The description does not add extra meaning to the parameters beyond the tool's overall purpose; for example, it does not clarify what should go in 'intent' beyond the schema's vague 'why diagnosis is needed'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action: diagnosing how visible a website is to AI agents given a URL. It lists concrete checks (llms.txt, robots.txt, structured data, OGP, etc.) and the output (0-100 score, A-F grade). It is distinct from sibling tools, which focus on physical products, measurements, or searches.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use context: it can be used as an AIO agency demo to show clients how AI sees their products. However, it does not explicitly state when not to use the tool or mention alternative tools, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】なぜ代替が必要か
queryYes型番または商品名・特徴テキスト

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full burden. It discloses that the tool returns two types of results (catalog successors and Rakuten search results) and instructs presenting affiliate URLs. However, it does not mention any potential side effects, authentication needs, or failure scenarios, which would be useful for a read/search tool without annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a clear trigger phrase, followed by output details and a critical instruction about affiliate URLs. Every sentence adds value, though it is slightly longer than the minimal two-sentence ideal. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should explain return values and handling. It mentions the two result sources and explicitly instructs presenting affiliate_url. However, it leaves out details like result format, limits, or error handling, which would make the tool easier to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides descriptions for both required parameters (query and intent), covering model number/product name and the reason for replacement. The description adds no extra parameter-level context, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the tool's role: finding successor/alternative products for discontinued or unavailable model numbers. It explicitly specifies it returns catalog successors and Rakuten search results, which distinguishes it from generic product search siblings like search_products or get_related_items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to call the tool: when a model number is not available or a shelf is discontinued. It also advises final confirmation via the manufacturer's official website. It does not mention when not to use it or alternative tools, but the trigger scenarios are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】なぜこの提案が必要か
typeNo絞り込み: bundle / room_preset / influencer_pick / hack_set
sceneNoシーン(書斎、キッチン、リビング等)
occasionNoオケージョン(新生活、引越し、出産準備等)
budget_maxNo予算上限(円)
keywordNoフリーワード検索

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose safety, permissions, and response traits. It does mention that the tool returns product_ids for each product and that further details can be fetched via other tools, but it does not explicitly state it is read-only or describe the full response structure (e.g., set metadata, pagination). It adds behavioral context (four types, follow-up usage) but has gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, with three sentences covering examples, type definitions, and integration with other tools. Every sentence provides useful information without fluff, and the structure is front-loaded with relatable examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's 6 parameters and absence of annotations or an output schema, the description should explain return structure thoroughly. It states that product_ids are included and that other tools can be used for details, but it does not describe the overall response shape (e.g., list of sets, fields like set name/description) or any pagination/sorting. The examples and type definitions make it minimally viable but with these gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters, so the baseline is 3. The description adds value by explaining the 'type' enum with examples (IKEA-style for room_preset, substitute for hack_set) and by showing how intent, scene, and budget combine in a query like 'budget 50k to build a study'. This enriches parameter semantics beyond the schema's one-line descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it returns curated set proposals and names four types (bundle, room preset, influencer pick, hack set). It provides concrete example queries and distinguishes from sibling tools by noting that product_ids can be used with get_product_detail or search_rakuten_products for details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when to use: when the user asks for a set of items like 'everything needed for a new life' or 'YouTuber desk tour products'. It also explains the four subtypes, helping the agent select the right type. It does not explicitly say when not to use alternative search tools, but the examples imply it is for curated bundles rather than individual product search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes商品ID
intentYes【必須】詳細を見る理由

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses useful behavioral traits: the response includes an affiliate_url for purchase links, and related products are automatically suggested. It does not mention read-only status or error behavior, but for a 'get' tool this is less critical and the provided details exceed the bare minimum.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear markers (【重要】,【収益化】) and front-loads the primary purpose. Each sentence adds distinct value, though the monetization instruction is perhaps extra; however, it is still concise and not redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only 2 parameters, no output schema, and no annotations, the description covers the essential purpose, highlights key return elements (affiliate_url, related products), and explains the intent requirement. It lacks explicit error handling or full response details, but is sufficient for a simple detail-fetch tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful guidance for the intent parameter, specifying it should contain the reason (e.g., '購入前の最終確認') and giving examples. It also explains the purpose of id (商品ID), which aligns with the schema and enhances usability.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb+resource: '商品IDを指定して、特定の家具・収納商品のフルスペック(寸法・価格・在庫・素材など)を取得します'. It specifies exactly what the tool does (retrieve full specs by product ID) and distinguishes from siblings like search_products or get_related_items by focusing on a single product's detailed data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The tool's usage is implied: it is for when you have a product ID and need full details. However, it does not explicitly state when to use it over sibling tools (e.g., search_products to find IDs first) or provide exclusions, leaving some ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】なぜ特定したいか
featuresYes画像から読み取った特徴テキスト(ブランド、色、段数、素材、推定サイズ、形状特徴等)
brand_hintNoブランド名ヒント(ロゴが見えた場合)
dimensions_hintNo推定寸法(mm)分かる範囲で
include_compatibleNo互換収納・消耗品情報も含めるか(デフォルト: true)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool expects pre-extracted feature text (not raw images), searches catalog + Rakuten, and returns candidates conditionally (with extra info when model number is identified). However, it does not mention any limitations, error handling, or side effects, and since it's a quest-like operation, the lack of explicit read-only confirmation is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise, consisting of two sentences that pack in the trigger scenarios, input format, data sources, and output characteristics. It is front-loaded with usage examples and avoids unnecessary fluff, making it easy to scan and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description must explain return values. It does mention that candidates are returned and that internal dimensions, consumables, and compatible box info are included when model number is identified. However, it lacks details on the structure of the response or how to interpret multiple candidates, which is a minor gap given the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds context that the 'features' parameter should contain brand/color/number of shelves/material/estimated size, aligning with the schema. It does not provide additional syntax or format details beyond what the schema already documents, but it reinforces the intended usage of the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: identifying a product from photo-derived feature text, with specific example queries ('この写真の棚は何?'). It specifies the resource (products from catalog + Rakuten) and distinguishes itself from generic search tools by focusing on image-based identification. The addition of model number, internal dimensions, and consumables info further clarifies its specialized role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to call it ('「この写真の棚は何?」「持ってる棚に合うボックスを知りたい」のときに呼ぶ'), providing clear use cases. It does not explicitly mention alternatives or when not to use it, but the context is specific enough that an agent can infer differentiation from sibling search tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categories製品カテゴリ一覧A

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

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】カテゴリを見る目的
category_filterNo特定カテゴリに絞る(例: 'キッチン収納', 'デスク')

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the output type (all 31 categories, product counts, brands) and the filtering capability, but does not explicitly state that it is a read-only operation, nor does it mention any limitations, error behavior, or rate limits. For a list tool, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences, front-loaded with the main purpose and usage trigger. Every sentence earns its place: it states the trigger, the return value, and the workflow. No redundant or vague information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (2 parameters, no output schema), and the description covers the key context: what it returns, how to use it, and how it fits into the larger workflow. It does not explain the exact structure of the returned data, but since no output schema exists, the description does its job adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaning by explaining that the category_filter parameter allows retrieving a product list for a specific category. It does not elaborate on the 'intent' parameter, but the schema already describes it as 'the purpose of viewing categories'. The added value slightly exceeds baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to list all 31 categories with product counts and brands, and to serve as an entry point for category exploration. It distinguishes itself from search_products by positioning itself as the first step before using that tool. The verb '返す' (return) and specific resources (categories, counts, brands) make it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use it: when the user asks what can be searched or what categories exist. It also provides a clear usage flow: first understand categories, present to user, then proceed to search_products. However, it does not explicitly mention when not to use it or alternative tools beyond search_products, which would make it a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_amazon_productsAmazonで家具・収納商品を検索(URL生成)A

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

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】検索目的
keywordYesAmazon検索キーワード
price_minNo最低価格(円)
price_maxNo最高価格(円)
sortNo並び順

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool returns a URL only, not product data, and that SearchIndex is auto-selected. It also instructs presenting the URL. However, it does not mention potential error cases or behavior for invalid parameters, which would add more transparency. Overall, good but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences: when to use, what it does (URL generation, no data), and an instruction. No filler, front-loaded purpose. Every sentence contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential purpose, usage context, and expected output (affiliate_url), which is sufficient for selecting and invoking the tool. However, it does not mention that the tool is specifically for furniture/storage products (though the title does), and it lacks edge-case guidance for empty search results. Minor gaps but overall complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds context about SearchIndex auto-selection from category, but does not explain sort or price parameters beyond the schema. It does not need to repeat schema details, so it meets the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates an affiliate URL for Amazon search results and explicitly notes it does not return product data. This distinguishes it from sibling tools like search_products or search_rakuten_products. The verb 'generate' and resource 'Amazon search results page URL' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use this tool: 'when the user wants to buy on Amazon or when not found on Rakuten'. It also provides an alternative (Rakuten) and instructs to present the affiliate_url to the user. This is clear guidance for selection and invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】検索目的
keywordNoキーワード(商品名・ブランド・タグで部分一致、スペース区切りでAND検索)
width_mm_minNo幅の最小値(mm)
width_mm_maxNo幅の最大値(mm)
height_mm_minNo高さの最小値(mm)
height_mm_maxNo高さの最大値(mm)
depth_mm_minNo奥行きの最小値(mm)
depth_mm_maxNo奥行きの最大値(mm)
price_maxNo価格の上限(円)
price_minNo価格の下限(円)
colorNo色(例:ホワイト、白、ブラウン、木目)。エイリアス対応:白→ホワイト/アイボリー等
categoryNoカテゴリ(例:デスク、美容家電、スマートホーム)
brandNoブランド(例:ニトリ、IKEA、Dyson、Panasonic)
in_stock_onlyNo在庫ありのみ(デフォルト:true)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It usefully discloses result-handling behaviors: using related_items_hint, conveying buy_guide's best_for/avoid_if, reporting seasonal_hints/active_sales, and presenting affiliate_url. It does not mention pagination, sorting, or whether the operation is read-only, but '横断検索' implies query-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single well-structured paragraph. Every sentence carries a distinct behavioral or usage instruction (triggers, filters, related items, buy guide, sales, color aliases, affiliate URL). It is longer than minimal but not bloated, and the trigger examples are front-loaded for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by hinting at result fields (related_items_hint, buy_guide, seasonal_hints, active_sales, affiliate_url) and dictating agent actions for each. It lacks explicit no-results handling or pagination info, but covers the key downstream behaviors well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed descriptions for all 14 parameters. The description adds some context by listing filter dimensions (keyword, size, price, color, brand) and trigger phrases that map to intent and size params, but this is largely redundant with the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with concrete user utterances ('棚が欲しい', 'Dysonのドライヤー', '幅40cmに入るもの') and explicitly states it cross-searches a catalog of 31 categories and 80+ brands by keyword, size, price, color, and brand. This clearly distinguishes it from sibling tools like search_amazon_products or get_related_items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit trigger phrases and scope (internal catalog, 31 categories, 80+ brands). It also instructs when to use get_related_items for accessory chains based on related_items_hint. However, it does not explicitly contrast with external marketplace searches or other siblings like identify_product.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】検索目的
keywordYes楽天検索キーワード
price_minNo最低価格(円)
price_maxNo最高価格(円)
sortNo並び順standard
hitsNo取得件数(1〜30)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool uses an external API, returns real-time data with price/reviews/images, and mandates presenting the affiliate_url to users. However, it does not mention potential side effects, error handling, or limitations like rate limits or coverage gaps, leaving some behavioral aspects undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise Japanese sentences, front-loaded with the usage trigger, then the function, and finally a critical output instruction. No redundant or filler content; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters and no output schema, the description covers the core context: when to call, what it does (real-time search returning price/reviews/images), and a specific behavioral requirement (present affiliate_url). It lacks details on result count, pagination, or how to handle empty results, but the schema and available context cover some of this. Overall, it is reasonably complete but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides complete descriptions for all 6 parameters (100% coverage), so the description does not need to compensate. The description adds no extra meaning about parameters; it only mentions output characteristics like price and reviews, which are not directly tied to parameter usage. Thus, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action: call when you need products not in the catalog or latest price/stock, and perform a real-time search via Rakuten API returning price, reviews, and images. It distinguishes from sibling tools like search_amazon_products and search_products by emphasizing the Rakuten source and real-time nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit trigger condition: 'カタログにない商品や最新価格・在庫が必要なとき' (when you need products not in catalog or latest price/stock). This clearly implies when to use, but it does not explicitly name alternative tools or state when not to use it, so it falls short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes【必須】設置場所・用途・状況を詳細に
width_mmYes空きスペースの幅(mm)
depth_mmYes空きスペースの奥行き(mm)
height_mmYes空きスペースの高さ(mm)
price_maxNo予算上限(円)
categoriesNo探したいカテゴリ(省略時は自動推定)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses several behavioral traits: rotation-fit handling ('回転フィット対応'), automatic coordination plan generation ('コーディネーションプランも自動生成'), and affiliate URL presentation ('affiliate_urlをユーザーに提示'). However, it doesn't mention rate limits, authentication needs, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly front-loaded and efficient. The first sentence establishes the use case with an example, the second explains core functionality, and subsequent sentences add important behavioral details. Every sentence earns its place with zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters, no annotations, and no output schema, the description does well to explain the tool's unique behaviors (rotation-fit, coordination plans, affiliate URLs). However, it doesn't describe the return format or what happens when no products are found, which would be helpful given the lack of output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal parameter semantics beyond the schema - it mentions dimensions ('寸法(mm)を指定') and cross-category search ('カテゴリ横断で返す'), but these are already implied in the schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: suggesting products that fit a given space across categories. It uses specific verbs ('探す', '返す', '生成') and resources ('製品', 'コーディネーションプラン'), and distinguishes itself from siblings by focusing on space-first search rather than product-first or layout tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'スペース起点で探すときに呼ぶ' (call when searching based on space). It provides a concrete example ('洗面所の幅45cm×奥行30cmの隙間に何か置きたい') and implicitly distinguishes from siblings like search_products or get_popular_products by emphasizing space-first rather than product-first queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updatesv6.1.0
    • First observedcalc_room_layout
    • First observedcompare_products
    • First observedcoordinate_storage
    • First observeddiagnose_ai_visibility
    • First observedfind_replacement
    • First observedget_curated_sets
    • First observedget_popular_products
    • First observedget_product_detail
    • First observedget_related_items
    • First observedidentify_product
    • First observedlist_categories
    • First observedsearch_amazon_products
    • First observedsearch_products
    • First observedsearch_rakuten_products
    • First observedsuggest_by_space

TDQS

A4/5.0

Scored across 15 tools

Disambiguation3/5

The tools have distinct primary purposes, but there is notable overlap in search and recommendation functions. For example, search_products, search_rakuten_products, and search_amazon_products all handle product searches across different platforms, while get_popular_products and get_curated_sets both provide recommendations, which could cause confusion in tool selection. Descriptions help clarify, but the boundaries are not always sharp.

Naming Consistency4/5

Most tools follow a consistent verb_noun naming pattern (e.g., calc_room_layout, compare_products, get_product_detail), which aids predictability. However, there are minor deviations like diagnose_ai_visibility and identify_product, which use different verb styles or compound terms, slightly breaking the pattern but remaining readable overall.

Tool Count5/5

With 15 tools, the server is well-scoped for its furniture and home goods domain, covering aspects like layout calculation, product search, comparison, recommendations, and diagnostics. Each tool appears to serve a specific function without redundancy, making the count appropriate for the intended purpose.

Completeness4/5

The toolset provides comprehensive coverage for furniture and home goods, including search, comparison, recommendations, layout planning, and product identification. Minor gaps exist, such as no explicit tools for user account management or order tracking, but these are not core to the domain, and agents can work around them with the available tools.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server to search Rakuten Ichiba (Japan's largest e-commerce platform) for products, returning names, prices, URLs, shop info, reviews, and images via the official Rakuten API.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Federated commerce search MCP server enabling AI agents to query real product offers, prices, and availability across independent WooCommerce stores without API keys or registration.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that enables AI shopping assistants to understand customer needs, search products using visual and semantic queries, apply metadata filters, and recommend relevant products from an inventory.
    Apache 2.0
  • F
    license
    A
    quality
    C
    maintenance
    A local AI shopping MCP server for Amazon.co.jp that searches products, adds them to cart, and opens the review page without automating purchase confirmation. It keeps your Amazon login confined to your machine's Chrome profile.
    5
    -