rakuten-mcp
The rakuten-mcp server provides read-only access to Rakuten's e-commerce and travel APIs. All operations are read-only; creating, modifying, or deleting resources is not supported.
Search Products (
search_products): Full-text search on Rakuten Ichiba with filters for price range (min/max in yen), sorting options (price, review count, review average, etc.), and pagination.Get Genre Ranking (
get_genre_ranking): Retrieve bestseller rankings overall or filtered by a specific product genre/category.Search Genres (
search_genres): Browse and navigate Rakuten Ichiba's product category hierarchy from the top level or any parent genre.Search Books (
search_books): Search Rakuten Books by title, author, ISBN, or general keyword.Search Travel Hotels (
search_travel): Search for hotels on Rakuten Travel by keyword (e.g., hotel name or area).Search Travel Vacancy (
search_travel_vacancy): Find available hotel rooms by specifying check-in/check-out dates, location (coordinates or hotel number), number of adults, max nightly price, and search radius.Get Product Reviews (
get_product_reviews): Retrieve reviews for a specific Rakuten product using its item code, with sorting by date or rating.
Provides integration with Rakuten Web Service APIs, enabling search across Rakuten Ichiba (products), Rakuten Books, and Rakuten Travel with tools for product search, category browsing, bestseller rankings, hotel availability, and book searches.
rakuten-mcp
A Model Context Protocol server for the Rakuten Web Service API. 28 read-only tools across six Rakuten product families: Ichiba (marketplace), Books, Travel, Recipe, Kobo, and GORA (golf).
Every tool description ships in English and Japanese. Every endpoint was verified against the live Rakuten API on 2026-06-04 before release.
Install
npm install -g rakuten-mcpOr npx rakuten-mcp on demand.
Related MCP server: xendit-mcp
Configuration
Register at Rakuten Web Service.
Create an application. You get a UUID Application ID and a
pk_-prefixed Access Key.Optional: register an Affiliate ID to monetize product links. Item URLs in tool responses will carry it.
Variable | Required | Description |
| yes | Application ID (UUID format on the new platform) |
| yes | Access Key (starts with |
| no | Affiliate ID appended to every item URL |
| no | Retries on 429 / 5xx. Default 3. |
Claude Desktop
Edit claude_desktop_config.json:
{
"mcpServers": {
"rakuten": {
"command": "npx",
"args": ["-y", "rakuten-mcp"],
"env": {
"RAKUTEN_APP_ID": "your-app-id",
"RAKUTEN_ACCESS_KEY": "your-access-key"
}
}
}
}Claude Code
claude mcp add rakuten -e RAKUTEN_APP_ID=... -e RAKUTEN_ACCESS_KEY=... -- npx -y rakuten-mcpCursor / Cline / Continue
Same JSON shape as Claude Desktop, under each client's MCP config path.
Tools
Ichiba (5)
Tool | What it does |
| Keyword search on Rakuten Ichiba with price filters, sort, genre/shop restrictions. |
| Browse the genre tree. Returns current, ancestors, siblings, and children. |
| Look up a specific tag by ID. Returns the tag group and name. |
| Bestseller ranking, overall or by genre / period / age / gender. |
| Item Price Navi: same product across multiple sellers with min/max/avg price. |
Books (9)
Tool | What it does |
| Cross-category search across all of Rakuten Books. |
| Printed books by title, author, ISBN, publisher. |
| Music CDs by title, artist, label, JAN. |
| DVDs / Blu-ray. |
| Non-Japanese books. Returns |
| Magazines by title, publisher, JAN. |
| Video games by title, hardware platform, JAN. |
| Computer software by title, OS, JAN. |
| Browse the Books genre tree ( |
Travel (7)
Tool | What it does |
| Hotels by area code or lat/lon. |
| Hotels with rooms available on specific check-in / check-out dates. Returns plans with per-night and total pricing. |
| Full details for one hotel by |
| The area-code hierarchy: 日本 → 47 prefectures → cities → districts. |
| Free-text hotel search by name / landmark / area. |
| All 307 hotel chains registered on Rakuten Travel. |
| Top hotels by ranking genre (all / onsen / ryokan / city / resort / business / pension / publichouse). |
Recipe (2)
Tool | What it does |
| The full Rakuten Recipe category tree (43 large → ~540 medium → ~1500 small). Pass |
| Top recipes in a category with title, ingredient list, prep time, cost estimate, image, and author. |
Kobo (2)
Tool | What it does |
| Search Rakuten Kobo's eBook catalogue. Returns title, series, author, publisher, language code, price, and sale URL. |
| Browse the Kobo genre tree. Top-level is |
GORA (3)
Tool | What it does |
| Golf courses by area code, keyword, or coordinates. |
| Full course profile: designer, hole/par, course distance, green type, dress code, facilities, base prices. |
| Reservation plans on a specific play date. Returns per-plan prices, cart/caddie/lunch inclusions, player-count constraints. |
Example queries
楽天で1万円以下のワイヤレスイヤホンを探して。レビュー4以上。
村上春樹の楽天Kobo電子書籍を新着順で。
東京駅近くのホテル、7月1〜2日、2名で1泊1万5千円以下の空室。
今週末東京近郊のゴルフ場で安いプランは?
楽天レシピで人気の鶏胸肉料理を5件、材料と所要時間込みで。
JANコード 4988601009447 のCDの取扱店舗。Architecture
Modular: one file per API family under src/tools/. Stdio and HTTP transports both supported. Typed error tree with 8 classes covering Config / Auth / RateLimit / Server / NotFound / BadRequest / MalformedResponse / Unknown. Retry-with-backoff on 429 and 5xx, parses Retry-After as both seconds and HTTP-date. See AGENTS.md for the architecture brief, conventions, and how to add a new tool.
Safety
All 28 tools are read-only HTTP GETs against the Rakuten Web Service API. No tool creates, modifies, or deletes anything. Rakuten's terms of service and rate limits apply. Returned items are promotional listings — verify prices and availability on Rakuten before acting on them.
Disclaimer
Unofficial. Not affiliated with, endorsed by, or sponsored by Rakuten Group, Inc. Rakuten, Rakuten Ichiba, Rakuten Books, Rakuten Travel, Rakuten Recipe, Rakuten Kobo, and Rakuten GORA are trademarks of Rakuten Group, Inc. Use at your own risk.
License
Available Tools
28 toolsbooks_book_searchSearch Rakuten Books (Printed Books)ARead-onlyIdempotent
Search Rakuten Books for printed books by title, author, ISBN, publisher, or free-text keyword. Returns book details including ISBN, author, publisher, series, table of contents, preview URL, list price, and review stats. Pass at least one search field.
[JA] 楽天ブックスで紙の書籍を、書名・著者・ISBN・出版社・キーワードで検索します。ISBN、著者、出版社、シリーズ、目次、立ち読みURL、定価、レビューを含む書籍詳細を返します。検索条件は少なくとも1つ必須。
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Book title (partial match). 書名(部分一致)。 | |
| author | No | Author name. 著者名。 | |
| publisherName | No | Publisher name. 出版社。 | |
| isbnjan | No | ISBN or JAN code. ISBN または JAN コード。 | |
| keyword | No | Free-text keyword across all fields. 全フィールド横断のキーワード。 | |
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. 並び順。 | standard |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint. The description adds valuable behavioral details: returns book details including ISBN, author, publisher, series, table of contents, preview URL, list price, and review stats. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise English sentences (plus Japanese translation) with zero wasted words. It front-loads the purpose and key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given high schema coverage and clear annotations, the description is complete: it lists return fields, requires at least one search parameter, and defines scope. No output schema exists, so the description adequately covers return value expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds the constraint that at least one search field must be provided, which is not in the schema. It also summarizes the search fields, though the schema already describes each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for printed books by title, author, ISBN, publisher, or keyword, distinguishing it from sibling tools for CDs, DVDs, ebooks, etc. It specifies 'printed books' explicitly, differentiating from kobo_ebook_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes the critical guideline to 'Pass at least one search field.' It implies when to use via context (printed books vs. other media), but lacks explicit exclusions or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
books_cd_searchSearch Rakuten Books (CDs / Music)ARead-onlyIdempotent
Search Rakuten Books for music CDs by title, artist, label, or JAN code. Returns album/single details including artist, label, JAN, track list, list price, and review stats.
[JA] 楽天ブックスで音楽CDを、タイトル・アーティスト・レーベル・JANで検索します。アーティスト、レーベル、JAN、収録曲、定価、レビューを含む詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Album/single title. アルバム/シングル名。 | |
| artistName | No | Artist name. アーティスト名。 | |
| label | No | Record label. レーベル。 | |
| jan | No | JAN code. JANコード。 | |
| keyword | No | Free-text keyword. キーワード。 | |
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. 並び順。 | standard |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and open-world. Description adds that it returns specific details (artist, label, JAN, etc.), but does not disclose additional behavioral traits like rate limits or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise and front-loaded with English, followed by Japanese translation. No unnecessary information, though bilingual might be redundant for some agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and strong annotations, the description covers the main functionality and return values. It lacks details on pagination behavior or error handling, but these are less critical for a search tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The description merely lists fields without adding extra meaning beyond what the schema already provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it searches for music CDs with specific fields (title, artist, label, JAN) and returns details. Tool name and sibling list further differentiate from other media searches (e.g., books, DVDs), but no explicit differentiation in description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for CD searches by specific criteria, but provides no explicit guidance on when to use this tool over siblings (e.g., for JAN searches that might also apply to books). No when-not-to-use or alternatives listed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
books_dvd_searchSearch Rakuten Books (DVDs / Blu-ray)ARead-onlyIdempotent
Search Rakuten Books for DVDs and Blu-ray discs by title, performer, label, or JAN. Returns title details with performer, label, JAN, list price, and review stats.
[JA] 楽天ブックスでDVD・Blu-rayを、タイトル・出演者・レーベル・JANで検索します。出演者、レーベル、JAN、定価、レビューを含む詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Title (movie or show). タイトル。 | |
| artistName | No | Performer/artist. 出演者/アーティスト。 | |
| label | No | Label/studio. レーベル/スタジオ。 | |
| jan | No | JAN code. JANコード。 | |
| keyword | No | Free-text keyword. キーワード。 | |
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. 並び順。 | standard |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds the specific return fields (performer, label, JAN, list price, review stats), complementing the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences in English followed by a Japanese translation. It front-loads the purpose and key details without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 9 optional parameters and no output schema, the description adequately summarizes the return fields. However, it could mention pagination support or sort options, which are covered in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 paraphrases some parameter options (title, performer, label, JAN) but does not add meaning beyond the schema descriptions, which are already clear and bilingual.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches Rakuten Books for DVDs and Blu-ray discs, differentiating from sibling tools like books_book_search or books_cd_search by specifying the media type. It provides the search fields and return details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for DVD/Blu-ray searches but offers no explicit guidance on when to use this tool over alternatives or when not to use it. Sibling tool names provide context but the description itself lacks comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
books_foreign_book_searchSearch Rakuten Books (Foreign-Language Books)ARead-onlyIdempotent
Search Rakuten Books for foreign-language (non-Japanese) books by title, author, ISBN, or publisher. Returns book details plus a Japanese-translated title field when available.
[JA] 楽天ブックスで洋書を、タイトル・著者・ISBN・出版社で検索します。書籍詳細に加え、邦題が存在する場合は japaneseTitle を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Title (English or other). タイトル。 | |
| author | No | Author. 著者。 | |
| publisherName | No | Publisher. 出版社。 | |
| isbn | No | ISBN. ISBN。 | |
| keyword | No | Free-text keyword. キーワード。 | |
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. 並び順。 | standard |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent. The description adds that it returns a Japanese-translated title when available, providing useful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with only two English sentences and a Japanese translation. Information is front-loaded and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the straightforward nature and full parameter documentation, the description is largely complete. No output schema exists, but the mention of japaneseTitle field adds necessary context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds little beyond listing searchable fields already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it searches for foreign-language books on Rakuten Books, specifying searchable fields and distinguishing from siblings like books_book_search by targeting non-Japanese books.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes the tool's functionality well but does not explicitly state when to avoid use or direct to alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
books_game_searchSearch Rakuten Books (Video Games)ARead-onlyIdempotent
Search Rakuten Books for video games by title, platform/hardware (e.g., 'Nintendo Switch', 'PlayStation 5'), or JAN. Returns title details with hardware, label, JAN, list price, and review stats.
[JA] 楽天ブックスでビデオゲームを、タイトル・ハード(例: 'Nintendo Switch', 'PlayStation 5')・JANで検索します。ハード、レーベル、JAN、定価、レビューを含む詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Game title. ゲームタイトル。 | |
| hardware | No | Platform/hardware (e.g., 'Nintendo Switch'). ハードウェア(例: 'Nintendo Switch')。 | |
| jan | No | JAN code. JAN。 | |
| keyword | No | Free-text keyword. キーワード。 | |
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. 並び順。 | standard |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint; description adds return details but no new behavioral context beyond what annotations provide. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences (English + Japanese) are concise, front-loaded with purpose, and contain no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description adequately lists return fields. With 8 parameters and good schema, the description plus schema provide sufficient context for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description summarizes main parameters (title, hardware, JAN), but does not extend meaning for all 8 parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for video games by title, platform, or JAN, and lists returned fields. This differentiates it from sibling tools like books_book_search or books_cd_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool over siblings; the name implies video games, but no when-not or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
books_genre_searchBrowse Rakuten Books GenresARead-onlyIdempotent
Browse the Rakuten Books genre (category) hierarchy. Pass '000' to list top-level genres, or a specific 3-character genre ID to fetch its parents and direct children. Useful for narrowing book searches to a specific category.
[JA] 楽天ブックスのジャンル(カテゴリ)階層を参照します。'000' を渡すとトップレベル、特定の3文字ジャンルIDを渡すと親ジャンルと直下の子ジャンルを取得します。検索の絞り込みに利用できます。
| Name | Required | Description | Default |
|---|---|---|---|
| booksGenreId | No | Books genre ID (e.g., '000' = top, '001' = books, '004' = CD). Three-character codes are hierarchical levels. ジャンルID('000' がトップ、'001' が書籍、'004' がCD)。 | 000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotency. The description adds behavioral details about the returned structure (parents and children for specific IDs, top-level for '000'), which is helpful beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the action and examples, and includes a Japanese version for localization. No unnecessary words. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and comprehensive annotations, the description fully explains its functionality and usage. It covers all needed information for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the parameter already described in the schema (including examples and hierarchical levels). The description provides additional context about '000' and specific IDs, but this is marginal. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool browses the Rakuten Books genre hierarchy. It specifies that passing '000' lists top-level genres and a specific ID fetches parents and children. This distinctly separates it from sibling tools like books_book_search or ichiba_genre_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to browse genres or navigate hierarchy) and explicitly mentions it is useful for narrowing book searches. While it doesn't list alternative tools or when not to use it, the context from sibling names and the purpose makes the usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
books_magazine_searchSearch Rakuten Books (Magazines)ARead-onlyIdempotent
Search Rakuten Books for magazines by title, publisher, or JAN. Returns issue details including publisher, JAN, publication cycle, preview URL, and review stats.
[JA] 楽天ブックスで雑誌を、タイトル・出版社・JANで検索します。出版社、JAN、発行サイクル、立ち読みURL、レビューを含む詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Magazine title. 雑誌名。 | |
| publisherName | No | Publisher. 出版社。 | |
| jan | No | JAN code. JAN。 | |
| keyword | No | Free-text keyword. キーワード。 | |
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. 並び順。 | standard |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that it returns specific fields (e.g., publisher, JAN, preview URL), but does not disclose other behavioral traits like authentication needs or rate limits. Given annotations, the description provides moderate additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences in English followed by a Japanese translation. It is front-loaded with purpose, no unnecessary words, and the bilingual support is helpful. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 listing return fields (publication cycle, review stats, etc.). It covers search parameters and pagination (implicit via hits/page), but lacks details on sort behavior and data freshness. Overall adequate for a search tool with high schema coverage and good annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions in both English and Japanese. The tool's description lists searchable fields but does not add significant meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Rakuten Books for magazines by title, publisher, or JAN, and lists returned fields (issue details, publisher, etc.). This distinguishes it from sibling tools like books_book_search or books_cd_search, which search other media types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, but the tool name and sibling list imply it is for magazine searches. No explicit when-not-to-use or alternatives are provided, relying on the agent to infer from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
books_software_searchSearch Rakuten Books (Computer Software)ARead-onlyIdempotent
Search Rakuten Books for computer software by title, target OS (e.g., 'Windows', 'macOS'), or JAN. Returns software details with target OS, label, JAN, list price, and review stats.
[JA] 楽天ブックスでPCソフトウェアを、タイトル・対応OS(例: 'Windows', 'macOS')・JANで検索します。対応OS、レーベル、JAN、定価、レビューを含む詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Software title. ソフトウェア名。 | |
| os | No | Target OS (e.g., 'Windows', 'macOS'). 対応OS。 | |
| jan | No | JAN code. JAN。 | |
| keyword | No | Free-text keyword. キーワード。 | |
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. 並び順。 | standard |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, open-world. The description adds details about returned fields (target OS, label, JAN, list price, review stats), which is valuable context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one sentence) and direct, though includes a Japanese duplicate that adds length but not value for English readers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers main search criteria and return fields, but lacks details about search behavior (e.g., combination logic, pagination, sorting, genre filtering). No output schema exists to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description lists only three of eight parameters (title, OS, JAN) as search criteria, adding minimal value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches Rakuten Books for computer software by title, OS, or JAN, and lists return fields. This distinguishes it from sibling tools for other categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for computer software searches, and sibling tools provide context. However, it does not explicitly state when not to use it or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
books_total_searchSearch Rakuten Books (All Categories)ARead-onlyIdempotent
Cross-category search across Rakuten Books — books, CDs, DVDs, video games, software, magazines, and foreign-language books. Use this when you don't know which category contains the target item. For category-specific results with category-specific fields, use the books_book_search / books_cd_search / etc. tools.
[JA] 楽天ブックス(本、CD、DVD、ゲーム、ソフトウェア、雑誌、洋書)を横断検索します。カテゴリが不明な検索に使用してください。カテゴリ固有のフィールドが必要な場合は books_book_search / books_cd_search などを使用してください。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | Search keyword across all Rakuten Books categories (books, CDs, DVDs, software, games, magazines). 楽天ブックス全カテゴリ横断キーワード検索。 | |
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. 並び順。 | standard |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, openWorldHint. Description adds cross-category context but does not contradict annotations. No further behavioral details are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise, front-loads the main purpose, and includes a Japanese translation. Every sentence provides value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description covers usage scenarios and parameter purpose. Could mention typical return fields, but overall adequate for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description does not add significant meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs a cross-category search across Rakuten Books, listing all included categories. It distinguishes itself from sibling category-specific tools by specifying when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this when you don't know which category contains the target item' and directs to category-specific tools for those use cases. This provides clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gora_golf_course_detailGet Rakuten GORA Golf Course DetailARead-onlyIdempotent
Get full details for a Rakuten GORA golf course by ID — postal address, phone, designer, hole/par count, course distance, green type, dress code, practice/lodging/meal facilities, credit card acceptance, layout map URL, and weekday/holiday base prices. Use this after gora_golf_course_search to drill into a specific course.
[JA] 楽天GORAのゴルフ場詳細をIDで取得します。郵便番号、電話、設計者、ホール数、パー数、コース距離、グリーン種別、ドレスコード、練習場/宿泊/食事/クレジットカード可否、レイアウトURL、平日/休日の基準最安値を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| golfCourseId | Yes | Golf course ID (from gora_golf_course_search). ゴルフ場ID(検索結果から取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds useful detail on returned fields, but 'full details' slightly conflicts with openWorldHint. Minor issue, no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise English sentences plus Japanese translation. Front-loaded with purpose, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with no output schema, the description adequately lists all expected return fields and usage context. Sufficient for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description already covers the parameter fully (100% coverage). Description restates that ID comes from search but adds no extra meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves full details for a golf course by ID, listing specific fields (address, phone, designer, etc.). It distinguishes from sibling tools by explicitly mentioning use after gora_golf_course_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this after gora_golf_course_search to drill into a specific course.' Provides clear usage context and sequence, though no direct exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gora_golf_course_searchSearch Rakuten GORA Golf CoursesARead-onlyIdempotent
Search Rakuten GORA golf courses by area code, keyword, or coordinates. Returns each course with name, address, nearest highway IC, distance from IC, evaluation score, image URL, and a direct reservation calendar URL. Use gora_golf_course_detail for full information including plans, course layout, and facilities.
[JA] 楽天GORAのゴルフ場を、エリアコード/キーワード/座標で検索します。コース名、住所、最寄りIC、IC距離、評価、画像、予約カレンダーURLを返します。プラン詳細やコースレイアウト等の全情報は gora_golf_course_detail を使用してください。
| Name | Required | Description | Default |
|---|---|---|---|
| areaCode | No | Area code (e.g. '13' = Tokyo, '14' = Kanagawa, '23' = Aichi). Either areaCode or keyword is required. エリアコード(例: '13' 東京、'14' 神奈川)。areaCode または keyword が必要。 | |
| keyword | No | Free-text keyword (course name, location). 検索キーワード(コース名/エリア)。 | |
| latitude | No | Latitude. 緯度。 | |
| longitude | No | Longitude. 経度。 | |
| searchRange | No | Search radius in km (1–80) when using lat/lon. 検索半径(km、1〜80)。 | |
| hits | No | Results per page. 取得件数。 | |
| page | No | Page number. ページ番号。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's behavioral burden is lower. The description adds context: it returns specific fields and includes a reservation calendar URL. No contradictions. It provides extra context beyond annotations, such as the return format (name, address, etc.).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct, with one paragraph in English and one in Japanese. It front-loads the key verbs and resources, and every sentence adds value. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 optional parameters, 100% schema coverage, and no output schema, the description covers the tool's purpose, input options, output fields, and points to the sibling tool for more detail. This is complete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents all 7 parameters with descriptions. The tool description only mentions the search criteria types (area code, keyword, coordinates) but adds no new parameter details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search Rakuten GORA golf courses' by area code, keyword, or coordinates. It lists returned fields (name, address, etc.) and differentiates from sibling tool gora_golf_course_detail, which provides full details. This is a specific verb+resource with sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use gora_golf_course_detail for full information, providing a clear alternative. It implies this tool is for summary search results. Although it doesn't state exact when-not-to-use scenarios, the guidance is sufficient for an AI agent to choose between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gora_plan_searchSearch Rakuten GORA Reservation PlansARead-onlyIdempotent
Search Rakuten GORA for available reservation plans on a specific play date. Returns each golf course together with its available plans (plan name, price per player, base price, cart/caddie/lunch/drink inclusions, start time zone, points). Filter by area code, specific golfCourseId, player count, or budget cap. Use this to compare options across courses before reserving.
[JA] 指定のプレー日における楽天GORAの予約可能プランを検索します。各ゴルフ場と利用可能プラン(プラン名、1人あたりの価格、基準価格、カート/キャディ/昼食/ドリンクの付帯、スタート時間帯、ポイント)を返します。エリアコード、ゴルフ場ID、プレイヤー数、予算で絞り込み可能。
| Name | Required | Description | Default |
|---|---|---|---|
| areaCode | No | Area code (e.g. '13' = Tokyo). エリアコード。 | |
| playDate | Yes | Play date (YYYY-MM-DD). プレー日(YYYY-MM-DD)。 | |
| golfCourseId | No | Restrict to a specific course. 特定のゴルフ場で絞り込み。 | |
| playerNum | No | Number of players (1–4). プレイヤー数。 | |
| budget | No | Max budget per player (JPY). 1人あたりの予算上限(円)。 | |
| hits | No | Results per page. 取得件数。 | |
| page | No | Page number. ページ番号。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context by detailing the return structure (plan name, price, inclusions, start time, points) and filtering capabilities, which goes beyond the safe-read designation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The English portion is 5 tight sentences that front-load the main action and immediately list return fields. The Japanese duplicate is reasonable for bilingual audiences. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully explains the return structure (plans with price, inclusions, start time, points) and all major filtering axes. Pagination parameters (hits, page) are covered in the schema, which suffices. The context of comparing plans before reserving is well set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter titles and descriptions. The description mentions filtering by areaCode, golfCourseId, playerNum, and budget, but does not add new meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb ('Search') and resource ('Rakuten GORA reservation plans'), clearly distinguishing it from sibling tools like gora_golf_course_search (searches courses) and gora_golf_course_detail (gets course details).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool to 'compare options across courses before reserving', providing clear use context. However, it does not explicitly mention when to avoid using it or name alternative tools for other tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ichiba_genre_searchBrowse Rakuten Ichiba GenresARead-onlyIdempotent
Browse the Rakuten Ichiba genre (category) hierarchy. Pass '0' to list top-level genres, or a specific genre ID to fetch its ancestors, siblings, and direct children. Useful for narrowing item searches to a specific category, or for discovering what categories exist.
[JA] 楽天市場のジャンル(カテゴリ)階層を参照します。'0' を渡すとトップレベル、特定のジャンルIDを渡すと祖先・兄弟・直下の子ジャンルを取得します。商品検索を特定カテゴリに絞り込んだり、カテゴリ構造を発見するのに使えます。
| Name | Required | Description | Default |
|---|---|---|---|
| genre_id | No | Genre ID to query. '0' returns the top-level genres; pass a child genre ID to drill down. ジャンルID。'0' はトップレベル。子ジャンルIDを渡して掘り下げます。 | 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond the annotations: fetching ancestors, siblings, and direct children for a given genre ID. The annotations already indicate read-only, idempotent, and open-world, and the description does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise English sentences (plus Japanese translation) with no wasted words. It front-loads the purpose and then explains behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a simple read-only browse tool: it explains what the tool does, when to use it, and the parameter behavior. It does not describe the output format, but given the tool's simplicity and lack of output schema, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter genre_id has 100% schema coverage; the description adds the special behavior for value '0' (top-level) and drilling down, which is not explicitly in the schema description but is implied. This adds value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool browses the genre hierarchy, specifies the verb (Browse), resource (genre hierarchy), and the effect of passing '0' vs a specific genre ID. It is distinct from sibling tools that search or rank items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says it is useful for narrowing item searches or discovering categories, providing clear context. It does not give explicit when-not-to-use or alternatives, but the sibling tools are sufficiently different.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ichiba_item_rankingGet Rakuten Ichiba Bestseller RankingARead-onlyIdempotent
Get the Rakuten Ichiba bestseller ranking — overall or filtered by genre, time period, age, and gender demographic. Returns ranked items with their rank, price, review stats, and purchase URL. Use ichiba_genre_search to find specific genre IDs.
[JA] 楽天市場の売れ筋ランキングを取得します。総合または、ジャンル/集計期間/年代/性別で絞り込み可能。順位、価格、レビュー、購入URLを含むランキング一覧を返します。ジャンルIDの検索には ichiba_genre_search を使用してください。
| Name | Required | Description | Default |
|---|---|---|---|
| genre_id | No | Genre ID for the ranking. '0' returns the overall ranking. 0はジャンル全体のランキング。 | 0 |
| page | No | Page number (1–34; Rakuten caps rankings at ~1000 items). ページ番号(1〜34)。 | |
| period | No | Time window for the ranking. Default depends on Rakuten's current configuration. ランキングの集計期間。 | |
| age | No | Filter to a specific age demographic (e.g., '20s' = users in their 20s). 年代フィルタ。 | |
| sex | No | Filter to a specific gender demographic. 性別フィルタ。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description does not need to repeat safety. It adds that the tool returns a ranking list with specific fields, but does not describe additional behavioral traits like pagination limits or response size. The description is consistent with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two English sentences and a Japanese translation. It front-loads the action and result, with no wasted words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (read-only, filtering, pagination via page parameter), the description covers the main purpose, return data, and prerequisite. The lack of output schema is mitigated by the description listing returned fields. Minor omission: no mention of pagination beyond the page parameter in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description. The tool description mentions filtering by genre, period, age, and sex, which matches the parameters, but does not add meaning beyond what is already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the Rakuten Ichiba bestseller ranking, with options for overall or filtered by genre, period, age, and gender. It also lists the returned data (rank, price, review stats, purchase URL). This distinguishes it from sibling tools like ichiba_item_search and ichiba_genre_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context by mentioning the ability to filter and by pointing to ichiba_genre_search for finding genre IDs. However, it does not explicitly state when not to use this tool or contrast with alternatives like ichiba_item_search for non-ranking queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ichiba_item_searchSearch Rakuten Ichiba ProductsARead-onlyIdempotent
Search products on Rakuten Ichiba (Japan's largest e-commerce marketplace) by keyword. Supports price range filtering, sorting by review count/average/price, and restricting results to a specific genre or shop. Returns a paginated list of items with prices, review stats, images, and direct purchase URLs.
[JA] 楽天市場(日本最大のEコマースモール)で商品をキーワード検索します。価格範囲フィルタ、レビュー数/平均/価格による並び替え、ジャンルや店舗での絞り込みに対応。価格、レビュー、画像、購入URLを含む商品一覧をページング形式で返します。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | Search keyword. Accepts Japanese or English. 検索キーワード。日本語または英語。 | |
| hits | No | Number of results to return per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. Prefix '+' = ascending, '-' = descending. 並び順。'+' は昇順、'-' は降順。 | standard |
| min_price | No | Minimum price in JPY (integer, inclusive). 最低価格(円、整数、以上)。 | |
| max_price | No | Maximum price in JPY (integer, inclusive). 最高価格(円、整数、以下)。 | |
| genre_id | No | Restrict to a specific genre ID. Browse genres via ichiba_genre_search. ジャンルIDで絞り込み。 | |
| shop_code | No | Restrict to a specific shop. 特定の店舗で絞り込み。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already confirm read-only and idempotent behavior. The description adds value by specifying the output: 'Returns a paginated list of items with prices, review stats, images, and direct purchase URLs.' This goes beyond annotations, though it doesn't disclose rate limits or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two short paragraphs (English and Japanese) with front-loaded purpose. Every sentence adds value, and no superfluous information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema, the description covers core functionality, filtering, sorting, and response contents. It mentions pagination and key fields, but lacks details on error behavior or advanced usage. Adequate for most use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add parameter-level details beyond what the schema already provides; it summarizes the supported features (price range, sorting, genre/shop restriction) but does not enhance understanding of individual parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the tool's purpose explicitly: 'Search products on Rakuten Ichiba by keyword.' It clearly specifies the verb 'search' and the resource 'Rakuten Ichiba products.' It distinguishes itself from sibling tools like ichiba_item_ranking (rankings) and ichiba_genre_search (genre browsing) by focusing on general keyword search with filtering and sorting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context for general product search with keyword, but does not explicitly state when to use this tool vs alternatives like ichiba_product_search or when not to use it. No exclusions or prerequisites are mentioned, though the context is clear from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ichiba_product_searchSearch Rakuten Ichiba Products (Cross-Seller, with Min/Max Pricing)ARead-onlyIdempotent
Search Rakuten's Item Price Navi — cross-seller product catalogue that groups identical products across multiple shops. Returns each product with its min/max/average price across all sellers and the total number of shops carrying it. Use this (instead of ichiba_item_search) when you want to compare prices for a specific product or answer 'is this a fair price?'. Filter by maker_code to restrict to a brand.
[JA] 楽天市場の商品価格ナビを検索します。同一商品を複数店舗にまたがって集約し、最安値/最高値/平均価格と取扱店舗数を返します。特定商品の価格比較や「妥当な価格か?」を判断する用途では、ichiba_item_search ではなくこちらを使用してください。maker_code でブランド絞り込みも可能。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | No | Product keyword. Required unless product_id is provided. 商品キーワード。product_id 省略時は必須。 | |
| product_id | No | Specific product ID (format like '1:12345'). When provided, returns that product. 特定の商品ID。指定時はその商品を返します。 | |
| genre_id | No | Restrict results to a specific genre. ジャンルIDで絞り込み。 | |
| maker_code | No | Restrict results to a specific manufacturer (maker code). メーカーコードで絞り込み。 | |
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数。 | |
| page | No | Page number (1+, default 1). ページ番号。 | |
| sort | No | Sort order. '+' ascending, '-' descending. 並び順。 | standard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, and idempotentHint, indicating safe, read-only behavior. The description adds that the tool groups products across shops and returns min/max/average prices and shop count, which is useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two languages, each sentence is meaningful and front-loaded. It efficiently covers purpose, usage, and an example filter with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the core function, when to use, and filter options. It does not detail pagination or sort behavior, but these are covered in the schema. No output schema exists, but the description outlines what is returned (min/max/average price, shop count).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 significant new meaning to parameters beyond what the schema already provides, though it reinforces keyword vs product_id dependency and the purpose of maker_code.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Rakuten's Item Price Navi, a cross-seller product catalogue grouping identical products. It includes the verb 'search' and distinguishes itself from the sibling 'ichiba_item_search' by specifying it is for price comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use this tool instead of ichiba_item_search when comparing prices or determining if a price is fair. It also mentions filtering by maker_code. Lacks explicit when-not-to-use statements, but the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ichiba_tag_searchLook up Rakuten Ichiba Tag DetailsARead-onlyIdempotent
Look up details for a specific Rakuten Ichiba tag by tag ID. Tags are facet-style attributes (size, color, etc.) attached to items. Returns the tag group this tag belongs to, the tag name, and any parent tag. Tag IDs surface in ichiba_item_search item responses (each item carries an attributeIds array) and in ichiba_genre_search.
[JA] 特定のタグIDの詳細を取得します。タグはファセット属性(サイズ、色など)で商品に紐づいています。タグ名、所属タググループ、親タグを返します。タグIDは ichiba_item_search の各商品 attributeIds や ichiba_genre_search から取得できます。
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | Tag ID to fetch details for. Tag IDs are discoverable from ichiba_item_search responses (each item carries tagIds) and from ichiba_genre_search. タグID。ichiba_item_search のレスポンス内 tagIds や ichiba_genre_search から取得できます。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, confirming safe, read-only, idempotent behavior. Description adds return structure but no additional behavioral traits beyond annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences (plus Japanese translation) with no fluff. Front-loaded with main purpose and immediately actionable. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description covers all necessary details: input source, core action, and return fields (tag group, name, parent). Complete for a simple lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with tag_id already documented. Description adds valuable context about where tag IDs originate (from other search tools), which goes beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Look up details' and the resource 'Rakuten Ichiba tag by tag ID'. It explains what a tag is (facet-style attributes) and specifies return fields (tag group, name, parent). Distinct from sibling search/ranking tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description tells where to obtain the required tag IDs (from ichiba_item_search item responses and ichiba_genre_search), providing clear context for when to use this tool. However, it does not explicitly state when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kobo_ebook_searchSearch Rakuten Kobo eBooksARead-onlyIdempotent
Search Rakuten Kobo's eBook catalogue by keyword, title, author, publisher, or genre. Returns eBook details with title, series, author, publisher, price, sale URL, language code, image URL, and review stats. Pass at least one search field.
[JA] 楽天Kobo電子書籍カタログを、キーワード/タイトル/著者/出版社/ジャンルで検索します。タイトル、シリーズ、著者、出版社、価格、購入URL、言語、画像、レビューを含む書籍詳細を返します。検索条件は1つ以上必須。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | No | Free-text keyword. キーワード。 | |
| title | No | Title (partial match). タイトル(部分一致)。 | |
| author | No | Author name. 著者名。 | |
| publisherName | No | Publisher name. 出版社。 | |
| koboGenreId | No | Restrict to a Kobo genre ID. Use kobo_genre_search to discover. ジャンルIDで絞り込み。 | |
| hits | No | Results per page. 取得件数。 | |
| page | No | Page number. ページ番号。 | |
| sort | No | Sort order. 並び順。 | standard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, and openWorldHint. The description adds context about return fields and the requirement to pass at least one parameter, without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two English sentences plus a Japanese translation. The first sentence states purpose and returns, the second clarifies the requirement. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description lists returned fields and input constraints. It covers essentials for a search tool, but could mention pagination or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with bilingual descriptions. The description reinforces the 'at least one field' rule but adds no further meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Rakuten Kobo's eBook catalogue by multiple criteria and returns specific details. It is distinct from siblings like books_book_search and kobo_genre_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that at least one search field is required but does not explicitly contrast with alternative tools or specify when to choose this over siblings like books_book_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kobo_genre_searchBrowse Rakuten Kobo GenresARead-onlyIdempotent
Browse the Rakuten Kobo eBook genre hierarchy. Top-level is '101' (電子書籍). Pass a child genre ID returned by this tool to drill down. Returns the current genre, its ancestors, and its direct children — useful for narrowing kobo_ebook_search results.
[JA] 楽天Koboのジャンル階層を参照します。最上位は '101'(電子書籍)。子IDを渡して掘り下げ可能。現在のジャンル、祖先、子ジャンルを返します。kobo_ebook_search の絞り込みに利用してください。
| Name | Required | Description | Default |
|---|---|---|---|
| koboGenreId | No | Kobo genre ID. Top-level is '101' (電子書籍). Drill down with returned child IDs. ジャンルID。トップは '101'(電子書籍)。子IDで掘り下げ。 | 101 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the tool is known to be safe and idempotent. The description adds context about the return structure (current genre, ancestors, children) but does not disclose additional behavioral traits beyond that. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences in both English and Japanese. It is front-loaded, every sentence adds value, and there is no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, optional, no output schema), the description fully covers purpose, usage, and output structure. It mentions the hierarchical nature and linkage to kobo_ebook_search, providing sufficient context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, and the description largely repeats the schema's explanation of the koboGenreId parameter. It adds marginal value ('Pass a child genre ID...'), so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it browses the Rakuten Kobo eBook genre hierarchy, specifies the top-level ID '101', and indicates it returns current genre, ancestors, and children. It also distinguishes from sibling genre search tools by emphasizing the Kobo domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to drill down by passing child IDs and links to kobo_ebook_search. However, it does not explicitly exclude use cases or contrast with sibling genre tools like books_genre_search or ichiba_genre_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_category_listList Rakuten Recipe CategoriesARead-onlyIdempotent
Get the full Rakuten Recipe category hierarchy (43 large → ~540 medium → ~1500 small categories). Each category has a categoryId, name, and URL on recipe.rakuten.co.jp. Use 'large' depth when you only need the top-level menu (much smaller payload). Medium and small categories include parentCategoryId for tree assembly.
[JA] 楽天レシピのカテゴリ階層(43大カテゴリ→約540中カテゴリ→約1500小カテゴリ)を取得します。各カテゴリにID、名前、recipe.rakuten.co.jp のURLが付きます。トップレベルだけ必要な場合は 'large' を指定(ペイロード大幅小)。中・小には parentCategoryId が付与されます。
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | Which depth(s) to return. 'all' returns the full tree (~2000 categories, ~430KB). Use 'large' for the 43 top-level categories only. 取得階層。'all' は全階層(約2000カテゴリ、430KB)、'large' はトップレベル43件のみ。 | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. Description adds valuable detail: hierarchy structure, parentCategoryId for tree assembly, payload sizes (~430KB for full tree), and Japanese translation for non-English users.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact paragraphs (English then Japanese) front-load essential information. Every sentence adds value—no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, description fully explains return structure (categoryId, name, URL, parentCategoryId for lower levels) and how to assemble the hierarchy. Sufficient for an agent to understand and use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with enum descriptions. Description enhances by explaining practical implications (payload size for 'all', top-level only for 'large') and the presence of parentCategoryId for medium/small levels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves the Rakuten Recipe category hierarchy with three levels (large, medium, small) and their counts. Distinct from sibling search tools which focus on items or rankings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains when to use 'large' for smaller payload (top-level menu) vs 'all' (full tree). Could be more explicit about when to use medium or small depths, but provides sufficient guidance for typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_category_rankingGet Rakuten Recipe Category RankingARead-onlyIdempotent
Get the top recipes in a Rakuten Recipe category. Returns ranked recipes with title, ingredient list, cooking time (indication), cost estimate, image URLs, author nickname, and a direct URL to recipe.rakuten.co.jp. Use recipe_category_list to find category IDs.
[JA] 指定カテゴリの楽天レシピ人気ランキングを取得します。順位、タイトル、材料一覧、調理時間目安、費用目安、画像、投稿者ニックネーム、レシピURLを返します。カテゴリIDは recipe_category_list で取得。
| Name | Required | Description | Default |
|---|---|---|---|
| categoryId | Yes | Category ID to rank within. Pass a large/medium/small categoryId from recipe_category_list. ランキング対象のカテゴリID(recipe_category_list の large/medium/small から取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and open-world hints. The description adds value by listing the specific return fields (title, ingredient list, cooking time, etc.) and noting it returns a direct URL. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences (plus Japanese translation), front-loading the core action. Every sentence serves a purpose with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description fully explains the tool's behavior and return fields. It covers prerequisite knowledge and is complete for a simple single-parameter ranking tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, describing 'categoryId' and referencing 'recipe_category_list'. The tool description reiterates this but adds no new semantic information beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and clearly identifies the resource as 'top recipes in a Rakuten Recipe category'. It distinguishes itself from sibling tools by domain and explicitly references 'recipe_category_list' for category IDs, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on a prerequisite: using 'recipe_category_list' to find category IDs. While it doesn't explicitly state when not to use the tool or list alternatives, the simple nature of the tool and the single sibling in the same domain make this adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
travel_get_area_classGet Rakuten Travel Area ClassificationARead-onlyIdempotent
Get the full Rakuten Travel area-code hierarchy: Japan → prefecture (middle) → city (small) → district (detail). Use the returned codes as largeClassCode/middleClassCode/etc. in the hotel search tools.
[JA] 楽天トラベルのエリアコード階層を取得します(日本→都道府県→市区町村→詳細)。返されたコードを largeClassCode/middleClassCode 等としてホテル検索ツールに渡してください。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as readOnly, idempotent, and openWorld. The description adds the hierarchy structure, which is consistent and provides additional context without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences in English (with Japanese translation) that front-load the purpose and include a usage note. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and rich annotations, the description covers the essential behavior. However, the lack of an output schema means the agent may not know the exact response format, but the description hints at the code field names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description cannot add meaning to them. However, it explains the output codes' structure, which compensates for the absence of an output schema. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get the full Rakuten Travel area-code hierarchy' and explains the hierarchy levels (Japan→prefecture→city→district). It distinguishes itself from sibling hotel search tools by being the source of location codes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use the returned codes as parameters in hotel search tools. While it doesn't mention when not to use it, the context makes it clear as a preliminary step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
travel_get_hotel_chain_listGet Rakuten Travel Hotel ChainsARead-onlyIdempotent
List all Rakuten Travel hotel chains (Marriott, APA, Hilton, Toyoko Inn, etc.) with their codes. Useful for filtering or grouping search results by chain.
[JA] 楽天トラベルに登録されている全ホテルチェーン(マリオット、APA、ヒルトン、東横INN等)とコードを返します。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint. The description adds that it returns a list of chains with codes, consistent with the annotations. No extra behavioral details beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clear sentences in English plus a Japanese translation. No superfluous 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero complexity (no parameters, no output schema), the description fully covers what the tool does and what it returns. The annotation set is rich enough that additional context is unnecessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description effectively explains the output (list of hotel chains with codes), compensating for the lack of output schema, thus adding value beyond the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool lists all Rakuten Travel hotel chains with their codes, naming examples like Marriott, Hilton. It clearly distinguishes itself from sibling travel search tools by focusing on chain listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Suggests use for filtering or grouping search results by chain, implying it's a preliminary step before other travel searches. While not specifying when not to use it, the context of sibling tools makes its purpose clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
travel_hotel_detail_searchGet Rakuten Travel Hotel DetailsARead-onlyIdempotent
Fetch detailed information for a specific Rakuten Travel hotel by its hotelNo. Returns the same Hotel shape as search endpoints but with the per-axis ratings and detail fields populated.
[JA] 特定の楽天トラベルホテルの詳細情報を hotelNo で取得します。検索系と同じ Hotel 形式で、評価軸(サービス/立地/部屋など)や詳細情報も含めて返します。
| Name | Required | Description | Default |
|---|---|---|---|
| hotelNo | Yes | Hotel number (from search results). ホテル番号(検索結果から取得)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds value by specifying that the output includes per-axis ratings and detail fields not present in search results, giving the agent a clearer expectation of the response beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two sentences in English and a Japanese translation. Every word serves a purpose, clearly stating the action, input, and output distinction from search endpoints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with thorough annotations and no output schema, the description covers the essential purpose and behavioral differences. It could mention error cases or data availability, but the openWorldHint implies variability, so it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter (hotelNo), so the description does not need to add further semantics. The description itself does not elaborate on the parameter beyond what the schema provides, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches detailed information for a specific hotel using hotelNo, and explicitly distinguishes itself from search endpoints by noting that it returns the same Hotel shape with additional per-axis ratings and detail fields. This specificity helps an agent differentiate it from sibling search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells when to use (when a hotelNo is available from search results) but does not provide explicit when-not or alternative tool references. However, given the sibling tools are all search-oriented, the use case is fairly clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
travel_hotel_rankingGet Rakuten Travel Hotel RankingARead-onlyIdempotent
Get the top-ranked hotels on Rakuten Travel, overall or by ranking genre (onsen, ryokan, city, resort, businesshotel, pension, publichouse). Returns ranked hotels with rank, name, area, review stats, and information URLs.
[JA] 楽天トラベルのホテルランキングを取得します。'all'(総合)、または温泉/旅館/シティ/リゾート/ビジネス/ペンション/公共の宿でタイプ別に絞り込めます。順位、ホテル名、エリア、レビュー、URLを返します。
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | Ranking genre. 'all' is overall; others narrow by hotel type. ランキング種別。'all' は総合、他はタイプ別。 | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description adds value by listing the returned fields (rank, name, area, review stats, URLs). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no waste, front-loaded with the core purpose and extended with genre options. Japanese translation concisely mirrors the English.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description adequately summarizes the return fields. Though it lacks details like pagination or result count, for a ranking tool this is sufficient given the open-world hint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'genre' has a comprehensive schema with enum and default. Schema coverage is 100%, so the description adds little beyond restating the enum values. Bilingual text is helpful but doesn't add new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves 'top-ranked hotels on Rakuten Travel' with options for overall or genre-specific rankings. It distinguishes itself from sibling tools like search tools by focusing on rankings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies that it can be used overall or by genre, providing clear context for when to use. It doesn't explicitly exclude alternatives, but given the distinct ranking focus among sibling search tools, usage is well implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
travel_keyword_hotel_searchSearch Rakuten Travel Hotels (by Keyword)ARead-onlyIdempotent
Search Rakuten Travel hotels by free-text keyword (hotel name, area name, landmark). Returns the same Hotel shape as travel_simple_hotel_search. Useful when you don't know the area code.
[JA] 楽天トラベルのホテルをフリーキーワード(ホテル名、エリア名、ランドマーク)で検索します。エリアコードが分からないときに有用です。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | Free-text keyword (min 2 characters). フリーキーワード(2文字以上)。 | |
| hits | No | Results per page. 取得件数。 | |
| page | No | Page number. ページ番号。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds minimal behavioral context, such as noting it returns the same Hotel shape as another tool. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two clear sentences in English and a Japanese translation. It is front-loaded with the key action and purpose, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three parameters and no output schema. The description covers purpose, usage context, and return shape (same as another tool). It is complete for a search tool, though it could mention pagination behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The description does not add additional meaning beyond what the schema provides; it merely restates the keyword parameter's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action (search), resource (Rakuten Travel hotels), and the method (free-text keyword). It also distinguishes from sibling travel_simple_hotel_search by noting it returns the same Hotel shape and is useful when the area code is unknown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates when to use this tool ('when you don't know the area code'), providing clear context. However, it does not mention when not to use it or offer alternative tool names besides the implicit comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
travel_simple_hotel_searchSearch Rakuten Travel Hotels (by Area)ARead-onlyIdempotent
Search Rakuten Travel hotels by area code (japan → prefecture → city → district) or by latitude/longitude coordinates. Returns hotel summaries with prices, addresses, review stats, and ratings. Use travel_get_area_class to discover area codes.
[JA] 楽天トラベルのホテルをエリアコード階層(日本→都道府県→市区町村→詳細)、または緯度経度で検索します。価格、住所、レビュー、評価を含むホテル一覧を返します。エリアコードは travel_get_area_class で取得できます。
| Name | Required | Description | Default |
|---|---|---|---|
| largeClassCode | No | Large area class (e.g., 'japan'). Use travel_get_area_class to discover. 大エリア(例: 'japan')。 | |
| middleClassCode | No | Prefecture-level code (e.g., 'tokyo'). 都道府県。 | |
| smallClassCode | No | City-level code (e.g., 'tokyo'). 市区町村。 | |
| detailClassCode | No | District-level code (e.g., 'A'). 詳細エリア。 | |
| latitude | No | Latitude (decimal degrees) for coordinate search. 緯度。 | |
| longitude | No | Longitude (decimal degrees) for coordinate search. 経度。 | |
| searchRadius | No | Search radius in kilometers (0.1–3.0) when using lat/lon. 検索半径(km、0.1〜3.0)。 | |
| hits | No | Results per page (1–30). 取得件数。 | |
| page | No | Page number. ページ番号。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, and openWorldHint. The description adds behavioral context: it returns summaries (prices, addresses, review stats, ratings) and uses area hierarchy. No negative traits disclosed, but the description aligns well and adds value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences in English and two in Japanese. It front-loads key information (search by area or coordinates, return fields). No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no required params, and no output schema, the description covers main use cases and references the area class tool. It mentions return fields. It does not explain pagination details (hits/page) but schema handles that. Fairly complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds meaning by explaining the area code hierarchy and coordinate search with radius, and specifying return fields (prices, addresses, review stats, ratings) not in schema. This provides useful context beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches hotels by area code (hierarchical regions) or latitude/longitude. It explicitly mentions returning hotel summaries with prices, addresses, review stats, and ratings. It differentiates from siblings like travel_hotel_detail_search and travel_vacant_hotel_search by focusing on area-based simple search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: for searching by area code or coordinates. It recommends travel_get_area_class to discover area codes. However, it does not explicitly state when not to use it or mention alternative siblings for specific needs (e.g., detail or vacancy).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
travel_vacant_hotel_searchSearch Rakuten Travel Hotels (Available on Dates)ARead-onlyIdempotent
Search Rakuten Travel for hotels with rooms available on specific check-in/check-out dates. Returns each hotel together with its available room plans (plan name, price per night, total price, with-breakfast flag, reserve URL). Same area-code or lat/lon parameters as travel_simple_hotel_search.
[JA] 指定のチェックイン/チェックアウト日に空室がある楽天トラベルのホテルを検索します。各ホテルと利用可能なプラン(プラン名、1泊あたりの価格、合計金額、朝食有無、予約URL)を返します。エリア/座標パラメータは travel_simple_hotel_search と同じ。
| Name | Required | Description | Default |
|---|---|---|---|
| checkinDate | Yes | Check-in date (YYYY-MM-DD). チェックイン日(YYYY-MM-DD)。 | |
| checkoutDate | Yes | Check-out date (YYYY-MM-DD). チェックアウト日(YYYY-MM-DD)。 | |
| adultNum | No | Number of adult guests. 大人人数。 | |
| roomNum | No | Number of rooms. 部屋数。 | |
| largeClassCode | No | Large area class. 大エリア。 | |
| middleClassCode | No | Prefecture code. 都道府県。 | |
| smallClassCode | No | City code. 市区町村。 | |
| detailClassCode | No | District code. 詳細エリア。 | |
| latitude | No | Latitude. 緯度。 | |
| longitude | No | Longitude. 経度。 | |
| searchRadius | No | Search radius km. 検索半径(km)。 | |
| hits | No | Results per page. 取得件数。 | |
| page | No | Page number. ページ番号。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, openWorldHint=true. The description adds return format details (plan info, pricing, breakfast flag) and notes parameter similarity to a sibling, enhancing behavioral context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences (plus Japanese translation) with no redundant information. It front-loads the core purpose and return details efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description fully explains return values (hotel with plans, plan fields). It covers parameter usage by referencing a sibling tool. For a search tool with 13 described parameters, this is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is already described. The description adds minimal extra value (e.g., 'Same area-code or lat/lon parameters as travel_simple_hotel_search'), but this is a minor addition. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search' and resource 'hotels with rooms available on specific dates', and lists return fields (plan name, price, etc.). It distinguishes from sibling travel_simple_hotel_search by referencing common parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for date-specific availability, and references travel_simple_hotel_search for shared parameters, but does not explicitly state when to use this versus other sibling tools or provide exclusion criteria.
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.
34 tool updates
v1.1.0- Added
books_book_search - Added
books_cd_search - Added
books_dvd_search - Added
books_foreign_book_search - Added
books_game_search - Added
books_genre_search - Added
books_magazine_search - Added
books_software_search - Added
books_total_search - Removed
get_genre_ranking - Added
gora_golf_course_detail - Added
gora_golf_course_search - Added
gora_plan_search - Added
ichiba_genre_search - Added
ichiba_item_ranking - Added
ichiba_item_search - Added
ichiba_product_search - Added
ichiba_tag_search - Added
kobo_ebook_search - Added
kobo_genre_search - Added
recipe_category_list - Added
recipe_category_ranking - Removed
search_books - Removed
search_genres - Removed
search_products - Removed
search_travel - Removed
search_travel_vacancy - Added
travel_get_area_class - Added
travel_get_hotel_chain_list - Added
travel_hotel_detail_search - Added
travel_hotel_ranking - Added
travel_keyword_hotel_search - Added
travel_simple_hotel_search - Added
travel_vacant_hotel_search
1 tool update
v0.1.1- Removed
get_product_reviews
7 tool updates
v1.0.0- First observed
get_genre_ranking - First observed
get_product_reviews - First observed
search_books - First observed
search_genres - First observed
search_products - First observed
search_travel - First observed
search_travel_vacancy
TDQS
Scored across 28 tools
Each tool targets a distinct domain (books, CDs, DVDs, games, software, etc.) with clear, specific names and descriptions. Overlapping tools like books_total_search vs individual category searches are explained with usage guidance. No ambiguity.
All tool names follow a consistent pattern: domain_action (e.g., books_book_search, ichiba_item_search). All lowercase with underscores, verbs are either 'search', 'get', 'list', or 'detail'. No mixing of conventions.
28 tools is somewhat high but justified by the broad scope covering multiple Rakuten services (books, ichiba, travel, golf, recipes, kobo). Each tool has a distinct purpose; no obvious redundancy.
The tool surface covers most major Rakuten services: product search, ranking, genre navigation, hotel and golf course search with details and availability. Missing recipe detail search and direct purchase/reserve actions, but core information retrieval is well-covered.
Maintenance
Related MCP Connectors
MCP server for Russian books search, details, and recommendation candidates.
MCP server for real-time product search by barcode (EAN, UPC, GTIN) or keyword on ean-search.org
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
- mcpOAuthcom.zomato
An MCP server that exposes functionalities to use Zomato's services.
Related MCP Servers
- AlicenseAqualityBmaintenanceExtract YouTube transcripts for AI agents, RAG pipelines, and LLM workflows. Supports any YouTube URL. Returns clean text or timestamped segments. No API keys required.14MIT
- AlicenseAqualityBmaintenanceMCP server for Xendit payment APIs. Invoices, disbursements, balance checks, and bank transfers across Southeast Asia.644 npm4MIT
- AlicenseNot gradedqualityCmaintenanceA MCP server for Walmart Marketplace and Affiliate APIs, enabling sellers to manage items, inventory, prices, and orders, and consumers to search, lookup products, reviews, and store locations.12 npmMIT
- AlicenseAqualityBmaintenanceAn MCP server for Rakuten Ichiba that enhances product search with quantity parsing, unit price calculation, and shipping cost analysis, enabling cost-effective bulk purchasing decisions.51MIT