Rakuten API MCP Server
by malken21
README.md
# Rakuten API MCP Server
楽天ウェブサービスの新しいエンドポイント(openapi.rakuten.co.jp / 2026年インフラ刷新後)に対応した、楽天市場、楽天ブックス、楽天トラベル、楽天レシピ、楽天Kobo、楽天GORAの情報を取得・検索できる MCP (Model Context Protocol) サーバーです。
## 特徴
* 2026年5月に移行した認証方式(`applicationId` と `accessKey`)に対応。
* レートリミット(429エラー)制御、およびOrigin/Refererヘッダー送信によるセキュリティ設定に対応。
* サービスごとにモジュール分割された構成。
---
## 対応サービス
本MCPサーバーは、以下の楽天サービスに対応したツール群を登録します。各ツールの詳細な引数やスキーマは、MCPクライアントの自動検出機能により確認可能です。
* 楽天市場
* 楽天ブックス
* 楽天レシピ
* 楽天トラベル
* 楽天Kobo
* 楽天GORA
---
## インストールとセットアップ
### 1. 依存ライブラリのインストール
本プロジェクトは [uv](https://github.com/astral-sh/uv) を使用してパッケージ管理されています。
```bash
uv venv
uv sync
```
### 2. 環境変数の設定
`.env` ファイルを作成し、以下の値を設定してください(ひな形は `.env.example` にあります)。
```env
RAKUTEN_APPLICATION_ID=アプリケーションID (UUID形式)
RAKUTEN_ACCESS_KEY=アクセスキー (pk_から始まるキー)
RAKUTEN_ALLOW_URL=許可されたWebサイトドメイン (例: https://example.com/)
RAKUTEN_AFFILIATE_ID=アフィリエイトID (任意)
```
---
## MCPクライアントの設定例
Claude Desktop などの MCP クライアント設定(例: `config.json`)に以下を追加してください。
```json
{
"mcpServers": {
"rakuten-api": {
"command": "uv",
"args": [
"run",
"--path",
"[リポジトリの絶対パス]/src/main.py"
],
"env": {
"RAKUTEN_APPLICATION_ID": "アプリケーションID",
"RAKUTEN_ACCESS_KEY": "アクセスキー",
"RAKUTEN_ALLOW_URL": "登録ドメイン",
"RAKUTEN_AFFILIATE_ID": "アフィリエイトID(任意)"
}
}
}
}
```
---
## 開発とテスト
`pytest` を用いて、モックを用いたテストを実行可能です。
```bash
uv run pytest
```
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues