Skip to main content
Glama

rakuten-mcp

npm version npm downloads rakuten-mcp MCP server MCP Badge License: MIT

A Model Context Protocol server for the Rakuten Web Service API. 28 read-only tools across six Rakuten product families: Ichiba (marketplace), Books, Travel, Recipe, Kobo, and GORA (golf).

Every tool description ships in English and Japanese. Every endpoint was verified against the live Rakuten API on 2026-06-04 before release.

Install

npm install -g rakuten-mcp

Or npx rakuten-mcp on demand.

Related MCP server: xendit-mcp

Configuration

  1. Register at Rakuten Web Service.

  2. Create an application. You get a UUID Application ID and a pk_-prefixed Access Key.

  3. Optional: register an Affiliate ID to monetize product links. Item URLs in tool responses will carry it.

Variable

Required

Description

RAKUTEN_APP_ID

yes

Application ID (UUID format on the new platform)

RAKUTEN_ACCESS_KEY

yes

Access Key (starts with pk_)

RAKUTEN_AFFILIATE_ID

no

Affiliate ID appended to every item URL

RAKUTEN_MAX_RETRIES

no

Retries on 429 / 5xx. Default 3.

Claude Desktop

Edit claude_desktop_config.json:

{
  "mcpServers": {
    "rakuten": {
      "command": "npx",
      "args": ["-y", "rakuten-mcp"],
      "env": {
        "RAKUTEN_APP_ID": "your-app-id",
        "RAKUTEN_ACCESS_KEY": "your-access-key"
      }
    }
  }
}

Claude Code

claude mcp add rakuten -e RAKUTEN_APP_ID=... -e RAKUTEN_ACCESS_KEY=... -- npx -y rakuten-mcp

Cursor / Cline / Continue

Same JSON shape as Claude Desktop, under each client's MCP config path.

Tools

Ichiba (5)

Tool

What it does

ichiba_item_search

Keyword search on Rakuten Ichiba with price filters, sort, genre/shop restrictions.

ichiba_genre_search

Browse the genre tree. Returns current, ancestors, siblings, and children.

ichiba_tag_search

Look up a specific tag by ID. Returns the tag group and name.

ichiba_item_ranking

Bestseller ranking, overall or by genre / period / age / gender.

ichiba_product_search

Item Price Navi: same product across multiple sellers with min/max/avg price.

Books (9)

Tool

What it does

books_total_search

Cross-category search across all of Rakuten Books.

books_book_search

Printed books by title, author, ISBN, publisher.

books_cd_search

Music CDs by title, artist, label, JAN.

books_dvd_search

DVDs / Blu-ray.

books_foreign_book_search

Non-Japanese books. Returns japaneseTitle when a translation exists.

books_magazine_search

Magazines by title, publisher, JAN.

books_game_search

Video games by title, hardware platform, JAN.

books_software_search

Computer software by title, OS, JAN.

books_genre_search

Browse the Books genre tree (000 = top).

Travel (7)

Tool

What it does

travel_simple_hotel_search

Hotels by area code or lat/lon.

travel_vacant_hotel_search

Hotels with rooms available on specific check-in / check-out dates. Returns plans with per-night and total pricing.

travel_hotel_detail_search

Full details for one hotel by hotelNo.

travel_get_area_class

The area-code hierarchy: 日本 → 47 prefectures → cities → districts.

travel_keyword_hotel_search

Free-text hotel search by name / landmark / area.

travel_get_hotel_chain_list

All 307 hotel chains registered on Rakuten Travel.

travel_hotel_ranking

Top hotels by ranking genre (all / onsen / ryokan / city / resort / business / pension / publichouse).

Recipe (2)

Tool

What it does

recipe_category_list

The full Rakuten Recipe category tree (43 large → ~540 medium → ~1500 small). Pass level to fetch one tier.

recipe_category_ranking

Top recipes in a category with title, ingredient list, prep time, cost estimate, image, and author.

Kobo (2)

Tool

What it does

kobo_ebook_search

Search Rakuten Kobo's eBook catalogue. Returns title, series, author, publisher, language code, price, and sale URL.

kobo_genre_search

Browse the Kobo genre tree. Top-level is 101 (電子書籍).

GORA (3)

Tool

