Skip to main content
Glama
yukincom

rakuten-pantry-mcp

by yukincom

rakuten-pantry-mcp

mrslbt/rakuten-mcp をベースにした楽天市場(Ichiba)向け MCP サーバーです。
upstream(npm の rakuten-mcp)にはない機能を追加しています。

追加機能(upstream にない)

フィールド / 機能

説明

quantity

商品名から総個数を解析(例: 24本入り×2ケース → 48)

unitPrice

itemPrice ÷ quantity

postageLabel

送料無料 / 送料別 / 要確認

estimatedTotalPrice

送料無料時は itemPrice

shippingVerified

送料が API 上で確定しているか

compare_ichiba_value

単価比較+送料ウェブ確認のガイドプロンプト

改造の詳細は CHANGES.md。upstream へのパッチは patches/ を参照。

Related MCP server: rakuten-mcp

リポジトリ構成

rakuten-pantry-mcp/
├── src/
│   ├── index.ts              # エントリポイント
│   ├── server.ts             # MCP サーバー組み立て
│   ├── client.ts             # 楽天 API クライアント
│   ├── config.ts / errors.ts / i18n.ts / auth.ts
│   ├── tools/
│   │   ├── ichiba.ts         # ★ 改造の本体(5ツール)
│   │   ├── index.ts
│   │   ├── types.ts
│   │   └── meta.ts
│   ├── prompts/
│   │   ├── ichiba.ts         # ★ compare_ichiba_value
│   │   ├── schema.ts         # ★ プロンプト引数の型変換
│   │   └── index.ts
│   ├── transports/           # stdio / HTTP
│   └── resources/
├── test/                     # ichiba / prompts / http のテスト
├── patches/                  # upstream 向け差分
├── dist/                     # ビルド成果物(npm run build)
├── package.json
├── README.md
├── CHANGES.md
├── AGENTS.md
└── LICENSE

Ichiba ツール 5個のみ(Books / Travel / Recipe / Kobo / GORA は含みません)。resources/ は現時点では未使用(空のレジストリ)です。

セットアップ

git clone https://github.com/yukin_co/rakuten-pantry-mcp.git
cd rakuten-pantry-mcp
npm install
npm run build

MCP クライアント設定

環境変数 RAKUTEN_APP_IDRAKUTEN_ACCESS_KEY が必要です(楽天デベロッパーで取得)。

ローカル clone を使う場合

args には clone 先の dist/index.js への絶対パス を指定します。

{
  "mcpServers": {
    "rakuten-pantry": {
      "command": "node",
      "args": ["/path/to/rakuten-pantry-mcp/dist/index.js"],
      "env": {
        "RAKUTEN_APP_ID": "your-app-id",
        "RAKUTEN_ACCESS_KEY": "your-access-key"
      }
    }
  }
}

npx で使う場合(npm 公開後)

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

npm の rakuten-mcpmrslbt/rakuten-mcp)は別パッケージです。上記の rakuten-pantry-mcp を指定してください。

ツール(5)

ツール

内容

ichiba_item_search

キーワード検索(quantity / unitPrice / 送料フラグ付き)

ichiba_genre_search

ジャンルツリー

ichiba_tag_search

タグ参照

ichiba_item_ranking

売れ筋ランキング

ichiba_product_search

複数店舗横断の価格比較

プロンプト(1)

プロンプト

内容

compare_ichiba_value

単価比較と送料確認の手順をエージェントに渡す

開発

npm run typecheck
npm test
npm run build

ライセンス

MIT — 元: mrslbt/rakuten-mcp(MIT)

Available Tools

5 tools
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 rank, price, review stats, purchase URL, quantity, unitPrice, postageLabel, estimatedTotalPrice, and shippingVerified. Use ichiba_genre_search to find genre IDs. For cheapest / per-unit / shipping-inclusive comparisons (送料込み, コスパ, 安い順, 最安): use the compare_ichiba_value PROMPT instead of this tool alone. If you must use this tool directly: (1) pre-sort by unitPrice ascending; (2) shippingVerified=true → estimatedTotalPrice is final; (3) web-search top 3–5 shippingVerified=false items for JPY shipping; (4) re-rank by itemPrice+shipping; never guess shipping.

[JA] 楽天市場の売れ筋ランキングを取得します。quantity・unitPrice・postageLabel・estimatedTotalPrice・shippingVerifiedを含みます。送料込み・コスパ・安い順・最安の比較は compare_ichiba_value プロンプトを使うこと(このツール単体は不十分)。直接使う場合: (1) unitPrice昇順 (2) shippingVerified=trueは確定 (3) false上位3〜5件をウェブ検索 (4) 再ソート。送料推測禁止。

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

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already indicate readOnlyHint, openWorldHint, idempotentHint. The description adds significant context: states the tool returns specific fields (rank, price, review stats, etc.), gives detailed shipping analysis steps (shippingVerified handling, web-search for shipping costs, never guess shipping), and notes Rakuten's ranking cap of ~1000 items. 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.

Conciseness4/5

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

The description is relatively long but well-structured: main purpose first, then usage guidance, then detailed protocol steps in numbered format. Japanese version follows efficiently. Slightly verbose due to duplication of steps in both languages, but necessary for bilingual audience. Front-loaded key information.

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 the tool's complexity (5 optional params, no output schema), the description is highly complete. It covers purpose, filtering options, returned fields, usage protocols, and shipping analysis steps. The absence of an output schema is compensated by listing returned data fields. All essential information for correct agent invocation is present.

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

Parameters4/5

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

Schema coverage is 100% and each parameter already has a description. The tool description adds extra value by explaining usage constraints (page max 34 due to Rakuten cap, genre_id default 0 for overall) and contextual hints (age demographic filtering), going beyond the schema. Deduction for not elaborating on all parameters, but adequate given high schema coverage.

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

Purpose5/5

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

The description clearly states the tool retrieves Rakuten Ichiba bestseller rankings, supports filtering by genre, period, age, and gender, and lists returned fields. It distinguishes from sibling tools like ichiba_genre_search by mentioning genre ID lookup, and includes both English and Japanese for clarity.

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 tells when to use the tool vs alternatives: directs to ichiba_genre_search for genre IDs, and recommends the compare_ichiba_value prompt for cost comparisons. Provides a numbered step-by-step protocol for direct use, including pre-sorting and shipping handling rules.

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

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: genre navigation, ranking, item keyword search, cross-seller product comparison, and tag lookup. The descriptions explicitly differentiate them, e.g., ichiba_product_search is for price comparisons while ichiba_item_search is for general keyword search.

Naming Consistency4/5

All tools follow the pattern 'ichiba_<domain>_<operation>' (e.g., ichiba_genre_search, ichiba_item_ranking). The only minor deviation is that most use '_search' but 'ichiba_item_ranking' uses '_ranking' instead. Overall, the convention is consistent and predictable.

Tool Count5/5

With 5 tools, the server is well-scoped for browsing and searching the Rakuten Ichiba marketplace. Each tool covers a necessary function, and the count is neither too slim nor too heavy for this domain.

Completeness4/5

The tool set covers core browsing and search needs (genre, ranking, item search, product comparison, tags). A minor gap is the lack of a tool to retrieve detailed information for a single item by ID, which could be useful. However, the existing tools are sufficient for the main use cases.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yukincom/rakuten-pantry-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server