30book について
30book は、イランの書店 30book で紙の本を検索できる、非公式の読み取り専用 MCP サーバーです。版や価格の比較、カタログの閲覧、レビュー確認に対応し、ログインや購入機能はありません。
主な機能
- 01著者・出版社で絞り込める書名検索
- 02版・価格・割引の比較
- 03書籍情報と在庫状況の表示
- 04カテゴリ・著者・出版社の閲覧
- 05レビュー確認と類似書籍の検索
- 06ベストセラー・新刊・セールの一覧
活用シーン
- 01書籍の最安版を探す
- 02在庫、ISBN、出版社の確認
- 03翻訳者や出版社のカタログ閲覧
- 04ベストセラーの価格と割引の比較
MCP 対応
ローカルで stdio MCP サーバーとして動作し、MCP クライアントに 14 個の読み取り専用ツールを公開します。30book.com からカタログ情報を取得し、注文には対応しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx 30book-mcpSIBOOK_MCP_PROXYOptional HTTP proxy URL for requests to 30book.com, or a comma-separated list used one at a time (next one after a block or connect error); system proxy settings are ignored.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
14掲載時のツール一覧 · 6 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| page | integer | いいえ | ページ番号。1 から始まります(1 ページあたり 20 冊)。 |
| sort | any | いいえ | 並び順。省略すると、そのページ固有のデフォルト(ベストセラー順、著者ページでは新しい順)になります。'cheapest' / 'expensive' は定価に基づきます。 |
| query | string | はい | タイトルの語句。ペルシア語で指定します。例:'شازده کوچولو'。 |
| extended | boolean | いいえ | タイトルのフレーズ完全一致ではなく、単語ごとに照合します(結果が増えます)。 |
| author_id | any | いいえ | この著者のみ(sb_find_person または書籍の authors[].id から取得した id)。 |
| publisher_id | any | いいえ | この出版社のみ(sb_find_publisher または書籍の publisher.id から取得した id)。 |
| translator_id | any | いいえ | この翻訳者のみ(人物 id)。 |
| available_only | boolean | いいえ | 在庫のある書籍のみ。 |
詳細
30book-mcp:AI エージェント向け 30book MCP サーバー
AI エージェントでイランの30book書店(۳۰بوک)を検索できます。
30book向けの非公式な読み取り専用 MCP サーバーです。30bookは約20万冊の印刷書籍を扱うイランのオンライン書店です。
Claude、Cursor、Copilotから、タイトルで検索したり、版や出版社を比較したり、定価や割引価格(トマン)、在庫、ISBN、著者、翻訳者、レビュー、ベストセラー、割引情報を確認したりできます。
AI エージェント向け · 理由 · できること · クイックスタート · ツール · 仕組み · 知っておくとよいこと · FAQ · 設定 · فارسی · 開発 · 関連サーバー · 免責事項 · ライセンス
AI エージェント向け
- 概要: 30book(30book.com)向けの非公式 MCP サーバーです。30bookはイランのオンライン書店です。検索語にはペルシア語(タイトル、名前)が最適です。価格の単位はトマンです。
- インストール:
uvx 30book-mcpまたはclaude mcp add 30book -- uvx 30book-mcpを実行します。トランスポート:stdio。uv(Python 3.10以降)が必要です。または、pip install 30book-mcpを実行します。 - 認証: 不要です。API キーやアカウントは必要ありません。任意で
SIBOOK_MCP_PROXY(30book.comへのリクエストに使うHTTPプロキシURL、またはカンマ区切りのリスト)を設定できます。 - アクセス: 読み取り専用です。ログインは行わず、カート、チェックアウト、ウィッシュリスト、レビュー投稿のツールもないため、ツールの呼び出し前に確認する必要はありません。
- ツール: 14個あり、すべて
sb_が接頭辞です。まずsb_search、sb_book、sb_bestsellers、sb_deals、sb_browseを使ってください。 一般的な手順:sb_search->sb_book->sb_similarまたはsb_reviews。人物や出版社を調べる場合は、sb_find_person/sb_find_publisher->sb_author/sb_publisherの順に使います。 - 単位: 価格の単位はトマンです(
priceは定価、final_priceは支払額、discount_pctは整数の割引率)。在庫は有無のみで、数量は表示されません。1ページあたり約20冊です(受賞作品のページは約22冊)。 - 利用する場面: 30bookで扱うイランや海外の印刷書籍について、版、出版社、価格、在庫、評価を比較する場合。
- 利用しない場面: ユーザーが購入や注文を希望する場合(カートやチェックアウト機能はありません)、送料を知りたい場合(送料はチェックアウト時に表示されます)、電子書籍やオーディオブックを探す場合、または他の書店を探す場合。
- 機械可読情報:
server.jsonと iran-mcpカタログ(TOOLS.md、servers.json、llms.txt)。
理由
30bookには公開APIがなく、一覧ページはライブのBlazor Serverセッションで描画されるため、通常のスクレイパーでは空のページしか取得できません。このサーバーはブラウザーを使わずにそのプロトコル(SignalRのロングポーリング)で通信し、書籍ページを解析するため、エージェントは数回の呼び出しで「ハードカバー版の『星の王子さま』の最安値の版は?」「この翻訳者の作品で30万トマン未満のものをすべて教えて」「歴史分野のベストセラーは?」といった質問に回答できます。
できること
- タイトルで書籍を検索(完全一致または単語ごとに検索)。並べ替え、在庫状況、出版社、著者、翻訳者で絞り込めます
- 版と出版社を比較:複数の出版社から出ている同じタイトルについて、定価と支払価格を一覧表示します
- 書籍の詳細:価格、割引、在庫、著者、翻訳者、出版社、ページ数、表紙、サイズ、ISBN、言語、版(刷数)、出版年(ヒジュラ太陽暦)、重量、カテゴリ、評価、タグ、説明
- 閲覧:カテゴリ、フィクションのジャンル、各国文学、文学賞のリスト、タグ
- 出版社と人物:出版社ごとの書籍一覧、著者または翻訳者の全著作、名前からIDを検索
- 読者の評価:星評価と評価の概要を含むレビュー、類似書籍
- 人気作品と格安書籍:サイト全体のベストセラー、新刊、割引率の高いベストセラー
- 読み取り専用の設計:ログイン、カート、注文には対応していません
プロンプトの例:
- 「30bookで、ハードカバーの『星の王子さま』(شازده کوچولو)の最安の版はどれですか?」
- 「この翻訳者の本のうち、300,000トマン未満のものを評価とともに一覧表示してください。」
- 「現在の歴史ジャンルのベストセラーは何ですか?また、最も割引率が高いのはどれですか?」
- ارزانترین چاپ رمان «صد سال تنهایی» در ۳۰بوک کدام است؟
- پرفروشترین کتابهای روانشناسی را با قیمت و تخفیف نشان بده.
- کتابهای این ناشر را از ارزان به گران مرتب کن.
クイックスタート
uv が必要です。API キーやアカウントは不要です。
Claude Code
claude mcp add 30book -- uvx 30book-mcp
Claude Desktop
設定 → 開発者 → 設定を編集 の順に選び、次を追加します:
{
"mcpServers": {
"30book": { "command": "uvx", "args": ["30book-mcp"] }
}
}
Cursor
上記の Claude Desktop の設定ブロックを ~/.cursor/mcp.json(またはプロジェクト内の .cursor/mcp.json)に追加します。
VS Code(Copilot エージェントモード)
上の VS Code にインストール をクリックするか、.vscode/mcp.json に追加します:
{
"servers": {
"30book": { "type": "stdio", "command": "uvx", "args": ["30book-mcp"] }
}
}
Codex CLI
codex mcp add 30book -- uvx 30book-mcp
または ~/.codex/config.toml に追加します:
[mcp_servers.30book]
command = "uvx"
args = ["30book-mcp"]
Gemini CLI
~/.gemini/settings.json に追加します:
{
"mcpServers": {
"30book": { "command": "uvx", "args": ["30book-mcp"] }
}
}
Windsurf
Claude Desktop の設定ブロックを ~/.codeium/windsurf/mcp_config.json に追加します。
その他
標準的な stdio MCP サーバーです。uvx 30book-mcp を実行するか、pip install 30book-mcp を実行してから 30book-mcp を実行します。
プロキシ経由で接続する場合は、SIBOOK_MCP_PROXY=http://host:port を設定してください(システムのプロキシ環境変数は意図的に無視されます)。
ツール
14 個のツールはすべて読み取り専用で、sb_ が接頭辞として付いています。ツール間で書籍、出版社、人物の ID を渡します。価格の単位はトマンです。
書籍を探す(8)
| ツール | 機能 |
|---|---|
sb_search | タイトルで検索(完全一致のフレーズまたは単語ごと)。並べ替え、在庫、出版社、著者、翻訳者のフィルターに対応。1 ページあたり 20 件 |
sb_browse | カテゴリー(セクション、主題、トピック)、フィクションのジャンル、各国文学、文学賞、タグから書籍を探します |
sb_publisher | 出版社 1 社のカタログと短い説明を表示します |
sb_author | 著者または翻訳者 1 人の全作品を表示します |
sb_find_publisher | 出版社名から ID を取得します |
sb_find_person | 著者/翻訳者名から ID を取得します |
sb_categories | カテゴリーのセクションと主題を表示します(sb_browse 用のコード) |
sb_collections | ジャンル、各国文学、文学賞の一覧、現在のタグを表示します |
個別の書籍(3)
| ツール | 機能 |
|---|---|
sb_book | 価格、最終価格、割引率、在庫、著者、翻訳者、出版社、ページ数、表紙、サイズ、ISBN、言語、版(刷数)、年(ヒジュラ太陽暦)、重量、カテゴリー、評価、タグ、説明 |
sb_similar | 類似書籍、著者の他の作品、翻訳者の他の作品を表示します |
sb_reviews | 評価の星と評価の概要を含む読者コメントを表示します |
人気書籍とお買い得品(3)
| ツール | 機能 |
|---|---|
sb_bestsellers | サイト全体のベストセラーを表示します |
sb_new_releases | 最新の書籍を表示します |
sb_deals | ベストセラーを表示します。割引率の高い順に並べ替えることもできます |
すべてのツールには readOnlyHint: true の注釈が付いており、コンパクトな JSON を返します。
仕組み
AI agent (Claude, Cursor, Copilot, ...)
│
│ MCP over stdio
▼
30book-mcp (runs on your machine)
│
│ HTTPS (Chrome TLS/HTTP2 fingerprint) + SignalR long polling
└──────▶ 30book.com book pages, Blazor-drawn list pages
- 書籍ページ、ホームページ、ランディングページは、サーバー側でレンダリングされたプレーンな HTML で、直接解析されます。
- 検索、カテゴリー、出版社、著者、ジャンル、タグの各ページは、読み込み後に Blazor Server のサーキットによって構築されます。SignalR のロングポーリングでサーキットを 1 つ開き、バイナリーのレンダリングバッチを小さな DOM に適用して、カードを読み取ります。ページ送り、並べ替え、フィルターは URL のクエリパラメーターで指定されるため、クリック操作はシミュレートしません。イベントを発火させるのは、出版社と著者のインデックスページにある名前入力欄だけです。
- ご利用のマシン上で動作し、30book に直接アクセスします。間にホスト型サーバーはありません。
知っておくと便利なこと
- 価格の単位はトマンです。 HTML の価格はトマンです。書籍ページの JSON-LD はリアル(10 倍)ですが、在庫切れの書籍にのみ使用されます。
priceは定価、final_priceは支払額で、discount_pctは計算値です。in_stock: falseは在庫切れを意味します(価格は最後に確認された価格である可能性があります)。- 在庫状況はあり/なしのみで、数量は表示されません。
- **速度:**一覧ページは 2~5 秒かかります(一覧ごとに Blazor セッションを開きます)。書籍ページは約 1 秒です。書籍ページは 5 分間キャッシュされるため、書籍 -> 類似書籍 -> レビューは 1 回の取得で済みます。
- **検索は名前の一部に基づいています。**サイトでは一部の名前にアラビア文字の yeh/kaf が使われているため、人物や出版社の検索に失敗することがあります。その場合は、より短い単語を試してください。
- カテゴリー:
bts-Nセクションページはランディングページのみです。主題とトピックのコードでは一覧を利用できます(sb_categoriesを参照)。文学賞のページは 1 ページあたり約 22 冊を表示し、並べ替えは適用されません。 - **価格帯フィルターと検索結果件数はありません。**最後のページ番号のみ確認できます。
- サイトの特別セールは主に文房具が対象のため、
sb_dealsはベストセラー、または割引率順に並べ替えた 1 つの主題を使用します。 - **対象外:**送料(ログイン後、購入手続き時に表示)、電子書籍、オーディオブック、購入。
- **リクエスト頻度:**同時リクエストは最大 2 件で、短いランダムな遅延を挟みます。タイムアウト、429、5xx は最大 2 回再試行します。ご自身の呼び出し頻度も低く抑えてください。サイトの
robots.txtでは、クローラーによる*/searchへのアクセスが禁止されています。 - プロキシ:
SIBOOK_MCP_PROXY(設定を参照)。
よくある質問
AI エージェント向けの30book APIまたはMCP サーバーはありますか?
30bookには公開APIがありません。30book-mcpは、サイトのページを読み取り、あらゆるMCP クライアントに公開する、14個の読み取り専用ツールを備えた非公式のMCP サーバーです。これにより、エージェントは書籍を検索したり、価格を比較したりできます。
Claude、Cursor、Copilotで30bookを使うにはどうすればよいですか?
claude mcp add 30book -- uvx 30book-mcpを実行するか、クイックスタートにあるClaude Desktop、Cursor、VS Code、Codex CLI、Gemini CLI、Windsurf向けの設定を使い、ペルシャ語または英語で自然な言葉で質問してください。
書籍を代わりに購入してもらえますか?
いいえ。それは意図的な仕様です。ログインや、カート、チェックアウト、ウィッシュリスト、レビューのエンドポイントへの呼び出しは一切行いません。エージェントが最適な版を探し、注文はサイト上でご自身で行います。
検索結果が空になることがあるのはなぜですか?
サイトでは、一部の名前にアラビア語のイェー/カーフが使われています。短い単語を試すか、sb_searchのextended=trueオプションを使ってください。
イランのIPアドレスが必要ですか?また、無料ですか?
無料で、キーも不要です。30book.comに直接アクセスします。ご利用のネットワークからそのホストに接続できない場合は、SIBOOK_MCP_PROXYにHTTPプロキシを設定してください。システムのプロキシ環境変数は意図的に無視されます。
サイトにボットチェックページが表示された場合はどうすればよいですか?
リクエストではChromeのTLS/HTTP2フィンガープリントを使用します。それでもサイトにボットチェックページが表示される場合は、オプションのブラウザー拡張機能をインストールして(pip install "30book-mcp[browser]"を実行し、続けてpatchright install chromiumを実行してください)、一度だけチェックを解除します。
電子書籍やオーディオブックを見つけられますか?
いいえ。30bookでは印刷された書籍(一部の文房具も)を販売しています。電子書籍やオーディオブックについては、 taaghche-mcpとfidibo-mcpをご覧ください。
Claude Desktopでuvxが見つからないと表示されます
uvxのフルパスをcommandとして指定してください(Windowsではwhere uvx、macOS/Linuxではwhich uvxを実行します)。
エージェントに表示される内容をデバッグするにはどうすればよいですか?
npx @modelcontextprotocol/inspector uvx 30book-mcp
設定
| 変数 | デフォルト | 説明 |
|---|---|---|
SIBOOK_MCP_PROXY | 未設定 | 30book.comへのリクエストに使用する任意のHTTPプロキシURL。カンマ区切りで指定すると、ブロックまたは接続エラーの後に次のプロキシを順番に使用します。システムのプロキシ設定は無視されます |
ペルシャ語:۳۰بوک 書籍 MCP サーバー
30book-mcp は、イランのオンライン書店 ۳۰بوک(30book.com)向けの、非公式かつ読み取り専用の MCP サーバーです。約 20 万点の紙の書籍を取り扱っています。このサーバーを使うと、AI アシスタント(Claude、Cursor、Copilot など)が書籍を検索したり、版や出版社を比較したり、価格や割引を確認したりできます。
できること
- タイトルで書籍を検索し、出版社、著者、翻訳者、在庫状況で絞り込めます。
- 版や出版社を比較できます。価格(トマン)、割引後の価格、割引率を確認できます。
- 書籍の詳細情報:在庫状況、ISBN、ページ数、表紙の種類、判型、版数、出版年、著者、翻訳者。
- ジャンルを閲覧できます。カテゴリ、ジャンル、各国の文学、文学賞、タグを確認できます。
- 評価付きの読者レビュー、類書、ベストセラー、新刊、割引商品を確認できます。
注意事項
- 読み取り専用です。アカウントにログインしたり、カートを作成したり、注文したりすることはありません。
- 価格はすべてトマンです。在庫状況は「在庫あり」または「在庫なし」のみで、数量は表示されません。
- 送料は公開サイトに表示されておらず、注文時に計算されます。
- API キーやユーザーアカウントは不要です。ペルシャ語の単語で検索すると、より良い結果が得られます。
インストール(まず uv をインストールしてください)。Claude Code の場合:
claude mcp add 30book -- uvx 30book-mcp
Claude Desktop、Cursor、その他のアプリでは、クイックスタートの設定をそのまま使用してください。
質問例
- 「シャーザーデ・クーチュルーのハードカバー版で、最も安いものはどれですか?」
- 「۳۰بوک のベストセラーはどれですか?また、最も割引率が高いものはどれですか?」
- 「この翻訳者の書籍を、30 万トマン未満で表示して。」
検索キーワード: 書籍の購入、書籍の価格、書籍価格の比較、オンライン書店、۳۰بوک、シーブーク、書籍の割引、ベストセラー、出版社、翻訳者、ISBN、ペルシャ語 MCP サーバー。
開発
git clone https://github.com/sepehr071/30book-mcp && cd 30book-mcp
uv sync
uv run ruff check . && uv run ruff format --check .
uv run python -m pytest -q # offline, recorded pages
uv run python -m pytest -m live -q # real site, one test per tool
ツールは src/sibook_mcp/catalog.py と product.py にあります(Python パッケージ名は sibook_mcp です。モジュール名を数字で始めることはできないためです)。各ツールは、エージェントが使用するタイミングを説明する docstring を備えた、型付きの非同期関数です。この README のツール一覧がサーバーと一致していることを確認するテストがあります。Issue や PR を歓迎します。
リリース:pyproject.toml と server.json のバージョンを更新し、v* タグをプッシュします。GitHub Actions がテストを実行し、PyPI と MCP Registry に公開して、GitHub Release を作成します。
関連サーバー
- イランの電子書籍やオーディオブック向けの Taaghche MCP server
- ペルシャ語の電子書籍やオーディオブック向けの Fidibo MCP server
- 別のイランのオンラインショップ向けの Shopino MCP server
- イラン最大のオンラインストア向けの Digikala MCP server
- iran-mcp:イランのサービス向け MCP サーバーのカタログ
免責事項
非公式のプロジェクトであり、30book とは提携しておらず、同社から承認を受けていません。サイトの公開ページを読み取りますが、予告なく変更される場合があります。読み取り専用で、ログインしたり、サイト上の情報を変更したりすることはありません。リクエスト頻度は適切な範囲に抑えてください。
作者
Sepehr Radmard(سپهر رادمرد)が開発・保守しています。LinkedIn でつながるか、GitHub の @sepehr071 をフォローして、イランのウェブサイト向け MCP サーバーをご覧ください。すべて iran-mcp に掲載されています。このプロジェクトが役に立ったら、リポジトリにスターを付けていただけると、ほかの人にも見つけてもらいやすくなります。
ライセンス
クリックの手間が省けたら、スターを付けていただけると、ほかの人にも見つけてもらいやすくなります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
