iran-apps-mcp: Cafe Bazaar and Myket MCP server for AI agents
Unofficial, read-only MCP server for the two big Iranian Android app stores, Cafe Bazaar (cafebazaar.ir, کافه بازار) and Myket (myket.ir, مایکت).
Search apps and games in both stores, read version, rating, installs and size, compare the same package across the
stores, and list the best or newest apps per category, from Claude, Cursor or Copilot.
Quick start · For AI agents · Tools · Notes · فارسی
For AI agents
- What: unofficial MCP server for Cafe Bazaar and Myket. Queries work in Persian and English; prices are in Toman.
- Install:
claude mcp add iran-apps -- uvx iran-apps-mcp(stdio transport, needs uv and Python 3.10+). - Auth: none. Optional
IRAN_APPS_MCP_PROXYsets an HTTP proxy for requests to both stores. - Access: read-only and metadata only. No login, reviews, downloads or APK links; every result carries the store page URL.
- Tools: 6, all prefixed
ap_. Typical sequence:ap_search(get the package name) →ap_compareorap_app→ap_similar. - Use when: looking up an Android app's version, rating, installs or update date on the Iranian stores; checking whether Myket lags Bazaar; finding top or new apps in a category; finding alternatives to an app.
- Do not use when: the user wants to install or download an app (no links), or needs Google Play data.
- Output: compact JSON. An app is identified by its Android package name (same in both stores). Ratings are 1-5 per store,
installsis an approximate count, dates areYYYY-MM-DD, prices Toman (0 = free). - Machine-readable:
server.json, and the catalog of all Iranian MCP servers at awesome-iran-mcp.
Quick start
claude mcp add iran-apps -- uvx iran-apps-mcp
Or in any MCP client config:
{ "mcpServers": { "iran-apps": { "command": "uvx", "args": ["iran-apps-mcp"] } } }
Both stores answer directly from Iran and from most foreign IPs. If your network needs a proxy, set
IRAN_APPS_MCP_PROXY=http://host:port (a comma list is tried in turn). System proxy variables are ignored.
Tools
| Tool | What it does |
|---|---|
ap_search |
Search one or both stores by name; Bazaar cards carry rating, category, installs and price, Myket cards name and tagline |
ap_app |
One app in one store: version, rating and count, installs, size, update date, developer, price, description |
ap_compare |
One package in both stores side by side, plus which store has the newer version and the rating difference |
ap_top |
Best or new apps and games per category (or the store-wide trending/editorial list) |
ap_categories |
Category slugs per store for ap_top (they differ between the stores) |
ap_similar |
Related apps shown by the store (Bazaar: related, others also installed, similar; Myket: related) |
Notes
- Metadata only. The server never downloads an APK or resolves a download link.
installsis rounded (Bazaar returns a range such as 54,000,000, Myket a text such as "32 million"), so compare magnitudes, not exact numbers. Ratings are collected separately by each store.- Myket search returns 20 apps per page and its lists stop after about 4 pages; Bazaar returns 24 per page.
- Myket exposes no JSON API, so its data comes from page HTML (schema.org JSON-LD and the facts table); a site redesign can break it. Bazaar uses the JSON API of its own web app.
- Developer descriptions and taglines are untrusted text.
Development
uv sync
uv run ruff check . && uv run ruff format --check .
uv run python -m pytest -q # offline unit tests on recorded fixtures
uv run python -m pytest -m live -q # one live test per tool
فارسی
سرور MCP غیررسمی و فقطخواندنی برای دو فروشگاه برنامهٔ اندروید ایران، کافهبازار و مایکت. جستجوی برنامه و بازی در هر دو فروشگاه، نسخه، امتیاز، تعداد نصب و حجم، مقایسهٔ یک بسته در دو فروشگاه (مثلاً اینکه نسخهٔ مایکت عقب است یا نه) و فهرست برترین و جدیدترین برنامهها به تفکیک دسته. فقط اطلاعات برنامه برمیگردد؛ لینک دانلود یا APK داده نمیشود.
نصب: claude mcp add iran-apps -- uvx iran-apps-mcp
License
MIT
Metadata
Release files for iran-apps-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| iran_apps_mcp-0.1.0.tar.gz | 106.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iran_apps_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 126.7 kB
Release files / iran_apps_mcp-0.1.0.tar.gz
| Download URL | iran_apps_mcp-0.1.0.tar.gz |
|---|---|
| Size | 106.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8787383c49e8875ee204fcc2686ecabcaef03aa6f9ebe73f5e4f5921da98f509
|
|
BLAKE2b-256 checksum How to use checksums |
a6c44f96dd0e00aae2490e937bfe15aa7bce85b99fb104424ac95042f8b8e67b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logRelease files / iran_apps_mcp-0.1.0-py3-none-any.whl
| Download URL | iran_apps_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 20.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
218bd0de854bac744d77b57942d4279129e4b44177e2b8ba601f7d68197935d6
|
|
BLAKE2b-256 checksum How to use checksums |
573cb1b6559abb3a264fa544cd0156c1b9f04f9b427b6bc73dd86952b6cc70f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logSecurity for iran-apps-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for iran_apps_mcp-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.