rakuten-mcp
A read-only Model Context Protocol server for searching Rakuten services across Ichiba, Books, Travel, Recipe, Kobo, and GORA.
Search Rakuten Ichiba products by keyword with price, sort, genre, and shop filters; browse genres; get bestseller rankings; compare cross-seller product prices; and look up tag details (present in schema, though README says retired in 1.3.0).
Search Rakuten Books across all categories or specific formats: printed books, CDs, DVDs/Blu-ray, foreign-language books, magazines, video games, and software; browse the Books genre tree.
Search Rakuten Travel hotels by area, coordinates, keyword, availability dates, or hotel number; get area codes, hotel chains, hotel details, and rankings.
Browse Rakuten Recipe categories and get top recipes by category, including ingredients, cooking time, cost, image, and author.
Search Rakuten Kobo eBooks and browse the Kobo genre hierarchy.
Search Rakuten GORA golf courses, get course details, and find reservation plans by play date, area, player count, or budget.
All tools are read-only HTTP GETs; authentication needs RAKUTEN_APP_ID and RAKUTEN_ACCESS_KEY, with optional affiliate ID and retry configuration.
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. 27 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 re-verified against the live Rakuten API and its documentation on 2026-10-04.
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. |
IP allow list. A Rakuten app can restrict which IP addresses may call it. If your IP changes (new network, router restart), every tool fails with CLIENT_IP_NOT_ALLOWED; the server reports this as an IP problem, not a key problem. Fix it under Edit for the app at webservice.rakuten.co.jp/app/list. Servers and CI runners need their egress IP on the list too.
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 (4)
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. |
| Realtime bestseller ranking: overall, by genre, or by age / gender (genre and demographics cannot be combined, per Rakuten). |
| Item Price Navi: same product across multiple sellers with min/max/avg price. |
ichiba_tag_search was removed in 1.3.0: Rakuten retired the Tag Search endpoint.
Books (9)
Only books_total_search takes free text. The per-category tools search by title / author / artist / JAN / ISBN / genre, because that is all Rakuten's endpoints accept.
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 one-night pricing and |
| 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 9 classes covering Config / Auth / IpNotAllowed / 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 27 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
27 toolsbooks_book_searchSearch Rakuten Books (Printed Books)ARead-onlyIdempotent
Search Rakuten Books for printed books by title, author, ISBN, publisher, or genre (at least one; no free-text keyword, use books_total_search for that). Returns book details including ISBN, author, publisher, series, table of contents, preview URL, list price, and review stats.
[JA] 楽天ブックスで紙の書籍を、書名・著者・ISBN・出版社・ジャンルで検索します(いずれか必須。フリーワード検索は books_total_search)。ISBN、著者、出版社、シリーズ、目次、立ち読みURL、定価、レビューを含む書籍詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| isbn | No | ISBN code, digits only (e.g. 9784815630614). ISBNコード(ハイフンなし)。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. 並び順。 | standard |
| title | No | Book title (partial match). 書名(部分一致)。 | |
| author | No | Author name. 著者名。 | |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 | |
| publisherName | No | Publisher name. 出版社。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint and idempotentHint, so the safety profile is covered. The description adds genuinely useful context beyond them: the mandatory-at-least-one-parameter constraint and the shape of the returned payload (ISBN, author, publisher, series, TOC, preview URL, price, review stats), which matters because there is no output 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?
Front-loaded with purpose, then constraint, then return payload; every sentence carries information. The bilingual duplication doubles the length, which is defensible for a Japanese-market API but is still redundancy from a token-efficiency standpoint.
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 enumerating the returned fields, and it covers the invocation precondition. Minor gap: no mention of pagination interaction between hits/page beyond what the schema states, and no note on empty-result 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 description coverage is 100%, so every parameter is already documented in the schema, including the enum for sort and the 1–30 / 1–100 bounds. The description restates the searchable fields and the no-free-text rule but adds no syntax or format detail beyond the schema, so the 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?
States a specific verb (Search) and resource (Rakuten Books printed books) plus the exact search axes (title, author, ISBN, publisher, genre). It also explicitly distinguishes itself from books_total_search for free-text and from the other format-specific siblings (CD/DVD/magazine/foreign) by scoping to printed 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?
Gives an explicit precondition ('at least one' of the listed fields) and an explicit exclusion with the alternative ('no free-text keyword, use books_total_search for that'). The genre parameter also points at books_genre_search for discovery, so routing decisions need no inference.
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 (at least one; no free-text keyword, use books_total_search for that). Returns album/single details including artist, label, JAN, track list, list price, and review stats.
[JA] 楽天ブックスで音楽CDを、タイトル・アーティスト・レーベル・JANで検索します(いずれか必須。フリーワード検索は books_total_search)。アーティスト、レーベル、JAN、収録曲、定価、レビューを含む詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| jan | No | JAN code. JANコード。 | |
| 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 |
| label | No | Record label. レーベル。 | |
| title | No | Album/single title. アルバム/シングル名。 | |
| artistName | No | Artist name. アーティスト名。 | |
| 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/openWorldHint/idempotentHint, so safety is covered. The description adds value beyond them by enumerating what is returned (artist, label, JAN, track list, list price, review stats), which helps the agent anticipate payload without an output schema. It does not mention pagination behavior or rate limits, so it is not complete.
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?
Front-loaded single paragraph: purpose first, constraint second, return payload third. Every sentence carries information. The parallel Japanese translation doubles the length but is an intentional bilingual convention rather than padding, keeping it shy of 5.
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 filtered search tool this covers what an agent needs: queryable fields, the required-one constraint, the sibling to use for free text, and return contents. No output schema exists, yet return fields are described, and pagination is handled by well-documented hits/page params. Only minor gaps remain.
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 earns above baseline by surfacing the 'at least one of title/artist/label/JAN' constraint, which the schema does not enforce (0 required params), and by surfacing that no free-text keyword is accepted. It does not elaborate on sort enum or genre-id semantics, which remain schema-only.
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 a specific verb (Search) and resource (Rakuten Books music CDs) with the searchable facets named (title, artist, label, JAN). It also differentiates from siblings: which sibling is not appropriate ('no free-text keyword, use books_total_search') and implicitly from books_book_search/books_dvd_search by scoping to CDs/music. An agent can distinguish this from the other ~27 siblings without opening a schema.
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 states a usage precondition (at least one of title/artist/label/JAN) and names the alternative for free-text (books_total_search). This is clear context with an exclusion. It stops short of routing among the other near-identical media search siblings (books_book_search, books_dvd_search), so it is not a full 5.
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 (at least one; no free-text keyword, use books_total_search for that). Returns title details with performer, label, JAN, list price, and review stats.
[JA] 楽天ブックスでDVD・Blu-rayを、タイトル・出演者・レーベル・JANで検索します(いずれか必須。フリーワード検索は books_total_search)。出演者、レーベル、JAN、定価、レビューを含む詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| jan | No | JAN code. JANコード。 | |
| 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 |
| label | No | Label/studio. レーベル/スタジオ。 | |
| title | No | Title (movie or show). タイトル。 | |
| artistName | No | Performer/artist. 出演者/アーティスト。 | |
| 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 readOnly, idempotent and openWorld, so safety is covered. The description adds the non-obvious behavioral constraint that at least one search key must be supplied and that free-text is unsupported, plus what the response contains.
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 sentences that front-load the search scope before the exclusion, with the Japanese mirror being a convention of this catalog rather than filler. No sentence is wasted, though the bilingual duplication doubles length for monolingual 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?
No output schema exists, so the description carries the return-value burden and does name the returned fields (performer, label, JAN, list price, review stats). Pagination and sort behavior are left to the schema, which is acceptable for an 8-param read-only search.
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 per-parameter meaning is already documented (baseline 3). The description adds value the schema cannot: the cross-parameter constraint that title/performer/label/JAN must include at least one, which is invisible given required=0.
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 a specific verb (Search) and resource (Rakuten Books DVDs/Blu-ray), enumerates the usable keys (title, performer, label, JAN) and the return payload. It is clearly distinguishable from sibling media searches like books_cd_search or books_book_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 states the when-not: no free-text keyword here, route that case to books_total_search, and it names books_genre_search as the way to discover genre IDs. The 'at least one of these fields' precondition is stated outright rather than left to inference.
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 (at least one; no free-text keyword, use books_total_search for that). Returns book details plus a Japanese-translated title field when available.
[JA] 楽天ブックスで洋書を、タイトル・著者・ISBN・出版社で検索します(いずれか必須。フリーワード検索は books_total_search)。書籍詳細に加え、邦題が存在する場合は japaneseTitle を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| hits | No | Number of results per page (1–30, default 10). 1ページあたりの取得件数(1〜30、デフォルト10)。 | |
| isbn | No | ISBN. ISBN。 | |
| page | No | Page number (1+, default 1). ページ番号(1以上、デフォルト1)。 | |
| sort | No | Sort order. 並び順。 | standard |
| title | No | Title (English or other). タイトル。 | |
| author | No | Author. 著者。 | |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 | |
| publisherName | No | Publisher. 出版社。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds two useful pieces of context not present in structured fields: the mandatory at-least-one-field rule (which is stricter than the schema's required: 0) and the return content, including a Japanese-translated title field when one exists. It stops short of describing pagination limits, though the schema covers those.
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 text is two tight sentences with the scope and the sibling exclusion front-loaded. The bilingual duplication doubles the length, but it mirrors the schema's own bilingual field descriptions and does not bury the operative constraint.
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 an eight-parameter read-only search with no output schema, the definition covers purpose, the required-input rule, the alternative tool, and the notable return field (japaneseTitle). Pagination and sort semantics live in the schema, so nothing essential is missing, though the description never states what a result set looks like structurally.
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 all eight parameters are already documented with their bounds, defaults, and the enum for sort. The description only restates which fields can be searched (title/author/ISBN/publisher) and omits any detail on hits, page, sort, or booksGenreId. Baseline 3 is correct when the schema carries the parameter burden.
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 a specific verb (Search) and a precisely scoped resource: foreign-language (non-Japanese) books in Rakuten Books, searchable by title, author, ISBN, or publisher. The non-Japanese scope cleanly separates it from books_book_search, and the explicit hand-off to books_total_search separates it from that sibling.
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 states the usage constraint ('at least one' of the four search fields) and names the exclusion plus the alternative for the excluded case: 'no free-text keyword, use books_total_search for that'. An agent can route between this tool and its sibling without any inference.
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 (at least one; no free-text keyword, use books_total_search for that). Returns title details with hardware, label, JAN, list price, and review stats.
[JA] 楽天ブックスでビデオゲームを、タイトル・ハード(例: 'Nintendo Switch', 'PlayStation 5')・JANで検索します(いずれか必須。フリーワード検索は books_total_search)。ハード、レーベル、JAN、定価、レビューを含む詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| jan | No | JAN code. JAN。 | |
| 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 |
| title | No | Game title. ゲームタイトル。 | |
| hardware | No | Platform/hardware (e.g., 'Nintendo Switch'). ハードウェア(例: 'Nintendo Switch')。 | |
| 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 read-only, open-world, idempotent behavior, so the safety profile is covered. The description adds value beyond that by disclosing the return payload (hardware, label, JAN, list price, review stats) in the absence of an output schema, plus the 'at least one filter' constraint that the schema does not enforce (required: 0). It stops short of mentioning pagination limits or rate limits.
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?
Front-loaded with the action, then the accepted inputs, then the exclusion and return fields in two tight sentences. The Japanese mirror doubles the length but is a deliberate, useful choice for a Japanese-market catalog tool rather than 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?
For a 7-parameter search tool with no output schema, the description covers the return shape, the minimum-filter rule, and the discovery path for booksGenreId. Only minor gaps remain: pagination interaction between hits/page and the meaning of the sort enum are left entirely to 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 description coverage is 100%, so baseline is 3. The description echoes the title/hardware/JAN parameters and supplies platform examples, but those examples ('Nintendo Switch', 'PlayStation 5') already appear in the schema, and it adds nothing about hits, page, or sort semantics.
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?
Specific verb+resource ('Search Rakuten Books for video games') with the three accepted search axes named explicitly, and it explicitly names books_total_search as the sibling for the excluded free-text mode. An agent can distinguish this from books_book_search, books_software_search, and books_total_search without opening any schema.
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?
States the selection condition ('at least one' of title/hardware/JAN) and an explicit exclusion with a named alternative ('no free-text keyword, use books_total_search for that'). It also routes genre-ID discovery to books_genre_search, giving concrete when-to-use guidance for two sibling tools.
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 (at least one; no free-text keyword, use books_total_search for that). Returns issue details including publisher, JAN, publication cycle, preview URL, and review stats.
[JA] 楽天ブックスで雑誌を、タイトル・出版社・JANで検索します(いずれか必須。フリーワード検索は books_total_search)。出版社、JAN、発行サイクル、立ち読みURL、レビューを含む詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| jan | No | JAN code. JAN。 | |
| 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 |
| title | No | Magazine title. 雑誌名。 | |
| booksGenreId | No | Restrict to a specific Books genre (3-character IDs, hierarchical). Use books_genre_search to discover. ジャンルIDで絞り込み(books_genre_search で取得)。 | |
| publisherName | No | Publisher. 出版社。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint and idempotentHint, so the safety profile is covered. The description adds the non-obvious constraint that at least one of title/publisher/JAN is required (the schema encodes required: 0), which is real behavioral value, and it lists what the response contains. It omits rate limits and any note on what an empty result set means.
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 sentence is front-loaded with purpose and the exclusion, then the return payload, and the Japanese mirror is an intentional bilingual duplicate rather than padding. The return-detail enumeration (publisher, JAN, publication cycle, preview URL, review stats) is slightly long but earns its place given there is no output schema.
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 7 optional parameters, no output schema, and full schema coverage, the description supplies the two things structured data lacks: the at-least-one-field requirement and the shape of the returned issue details. It does not explain pagination limits or how genre IDs interact with title filters, leaving minor gaps for a search tool of this 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 description coverage is 100%, so the baseline is 3 and the schema already explains hits, page, sort and the genre-ID format. The description goes beyond that by imposing the 'at least one of title/publisher/JAN' rule that the schema does not express, which is genuine added meaning for a zero-required-parameter tool.
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 a specific verb and resource (search Rakuten Books for magazines) plus the three accepted filter fields, and explicitly distinguishes itself from books_total_search by excluding free-text keyword search. An agent can separate this from the many sibling book/media searches (books_book_search, books_cd_search, kobo_ebook_search) without opening a schema.
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?
Gives a clear routing rule: no free-text keyword here, use books_total_search for that, and it names books_genre_search (in the schema) as the way to discover genre IDs. It does not spell out when magazine search is the wrong choice versus, say, kobo_ebook_search or books_book_search, so it stops short of full when/when-not guidance.
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 (at least one; no free-text keyword, use books_total_search for that). Returns software details with target OS, label, JAN, list price, and review stats.
[JA] 楽天ブックスでPCソフトウェアを、タイトル・対応OS(例: 'Windows', 'macOS')・JANで検索します(いずれか必須。フリーワード検索は books_total_search)。対応OS、レーベル、JAN、定価、レビューを含む詳細を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| os | No | Target OS (e.g., 'Windows', 'macOS'). 対応OS。 | |
| jan | No | JAN code. JAN。 | |
| 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 |
| title | No | Software title. ソフトウェア名。 | |
| 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, openWorldHint, and idempotentHint, so safety is covered. The description adds genuinely non-schema context: the 'at least one of title/OS/JAN' constraint (schema lists 0 required params) and the shape of returned fields (target OS, label, JAN, list price, review stats). 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?
Front-loads the purpose, then the constraint and alternative, then the return fields; the JA mirror adds value for the target locale rather than padding. No wasted sentences, though the doubled bilingual text is somewhat long.
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 7-param, no-output-schema read tool, the description covers the core use case, the input constraint, the alternative tool, and the returned fields. Minor gaps remain around pagination and the sort/genre params, but nothing essential to correct invocation is missing.
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 each parameter is already documented. The description only reinforces title/OS/JAN and says nothing about hits, page, sort, or booksGenreId, adding no syntax or meaning beyond the schema. 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?
States a specific verb (Search) and a precise resource (Rakuten Books computer software), and explicitly distinguishes itself from books_total_search for free-text queries. An agent can tell this apart from books_book_search, books_game_search, etc. without opening any schema.
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?
Gives clear when-to-use (search by title, OS, or JAN, at least one required) and names an explicit alternative (books_total_search) for free-text. It does not cover the relationship to books_genre_search for the booksGenreId param or to the other media-type searches, so routing is clear but not exhaustive.
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 |
|---|---|---|---|
| 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 |
| keyword | Yes | Search keyword across all Rakuten Books categories (books, CDs, DVDs, software, games, magazines). 楽天ブックス全カテゴリ横断キーワード検索。 | |
| 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 |
|---|---|---|---|
| hits | No | Results per page. 取得件数。 | |
| page | No | Page number. ページ番号。 | |
| keyword | No | Free-text keyword (course name, location). 検索キーワード(コース名/エリア)。 | |
| areaCode | No | Area code (e.g. '13' = Tokyo, '14' = Kanagawa, '23' = Aichi). Either areaCode or keyword is required. エリアコード(例: '13' 東京、'14' 神奈川)。areaCode または keyword が必要。 | |
| latitude | No | Latitude. 緯度。 | |
| longitude | No | Longitude. 経度。 | |
| searchRange | No | Search radius in km (1–80) when using lat/lon. 検索半径(km、1〜80)。 |
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 |
|---|---|---|---|
| hits | No | Results per page. 取得件数。 | |
| page | No | Page number. ページ番号。 | |
| budget | No | Max budget per player (JPY). 1人あたりの予算上限(円)。 | |
| areaCode | No | Area code (e.g. '13' = Tokyo). エリアコード。 | |
| playDate | Yes | Play date (YYYY-MM-DD). プレー日(YYYY-MM-DD)。 | |
| playerNum | No | Number of players (1–4). プレイヤー数。 | |
| golfCourseId | No | Restrict to a specific course. 特定のゴルフ場で絞り込み。 |
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 realtime bestseller ranking: overall, for one genre, or for an age/gender demographic. Genre and demographic filters are mutually exclusive (Rakuten restriction). Returns ranked items with their rank, price, review stats, and purchase URL. Use ichiba_genre_search to find genre IDs.
[JA] 楽天市場のリアルタイム売れ筋ランキングを取得します。総合、ジャンル別、または年代/性別で絞り込み可能。ジャンルと年代/性別は併用できません(楽天の仕様)。順位、価格、レビュー、購入URLを含むランキング一覧を返します。ジャンルIDの検索には ichiba_genre_search を使用してください。
| Name | Required | Description | Default |
|---|---|---|---|
| age | No | Filter to an age demographic. '50s' means 50 and over. Overall ranking only (genre_id must be '0'). 年代フィルタ。'50s' は50代以上。総合ランキングのみ(genre_id は '0')。 | |
| sex | No | Filter to a gender demographic. Overall ranking only (genre_id must be '0'). 性別フィルタ。総合ランキングのみ(genre_id は '0')。 | |
| page | No | Page number (1–34; Rakuten caps rankings at ~1000 items). ページ番号(1〜34)。 | |
| genre_id | No | Genre ID for the ranking. '0' returns the overall ranking. Cannot be combined with age or sex (Rakuten restriction). 0はジャンル全体のランキング。age/sex とは併用不可(楽天の仕様)。 | 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so the safety profile is covered. The description adds real value beyond that: the Rakuten-imposed mutual exclusion between genre and age/sex filters, and the shape of the payload (rank, price, review stats, purchase URL) in the absence of an output 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?
Front-loaded with purpose, then constraints, then routing hint, then return contents — a sensible order with no filler. The only cost is the complete Japanese duplication of the same content, which doubles length without adding information for a single-language consumer.
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 4-parameter, all-optional read tool with no output schema, the description covers the ranking modes, the key cross-parameter constraint, and the returned fields. What is missing is only marginal — e.g. how the 1–34 page cap interacts with the ~1000-item ceiling, which the schema already states.
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% and each parameter (age, sex, page, genre_id) is already documented in-schema with enums, defaults, and range limits. The description restates the genre/age/sex exclusivity that the schema already carries, adding no syntax or format detail beyond it. 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?
States a specific verb and resource ('Get the Rakuten Ichiba realtime bestseller ranking') and immediately enumerates the three supported scoping modes (overall, genre, demographic). It also names the sibling ichiba_genre_search as the way to obtain genre IDs, so an agent can distinguish it from the other ichiba_* tools without opening schemas.
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?
Gives clear operating context: the three ranking modes, the mutually exclusive genre vs. demographic rule, and a routing hint to ichiba_genre_search for genre IDs. It does not, however, say when to prefer this ranking tool over ichiba_item_search or ichiba_product_search, so the alternative-selection guidance is incomplete.
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 |
|---|---|---|---|
| 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 |
| keyword | Yes | Search keyword. Accepts Japanese or English. 検索キーワード。日本語または英語。 | |
| genre_id | No | Restrict to a specific genre ID. Browse genres via ichiba_genre_search. ジャンルIDで絞り込み。 | |
| max_price | No | Maximum price in JPY (integer, inclusive). 最高価格(円、整数、以下)。 | |
| min_price | No | Minimum price in JPY (integer, inclusive). 最低価格(円、整数、以上)。 | |
| 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 |
|---|---|---|---|
| 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 |
| keyword | No | Product keyword. Required unless product_id is provided. 商品キーワード。product_id 省略時は必須。 | |
| genre_id | No | Restrict results to a specific genre. ジャンルIDで絞り込み。 | |
| maker_code | No | Restrict results to a specific manufacturer (maker code). メーカーコードで絞り込み。 | |
| product_id | No | Specific product ID (format like '1:12345'). When provided, returns that product. 特定の商品ID。指定時はその商品を返します。 |
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.
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 |
|---|---|---|---|
| hits | No | Results per page. 取得件数。 | |
| page | No | Page number. ページ番号。 | |
| sort | No | Sort order. 並び順。 | standard |
| title | No | Title (partial match). タイトル(部分一致)。 | |
| author | No | Author name. 著者名。 | |
| keyword | No | Free-text keyword. キーワード。 | |
| koboGenreId | No | Restrict to a Kobo genre ID. Use kobo_genre_search to discover. ジャンルIDで絞り込み。 | |
| publisherName | No | Publisher name. 出版社。 |
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 |
|---|---|---|---|
| hits | No | Results per page. 取得件数。 | |
| page | No | Page number. ページ番号。 | |
| keyword | Yes | Free-text keyword (min 2 characters). フリーキーワード(2文字以上)。 |
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 |
|---|---|---|---|
| hits | No | Results per page (1–30). 取得件数。 | |
| page | No | Page number. ページ番号。 | |
| 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)。 | |
| largeClassCode | No | Large area class (e.g., 'japan'). Use travel_get_area_class to discover. 大エリア(例: 'japan')。 | |
| smallClassCode | No | City-level code (e.g., 'tokyo'). 市区町村。 | |
| detailClassCode | No | District-level code (e.g., 'A'). Required by Rakuten whenever the chosen smallClassCode has `details` in travel_get_area_class (e.g. Kyoto city has A–E); optional otherwise. 詳細エリア。travel_get_area_class で details を持つ市区町村(例: 京都市 A〜E)では必須。 | |
| middleClassCode | No | Prefecture-level code (e.g., 'tokyo'). 都道府県。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish safe read-only, idempotent, open-world behavior. The description adds meaningful return context—hotel summaries with prices, addresses, review stats, and ratings—which matters because there is no output schema; it still omits auth, rate, and full pagination behavior.
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 front-loaded and efficient: purpose, return contents, then prerequisite. The Japanese translation duplicates the same content, which adds length but may be intentional localization; otherwise there is little waste.
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 rich parameter schema and safety annotations, the description covers the key missing pieces: purpose, return contents, and the area-code discovery prerequisite. It is sufficient for calling the tool correctly, though explicit alternative-routing guidance and pagination/output details are absent.
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 all nine parameters are already documented in the schema. The description reinforces the area-code hierarchy and points to travel_get_area_class, but adds no syntax or format details 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?
States a specific verb and resource: search Rakuten Travel hotels by area-code hierarchy or latitude/longitude. It is clear what the tool does, but it does not explicitly distinguish itself from sibling search tools such as travel_keyword_hotel_search or travel_vacant_hotel_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?
It gives one useful prerequisite: use travel_get_area_class to discover area codes. However, it does not explain when to choose this tool over keyword, vacancy, ranking, or detail-search siblings, nor does it state exclusions.
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, one-night price, one-night total, chargeBasis per_person/per_room, with-breakfast flag, reserve URL). Prices are for a single night, not the whole stay. Same area-code or lat/lon parameters as travel_simple_hotel_search.
[JA] 指定のチェックイン/チェックアウト日に空室がある楽天トラベルのホテルを検索します。各ホテルと利用可能なプラン(プラン名、1泊の料金、1泊の合計、chargeBasis(1人あたり/1室あたり)、朝食有無、予約URL)を返します。料金は1泊分で滞在合計ではありません。エリア/座標パラメータは travel_simple_hotel_search と同じ。
| Name | Required | Description | Default |
|---|---|---|---|
| hits | No | Results per page. 取得件数。 | |
| page | No | Page number. ページ番号。 | |
| roomNum | No | Number of rooms. 部屋数。 | |
| adultNum | No | Number of adult guests. 大人人数。 | |
| latitude | No | Latitude. 緯度。 | |
| longitude | No | Longitude. 経度。 | |
| checkinDate | Yes | Check-in date (YYYY-MM-DD). チェックイン日(YYYY-MM-DD)。 | |
| checkoutDate | Yes | Check-out date (YYYY-MM-DD). チェックアウト日(YYYY-MM-DD)。 | |
| searchRadius | No | Search radius km. 検索半径(km)。 | |
| largeClassCode | No | Large area class. 大エリア。 | |
| smallClassCode | No | City code. 市区町村。 | |
| detailClassCode | No | District code. Required by Rakuten whenever the chosen smallClassCode has `details` in travel_get_area_class (e.g. Kyoto city has A–E); optional otherwise. 詳細エリア。travel_get_area_class で details を持つ市区町村では必須。 | |
| middleClassCode | No | Prefecture code. 都道府県。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint, idempotentHint, openWorldHint), so the bar is lower. The description still adds real behavioral context: it enumerates the returned room-plan fields, and critically warns that 'Prices are for a single night, not the whole stay' and that chargeBasis can be per_person or per_room — non-obvious semantics that would otherwise cause misreporting. No output schema exists, so this disclosure carries weight.
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?
Front-loaded with the core verb and constraint, then return contents, then the per-night price caveat. The bilingual duplication is expected for this tool family and each sentence carries content. Slightly padded by restating the parameter-sharing note.
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 steps in to describe the return shape (hotel + room plans with plan name, price, chargeBasis, breakfast flag, reserve URL) and the price-basis caveat. Combined with a fully documented 13-parameter schema, an agent has enough to call and interpret it, though routing guidance versus sibling search tools remains thin.
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 every parameter including checkinDate/checkoutDate formats, hits, page, roomNum, adultNum, and the class codes is already documented. The description adds only that area/coordinate parameters match travel_simple_hotel_search, which is minor. 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?
States a specific verb and resource ('Search Rakuten Travel for hotels') plus the defining constraint ('with rooms available on specific check-in/check-out dates'), which is what separates it from travel_simple_hotel_search and travel_keyword_hotel_search. The reference to sharing parameters with travel_simple_hotel_search signals the family relationship but never explicitly says how the two differ.
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 via the required check-in/check-out dates and the note that area/coordinate parameters mirror travel_simple_hotel_search, but it never states when to pick this over travel_simple_hotel_search, travel_keyword_hotel_search, or travel_hotel_detail_search. Guidance is inferable rather than explicit.
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.
11 tool updates
v1.3.0- Changed
books_book_search3 fields changed- added
Input schema / properties / isbnAdded value: +{ + "description": "ISBN code, digits only (e.g. 9784815630614). ISBNコード(ハイフンなし)。", + "title": "ISBN", + "type": "string" +} - removed
Input schema / properties / isbnjanRemoved value: -{ - "description": "ISBN or JAN code. ISBN または JAN コード。", - "title": "Isbnjan", - "type": "string" -} - removed
Input schema / properties / keywordRemoved value: -{ - "description": "Free-text keyword across all fields. 全フィールド横断のキーワード。", - "title": "Keyword", - "type": "string" -}
- Changed
books_cd_search1 field changed- removed
Input schema / properties / keywordRemoved value: -{ - "description": "Free-text keyword. キーワード。", - "title": "Keyword", - "type": "string" -}
- Changed
books_dvd_search1 field changed- removed
Input schema / properties / keywordRemoved value: -{ - "description": "Free-text keyword. キーワード。", - "title": "Keyword", - "type": "string" -}
- Changed
books_foreign_book_search1 field changed- removed
Input schema / properties / keywordRemoved value: -{ - "description": "Free-text keyword. キーワード。", - "title": "Keyword", - "type": "string" -}
- Changed
books_game_search1 field changed- removed
Input schema / properties / keywordRemoved value: -{ - "description": "Free-text keyword. キーワード。", - "title": "Keyword", - "type": "string" -}
- Changed
books_magazine_search1 field changed- removed
Input schema / properties / keywordRemoved value: -{ - "description": "Free-text keyword. キーワード。", - "title": "Keyword", - "type": "string" -}
- Changed
books_software_search1 field changed- removed
Input schema / properties / keywordRemoved value: -{ - "description": "Free-text keyword. キーワード。", - "title": "Keyword", - "type": "string" -}
- Changed
ichiba_item_ranking5 fields changed- changed
Input schema / properties / age / descriptionPrevious value: -"Filter to a specific age demographic (e.g., '20s' = users in their 20s). 年代フィルタ。"New value: +"Filter to an age demographic. '50s' means 50 and over. Overall ranking only (genre_id must be '0'). 年代フィルタ。'50s' は50代以上。総合ランキングのみ(genre_id は '0')。" - changed
Input schema / properties / age / enumPrevious value: -[ - "10s", - "20s", - "30s", - "40s", - "50s", - "60s", - "70s" -]New value: +[ + "10s", + "20s", + "30s", + "40s", + "50s" +] - changed
Input schema / properties / genre_id / descriptionPrevious value: -"Genre ID for the ranking. '0' returns the overall ranking. 0はジャンル全体のランキング。"New value: +"Genre ID for the ranking. '0' returns the overall ranking. Cannot be combined with age or sex (Rakuten restriction). 0はジャンル全体のランキング。age/sex とは併用不可(楽天の仕様)。" - removed
Input schema / properties / periodRemoved value: -{ - "description": "Time window for the ranking. Default depends on Rakuten's current configuration. ランキングの集計期間。", - "enum": [ - "realtime", - "daily", - "weekly", - "monthly", - "yearly" - ], - "title": "Period", - "type": "string" -} - changed
Input schema / properties / sex / descriptionPrevious value: -"Filter to a specific gender demographic. 性別フィルタ。"New value: +"Filter to a gender demographic. Overall ranking only (genre_id must be '0'). 性別フィルタ。総合ランキングのみ(genre_id は '0')。"
- Removed
ichiba_tag_search - Changed
travel_simple_hotel_search1 field changed- changed
Input schema / properties / detailClassCode / descriptionPrevious value: -"District-level code (e.g., 'A'). 詳細エリア。"New value: +"District-level code (e.g., 'A'). Required by Rakuten whenever the chosen smallClassCode has `details` in travel_get_area_class (e.g. Kyoto city has A–E); optional otherwise. 詳細エリア。travel_get_area_class で details を持つ市区町村(例: 京都市 A〜E)では必須。"
- Changed
travel_vacant_hotel_search1 field changed- changed
Input schema / properties / detailClassCode / descriptionPrevious value: -"District code. 詳細エリア。"New value: +"District code. Required by Rakuten whenever the chosen smallClassCode has `details` in travel_get_area_class (e.g. Kyoto city has A–E); optional otherwise. 詳細エリア。travel_get_area_class で details を持つ市区町村では必須。"
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 27 tools
Each tool targets a distinct service and resource-action combination (e.g., books_book_search vs books_cd_search, travel_simple_hotel_search vs travel_keyword_hotel_search). Overlaps like books_total_search vs category-specific searches and ichiba_item_search vs ichiba_product_search are explicitly differentiated in descriptions, leaving no real ambiguity.
Names follow a consistent service_resource_action pattern in snake_case (books_, gora_, ichiba_, travel_, recipe_, kobo_). Minor deviation: two travel tools use a get_ verb prefix (travel_get_area_class, travel_get_hotel_chain_list) while others use trailing action nouns like _search, _detail, or _ranking.
27 tools is above the typical 3–15 range, but the server aggregates six distinct Rakuten services (Books, Ichiba, Travel, Recipe, Kobo, GORA), each with multiple endpoints. Each tool maps to a unique operation, so the count is justified despite being slightly heavy.
Most services have thorough coverage: Books offers total and category-specific searches, Travel has multiple search modes plus detail/area/chain/ranking tools, and Ichiba includes search, genre, ranking, and price comparison. Notable gaps: Recipe only has category listing and ranking (no keyword or ingredient search), and Ichiba lacks a dedicated shop search tool.
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
- AlicenseAqualityCmaintenanceMCP server for Xendit payment APIs. Invoices, disbursements, balance checks, and bank transfers across Southeast Asia.658 npm4MIT
- AlicenseNot gradedqualityDmaintenanceA 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.14 npmMIT
- AlicenseAqualityDmaintenanceAn 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