What it does

gora_golf_course_search

Golf courses by area code, keyword, or coordinates.

gora_golf_course_detail

Full course profile: designer, hole/par, course distance, green type, dress code, facilities, base prices.

gora_plan_search

Reservation plans on a specific play date. Returns per-plan prices, cart/caddie/lunch inclusions, player-count constraints.

Example queries

楽天で1万円以下のワイヤレスイヤホンを探して。レビュー4以上。
村上春樹の楽天Kobo電子書籍を新着順で。
東京駅近くのホテル、7月1〜2日、2名で1泊1万5千円以下の空室。
今週末東京近郊のゴルフ場で安いプランは?
楽天レシピで人気の鶏胸肉料理を5件、材料と所要時間込みで。
JANコード 4988601009447 のCDの取扱店舗。

Architecture

Modular: one file per API family under src/tools/. Stdio and HTTP transports both supported. Typed error tree with 8 classes covering Config / Auth / RateLimit / Server / NotFound / BadRequest / MalformedResponse / Unknown. Retry-with-backoff on 429 and 5xx, parses Retry-After as both seconds and HTTP-date. See AGENTS.md for the architecture brief, conventions, and how to add a new tool.

Safety

All 28 tools are read-only HTTP GETs against the Rakuten Web Service API. No tool creates, modifies, or deletes anything. Rakuten's terms of service and rate limits apply. Returned items are promotional listings — verify prices and availability on Rakuten before acting on them.

Disclaimer

Unofficial. Not affiliated with, endorsed by, or sponsored by Rakuten Group, Inc. Rakuten, Rakuten Ichiba, Rakuten Books, Rakuten Travel, Rakuten Recipe, Rakuten Kobo, and Rakuten GORA are trademarks of Rakuten Group, Inc. Use at your own risk.

License

MIT

Available Tools

28 tools
gora_golf_course_detailGet Rakuten GORA Golf Course DetailA
Read-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、平日/休日の基準最安値を返します。

ParametersJSON Schema
NameRequiredDescriptionDefault
golfCourseIdYesGolf course ID (from gora_golf_course_search). ゴルフ場ID(検索結果から取得)。

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ichiba_item_rankingGet Rakuten Ichiba Bestseller RankingA
Read-onlyIdempotent

Get the Rakuten Ichiba bestseller ranking — overall or filtered by genre, time period, age, and gender demographic. Returns ranked items with their rank, price, review stats, and purchase URL. Use ichiba_genre_search to find specific genre IDs.

[JA] 楽天市場の売れ筋ランキングを取得します。総合または、ジャンル/集計期間/年代/性別で絞り込み可能。順位、価格、レビュー、購入URLを含むランキング一覧を返します。ジャンルIDの検索には ichiba_genre_search を使用してください。

ParametersJSON Schema
NameRequiredDescriptionDefault
genre_idNoGenre ID for the ranking. '0' returns the overall ranking. 0はジャンル全体のランキング。0
pageNoPage number (1–34; Rakuten caps rankings at ~1000 items). ページ番号(1〜34)。
periodNoTime window for the ranking. Default depends on Rakuten's current configuration. ランキングの集計期間。
ageNoFilter to a specific age demographic (e.g., '20s' = users in their 20s). 年代フィルタ。
sexNoFilter to a specific gender demographic. 性別フィルタ。

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description does not need to repeat safety. It adds that the tool returns a ranking list with specific fields, but does not describe additional behavioral traits like pagination limits or response size. The description is consistent with annotations.

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

Conciseness5/5

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

The description is concise with two English sentences and a Japanese translation. It front-loads the action and result, with no wasted words. Every sentence adds value.

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

Completeness4/5

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

Given the simplicity of the tool (read-only, filtering, pagination via page parameter), the description covers the main purpose, return data, and prerequisite. The lack of output schema is mitigated by the description listing returned fields. Minor omission: no mention of pagination beyond the page parameter in the schema.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter having a description. The tool description mentions filtering by genre, period, age, and sex, which matches the parameters, but does not add meaning beyond what is already in the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool retrieves the Rakuten Ichiba bestseller ranking, with options for overall or filtered by genre, period, age, and gender. It also lists the returned data (rank, price, review stats, purchase URL). This distinguishes it from sibling tools like ichiba_item_search and ichiba_genre_search.

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

