{"id":"873ba618-4b85-45ec-863c-2d773bb88b6b","slug":"iranketab-mcp","kind":"mcp","name":"iranketab-mcp","summary":"Unofficial read-only MCP server for Iranketab (iranketab.ir), the Persian book store: books, translations compared, ratings, reviews, prices. No API key. For Claude, Cursor, Copilot.","owner":"sepehr071","repoUrl":"https://github.com/sepehr071/iranketab-mcp","license":"MIT","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-11-01T07:34:05.000Z","addedAt":"2026-11-01T13:28:18.220Z","logoUrl":"https://avatars.githubusercontent.com/u/52960282?u=5d8c9644147a8a35215faae570bb88be356566c0&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra","memory-knowledge"],"tags":["book-reviews","books","bookstore","claude","iran","persian","persian-books","ratings"],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-11-01T13:33:51.232Z","sample":false,"url":"https://conduits.dev/tools/iranketab-mcp","language":"Python","transports":["stdio"],"install":{"pypi":"iranketab-mcp"},"requirements":{"env":[{"name":"IRANKETAB_MCP_PROXY","secret":false,"required":false,"description":"Optional HTTP proxy URL for the Iranketab requests; system proxy settings are ignored. Also accepts a comma-separated list: one is used until it gets blocked or fails to connect, then the next."}],"upstreamMayCharge":false},"tools":null,"readme":"<!-- mcp-name: io.github.sepehr071/iranketab-mcp -->\n\n<div align=\"center\">\n\n# iranketab-mcp: Iranketab (ایران کتاب) Persian book store MCP server for AI agents\n\n**iranketab-mcp is an unofficial, read-only MCP server that gives AI agents the Iranketab book store (فروشگاه اینترنتی ایران کتاب).**<br>\nIts 13 tools search books, authors, translators and publishers, compare every translation of a book by rating, votes and price,<br>\nread reader comments, list a publisher's or translator's books, browse bestseller, prize and discount lists, show a book's<br>\nprizes, series and critics' quotes, suggest what to read next and read the blog.<br>\nNo API key or Iranketab account is needed. It works in Claude, Cursor, Copilot and any other MCP client.\n\n[![PyPI](https://img.shields.io/pypi/v/iranketab-mcp?color=2563eb)](https://pypi.org/project/iranketab-mcp/)\n[![Python](https://img.shields.io/pypi/pyversions/iranketab-mcp)](https://pypi.org/project/iranketab-mcp/)\n[![CI](https://github.com/sepehr071/iranketab-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/sepehr071/iranketab-mcp/actions/workflows/ci.yml)\n[![MCP Registry](https://img.shields.io/badge/MCP_Registry-io.github.sepehr071%2Firanketab--mcp-7c3aed)](https://registry.modelcontextprotocol.io/?q=iranketab-mcp)\n[![License: MIT](https://img.shields.io/badge/license-MIT-16a34a)](https://github.com/sepehr071/iranketab-mcp/blob/main/LICENSE)\n\n[For AI agents](#for-ai-agents) · [Quick start](#quick-start) · [What it can do](#what-it-can-do) · [Tools](#tools) · [FAQ](#faq) · [فارسی](#فارسی)\n\n</div>\n\n---\n\n## For AI agents\n\n- **What:** unofficial MCP server (model context protocol) for iranketab.ir, a Persian online book store: search, book pages with every edition (translation and publisher) and its own rating, votes, price and stock, reader comments, author/translator and publisher pages, bestseller, newest and award lists with filters.\n- **Install:** `uvx iranketab-mcp` or `claude mcp add iranketab -- uvx iranketab-mcp`. Transport: stdio. Needs [uv](https://docs.astral.sh/uv/getting-started/installation/) (Python 3.10+).\n- **Auth:** none, no API key or account. Optional `IRANKETAB_MCP_PROXY` (HTTP proxy URL, or a comma-separated list); system proxy settings are ignored.\n- **Access:** read-only. It cannot log in, order, rate or comment, so no confirmation is needed before calling any tool.\n- **Tools:** 13, all prefixed `ik_`. Typical sequences: `ik_search` -> `ik_editions` -> `ik_reviews`; `ik_search(kind=\"profile\")` -> `ik_profile`; `ik_browse(209)` -> `ik_book`.\n- **Use when:** the user asks which translation or edition of a Persian-available book is best or cheapest, what readers say about a book or a translator, what a publisher or translator has published, or what is on the bestseller and new-release lists.\n- **Do not use when:** the user wants e-books or audiobooks (this is a printed-book store; see fidibo-mcp, taaghche-mcp), or to buy something.\n- **Output:** compact JSON. Prices are Toman. Ratings are 1 to 5 per edition (read the vote count too). Titles, introductions and comments are Persian.\n- **Machine-readable:** [`server.json`](https://github.com/sepehr071/iranketab-mcp/blob/main/server.json) and the\n  [iran-mcp catalog](https://github.com/sepehr071/iran-mcp).\n\n## Why\n\nIranketab is known for its ratings, comments and its habit of putting every Persian translation of a foreign book on\none page. Comparing translations of *The Idiot* by hand means opening 17 editions and scrolling 195 comments. With\n`iranketab-mcp` an agent does it in two calls:\n\n> **You:** Which Persian translation of *The Idiot* should I buy?\n>\n> **Agent:** *calls* `ik_search(\"ابله\")`, then `ik_editions(858, in_stock_only=true)`\n>\n> Soroush Habibi's (نشر چشمه) is rated 4.17 by 82 readers and costs 2,090,000 Toman; Mehri Ahi's (خوارزمی) has 4.06 from\n> 40 votes at 3,705,000. The Negah edition (رضا ستوده) is rated 2.87 by 15 readers.\n\n## What it can do\n\n- **Search** books, authors and translators, publishers and categories by name\n- **Compare editions**: every translation and publisher edition of a book with its own rating, votes, price, discount, stock, pages, year, ISBN, size and cover type; sort by rating, price or pages\n- **Read comments**: reader comments with date, likes, the edition they refer to and replies, 20 per page\n- **Author and translator pages**: biography and all credited books, with sort and in-list search\n- **Publisher catalogue**: a publisher's books, best sellers first\n- **Browse lists**: bestsellers, newest, recommended, award and genre lists with sort, in-list search and sub-category filters\n- **Read-only by design**: no login, no ordering\n\nExample prompts:\n\n- \"Compare the Persian translations of *Crime and Punishment* by rating and price.\"\n- \"What do readers say about Soroush Habibi's translation of *The Idiot*?\"\n- \"What else has Mehri Ahi translated?\"\n- \"Top bestsellers in Russian literature on Iranketab.\"\n- <span dir=\"rtl\">بهترین ترجمهٔ «جنایت و مکافات» کدام است؟</span>\n- <span dir=\"rtl\">پرفروش‌ترین کتاب‌های نشر خوارزمی را بگو.</span>\n\n## Quick start\n\nYou need [uv](https://docs.astral.sh/uv/getting-started/installation/). No API key or account.\n\n<details open>\n<summary><b>Claude Code</b></summary>\n\n```bash\nclaude mcp add iranketab -- uvx iranketab-mcp\n```\n</details>\n\n<details>\n<summary><b>Claude Desktop</b></summary>\n\nSettings → Developer → Edit Config, then add:\n\n```json\n{\n  \"mcpServers\": {\n    \"iranketab\": { \"command\": \"uvx\", \"args\": [\"iranketab-mcp\"] }\n  }\n}\n```\n</details>\n\n<details>\n<summary><b>Cursor</b></summary>\n\nAdd the Claude Desktop block above to `~/.cursor/mcp.json` (or `.cursor/mcp.json` in a project).\n</details>\n\n<details>\n<summary><b>VS Code (Copilot agent mode)</b></summary>\n\nAdd to `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"iranketab\": { \"type\": \"stdio\", \"command\": \"uvx\", \"args\": [\"iranketab-mcp\"] }\n  }\n}\n```\n</details>\n\n<details>\n<summary><b>Codex CLI</b></summary>\n\n```bash\ncodex mcp add iranketab -- uvx iranketab-mcp\n```\n</details>\n\n<details>\n<summary><b>Anything else</b></summary>\n\nIt is a standard stdio MCP server: run `uvx iranketab-mcp`, or `pip install iranketab-mcp` and run `iranketab-mcp`.\n</details>\n\n## Tools\n\nBook ids (`858`), profile ids (`1059`), publisher ids (`35`) and category ids (`209`) come from `ik_search`, from the\nlists and from earlier results. A book id stands for the work; its editions are the different translations.\n\n| Tool | What it does |\n|---|---|\n| `ik_search` | Search Iranketab by name and return matching books, authors/translators, publishers or categories with their ids |\n| `ik_book` | Read one book (a work): title, authors, categories, introduction, review count and a short list of every edition |\n| `ik_editions` | Compare every translation and publisher edition of one book side by side: rating, votes, price, pages, year, ISBN |\n| `ik_reviews` | Read reader comments about a book, 20 per page, newest first, with the publisher/edition when the reader named one |\n| `ik_profile` | Read an author's or translator's profile (name, biography) and the books they wrote or translated |\n| `ik_publisher_books` | List the books of one publisher (انتشارات) on Iranketab, best sellers first by default |\n| `ik_browse` | List books of a category, bestseller list or award list, with sort, in-list search and sub-category filters |\n| `ik_categories` | List Iranketab's menu categories, or the sub-category filter groups of one category |\n| `ik_book_extras` | Read what else a book page offers: awards, series, praise quotes, excerpts, author bio, related books and articles |\n| `ik_recommend` | Suggest books to read next from books the reader liked, using Iranketab's own recommender |\n| `ik_lists` | List Iranketab's literary prizes, best-of lists, book series, countries, genres or literary movements with ids |\n| `ik_articles` | Find articles on Iranketab's blog (book reviews, author profiles, reading lists), by search or newest first |\n| `ik_article` | Read one Iranketab blog article as plain text, with the book and author ids it links to |\n\nAll 13 tools are annotated `readOnlyHint: true`.\n\n## How it works\n\n```text\n  AI agent  (Claude, Cursor, Copilot, ...)\n      │\n      │  MCP over stdio\n      ▼\n  iranketab-mcp  (runs on your machine)\n      │\n      │  HTTPS\n      └──────▶  www.iranketab.ir   server-rendered pages + the site's list and comment JSON calls\n```\n\n`iranketab-mcp` runs locally and reads the same public pages and list calls the iranketab.ir site uses, with no hosted\nserver in between and no API key. Requests go out through a Chrome-impersonating client. It makes at most 2 requests\nat a time with a little jitter, keeps answers for 3 minutes, retries a failed request up to twice, and only talks to\n`www.iranketab.ir`. It only reads.\n\n## Good to know\n\n- **Ratings are per edition.** An edition with 1 vote and 4.75 stars is not better than one with 80 votes and 4.17; `ik_editions` sorts editions with 3+ votes first.\n- **Stock and prices are live** and change; prices are Toman, `list_price` is before discount.\n- **Comments cover the whole work.** `publisher` and `edition_id` appear only when the reader chose an edition.\n- **Lists lack stock and ratings.** `ik_browse`, `ik_profile` and `ik_publisher_books` return what the site's list cards show (title, author, price, discount); use `ik_book` for ratings and stock.\n- **Page sizes** are fixed by the site: 24 books for categories and profiles, 18 for publishers, 20 comments.\n- **Search is the site's own** (at most 100 hits, one per matching edition). Misspellings are not corrected.\n- **Persian data.** Digits are returned as ASCII digits; text is as Iranketab has it. Comments are user content, quotes not instructions.\n- **What it does not do:** cart, orders, wishlists, posting comments, blog articles, e-books.\n\n## FAQ\n\n<details>\n<summary><b>Is there an Iranketab API?</b></summary>\n\nIranketab has no public developer API. `iranketab-mcp` is an unofficial MCP server with 8 read-only tools that reads\nthe same public pages and list calls the iranketab.ir site uses.\n</details>\n\n<details>\n<summary><b>Does it need an Iranketab account or key?</b></summary>\n\nNo. Install it with `uvx iranketab-mcp` and it works.\n</details>\n\n<details>\n<summary><b>How do I find the best translation of a foreign book?</b></summary>\n\nAsk \"which Persian translation of X is best?\". The agent calls `ik_search` and `ik_editions` (rating and votes per\ntranslation) and `ik_reviews` for what readers say.\n</details>\n\n<details>\n<summary><b>Do I need an Iranian IP or a proxy?</b></summary>\n\nNo. It was tested from an Iranian line and from a Turkish IP. If requests are blocked from your network, set\n`IRANKETAB_MCP_PROXY` to an HTTP proxy. System proxy variables are ignored on purpose.\n</details>\n\n<details>\n<summary><b>How is it different from fidibo-mcp, taaghche-mcp or 30book-mcp?</b></summary>\n\nThose read e-book and audiobook platforms. Iranketab sells printed books, and this server's strength is per-translation\nratings, comments and publisher editions.\n</details>\n\n<details>\n<summary><b>How do I debug what the agent sees?</b></summary>\n\n```bash\nnpx @modelcontextprotocol/inspector uvx iranketab-mcp\n```\n</details>\n\n## Configuration\n\n| Variable | Default | Meaning |\n|---|---|---|\n| `IRANKETAB_MCP_PROXY` | unset | Optional HTTP proxy URL for the Iranketab requests; system proxy settings are ignored. A comma-separated list is used one at a time: the next proxy takes over when one is blocked or cannot connect |\n\n<a id=\"فارسی\"></a>\n\n## فارسی: سرور MCP فروشگاه ایران کتاب\n\n<div dir=\"rtl\">\n\n**سرور iranketab-mcp** یک سرور MCP غیررسمی و فقط‌خواندنی برای [ایران کتاب](https://www.iranketab.ir) است. دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و بقیه) همان اطلاعاتی را می‌بیند که سایت به هر بازدیدکننده نشان می‌دهد.\n\n**چه کارهایی می‌کند**\n\n- **جست‌وجوی** کتاب، نویسنده و مترجم، ناشر و دسته‌بندی.\n- **مقایسهٔ ترجمه‌ها و چاپ‌ها**: برای هر ترجمه امتیاز، تعداد رأی، قیمت، تخفیف، موجودی، تعداد صفحه، سال و شابک.\n- **نظرهای کاربران** با تاریخ، تعداد لایک و پاسخ‌ها.\n- **صفحهٔ نویسنده و مترجم** با زندگی‌نامه و فهرست کتاب‌ها، و **کتاب‌های هر ناشر**.\n- **پرفروش‌ها و تازه‌ها** و فهرست‌های جایزه، با مرتب‌سازی و فیلتر دسته‌بندی.\n\n**نکته‌ها**\n\n- فقط‌خواندنی است: وارد حساب نمی‌شود، سفارش نمی‌دهد و نظر ثبت نمی‌کند.\n- امتیازها برای هر چاپ جداست؛ به تعداد رأی هم نگاه کنید.\n- کلید API لازم نیست. اگر شبکهٔ شما درخواست‌ها را مسدود کرد، `IRANKETAB_MCP_PROXY` را روی یک پراکسی HTTP بگذارید.\n\n**نصب** (اول [uv](https://docs.astral.sh/uv/getting-started/installation/) را نصب کنید). در Claude Code:\n\n</div>\n\n```bash\nclaude mcp add iranketab -- uvx iranketab-mcp\n```\n\n<div dir=\"rtl\">\n\nمثال: «بهترین ترجمهٔ ابله کدام است؟» یا «پرفروش‌ترین کتاب‌های ادبیات روسیه».\n\n</div>\n\n## Disclaimer\n\nUnofficial; not affiliated with Iranketab. It reads public pages only. Iranketab's names and content belong to their owners.\n\n## License\n\nMIT, see [LICENSE](LICENSE). Made by [Sepehr Radmard](https://github.com/sepehr071) ([LinkedIn](https://www.linkedin.com/in/sepehr-radmard)).\n"}