Usage Guidelines4/5

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

The description provides usage context by mentioning the ability to filter and by pointing to ichiba_genre_search for finding genre IDs. However, it does not explicitly state when not to use this tool or contrast with alternatives like ichiba_item_search for non-ranking queries.

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

recipe_category_listList Rakuten Recipe CategoriesA
Read-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 が付与されます。

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoWhich 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

A4.8/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 RankingA
Read-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 で取得。

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryIdYesCategory ID to rank within. Pass a large/medium/small categoryId from recipe_category_list. ランキング対象のカテゴリID(recipe_category_list の large/medium/small から取得)。

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 ClassificationA
Read-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 等としてホテル検索ツールに渡してください。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 ChainsA
Read-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等)とコードを返します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_rankingGet Rakuten Travel Hotel RankingA
Read-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を返します。

ParametersJSON Schema
NameRequiredDescriptionDefault
genreNoRanking genre. 'all' is overall; others narrow by hotel type. ランキング種別。'all' は総合、他はタイプ別。all

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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

With no output schema, the description 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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Tool Schema Changelog

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

  1. 34 tool updatesv1.1.0
    • Addedbooks_book_search
    • Addedbooks_cd_search
    • Addedbooks_dvd_search
    • Addedbooks_foreign_book_search
    • Addedbooks_game_search
    • Addedbooks_genre_search
    • Addedbooks_magazine_search
    • Addedbooks_software_search
    • Addedbooks_total_search
    • Removedget_genre_ranking
    • Addedgora_golf_course_detail
    • Addedgora_golf_course_search
    • Addedgora_plan_search
    • Addedichiba_genre_search
    • Addedichiba_item_ranking
    • Addedichiba_item_search
    • Addedichiba_product_search
    • Addedichiba_tag_search
    • Addedkobo_ebook_search
    • Addedkobo_genre_search
    • Addedrecipe_category_list
    • Addedrecipe_category_ranking
    • Removedsearch_books
    • Removedsearch_genres
    • Removedsearch_products
    • Removedsearch_travel
    • Removedsearch_travel_vacancy
    • Addedtravel_get_area_class
    • Addedtravel_get_hotel_chain_list
    • Addedtravel_hotel_detail_search
    • Addedtravel_hotel_ranking
    • Addedtravel_keyword_hotel_search
    • Addedtravel_simple_hotel_search
    • Addedtravel_vacant_hotel_search
  2. 1 tool updatev0.1.1
    • Removedget_product_reviews
  3. 7 tool updatesv1.0.0
    • First observedget_genre_ranking
    • First observedget_product_reviews
    • First observedsearch_books
    • First observedsearch_genres
    • First observedsearch_products
    • First observedsearch_travel
    • First observedsearch_travel_vacancy

TDQS

A4.1/5.0

Scored across 28 tools

Disambiguation5/5

Each tool targets a distinct domain (books, CDs, DVDs, games, software, etc.) with clear, specific names and descriptions. Overlapping tools like books_total_search vs individual category searches are explained with usage guidance. No ambiguity.

Naming Consistency5/5

All tool names follow a consistent pattern: domain_action (e.g., books_book_search, ichiba_item_search). All lowercase with underscores, verbs are either 'search', 'get', 'list', or 'detail'. No mixing of conventions.

Tool Count4/5

28 tools is somewhat high but justified by the broad scope covering multiple Rakuten services (books, ichiba, travel, golf, recipes, kobo). Each tool has a distinct purpose; no obvious redundancy.

Completeness4/5

The tool surface covers most major Rakuten services: product search, ranking, genre navigation, hotel and golf course search with details and availability. Missing recipe detail search and direct purchase/reserve actions, but core information retrieval is well-covered.

Maintenance

ActivityStale
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Extract YouTube transcripts for AI agents, RAG pipelines, and LLM workflows. Supports any YouTube URL. Returns clean text or timestamped segments. No API keys required.
    1
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A MCP server for Walmart Marketplace and Affiliate APIs, enabling sellers to manage items, inventory, prices, and orders, and consumers to search, lookup products, reviews, and store locations.
    12 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An 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.
    5
    1
    MIT