iran-apps-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@iran-apps-mcpcompare Telegram on Cafe Bazaar vs Myket"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: snapp-mcp
Quick start
claude mcp add iran-apps -- uvx iran-apps-mcpOr 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 |
| Search one or both stores by name; Bazaar cards carry rating, category, installs and price, Myket cards name and tagline |
| One app in one store: version, rating and count, installs, size, update date, developer, price, description |
| One package in both stores side by side, plus which store has the newer version and the rating difference |
| Best or new apps and games per category (or the store-wide trending/editorial list) |
| Category slugs per store for |
| 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
Available Tools
6 toolsap_appApp detailsARead-onlyIdempotent
Get one app's metadata from one store: version, rating and rating count, installs, size, update date, developer, price, description.
Bazaar also gives version_code, a 1-5 star histogram, changelog and permission count; Myket also the first publish date and developer_id. installs is approximate (a rounded range). Prices are Toman, 0 = free. Metadata only: no APK download. To see both stores at once use ap_compare.
| Name | Required | Description | Default |
|---|---|---|---|
| store | No | 'bazaar' (Cafe Bazaar) or 'myket'. | bazaar |
| package | Yes | Android package name, the id in store URLs, e.g. 'ir.mci.ecareapp' or 'com.whatsapp'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description's job is to add context beyond that, which it does: store-dependent field availability, approximate/rounded installs, currency in Toman with 0 = free, and no binary download. It stops short of error behavior (e.g., unknown package) or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and return fields, then progressively adds store-specific and unit caveats; every sentence carries information. The middle sentence is dense and list-like, which slows scanning slightly, but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry the return-value burden, and it does so well: field list, store-specific extras, precision caveats, and currency semantics. Remaining gaps are minor (failure modes, whether fields can be null for a given store).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description earns extra credit by explaining the consequence of the store enum value (Bazaar adds version_code, histogram, changelog, permission count; Myket adds first publish date and developer_id). The package parameter's meaning is only implied by 'one app's metadata'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Get one app's metadata from one store') and immediately enumerates the returned fields, so the agent knows exactly what the tool produces. It also explicitly distinguishes itself from ap_compare and from APK-download tools, making sibling selection unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It routes the agent to an alternative with a condition ('To see both stores at once use ap_compare') and states a scope exclusion ('Metadata only: no APK download'). It does not, however, contrast with ap_search or ap_similar, which occupy adjacent lookup use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ap_categoriesCategoriesARead-onlyIdempotent
List the category slugs of a store for apps and games, to pass as ap_top category.
Slugs differ between the stores (Bazaar 'tools' = Myket 'productivity'). Myket names are Persian. The Bazaar game list is the set that was verified to return results, not necessarily every game category.
| Name | Required | Description | Default |
|---|---|---|---|
| store | Yes | 'bazaar' or 'myket'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real context beyond them: slugs are store-specific (Bazaar 'tools' = Myket 'productivity'), Myket names are Persian, and the Bazaar game list is not guaranteed complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what it does and the consumer, followed by only the caveats an agent actually needs (store divergence, Persian naming, non-exhaustive game list). Nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining the return and does state it returns category slugs plus important caveats about store divergence. It does not describe the concrete return shape (list of strings vs. objects with names), which is the one remaining gap for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'store' parameter is an enum already documented in the schema, so the baseline is 3. The description reinforces store-specific behavior but adds no syntax or format detail about the parameter itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the category slugs of a store') and ties the output to its downstream consumer ('to pass as ap_top category'), which cleanly separates it from ap_top, ap_search, and the other siblings. An agent knows exactly what this returns and why.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear usage context: call this to obtain valid category slugs before invoking ap_top, and it warns that the Bazaar game list is a verified subset rather than exhaustive. It stops short of explicitly naming a 'do not use this for X' exclusion, so it falls just under the top bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ap_compareCompare storesARead-onlyIdempotent
Compare one package across Cafe Bazaar and Myket: version, rating, rating count, installs, size, update date, price.
Returns each store's figures (null when the app is not listed there) and a diff: which store has the newer version, the rating difference (bazaar minus myket). Use for "is the app up to date on Myket?" or "which store rates it higher". Ratings are not shared between stores.
| Name | Required | Description | Default |
|---|---|---|---|
| package | Yes | Android package name, the id in store URLs, e.g. 'ir.mci.ecareapp' or 'com.whatsapp'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower, yet the description adds genuinely non-obvious behavior: null values when the app is absent from a store, the diff direction (bazaar minus myket), and the caveat that ratings are not shared between stores. It does not mention auth, rate limits, or error behavior, so it falls short of a full behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the compared fields, then the return shape and diff semantics, in two tight sentences. Every clause carries information; nothing is redundant with the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain the return value, and it does: per-store figures plus a diff identifying the newer version and the rating delta. Combined with full annotation coverage, an agent has everything needed to call and interpret this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, including format and examples ('ir.mci.ecareapp'), so the schema carries the semantics. The description only refers to it obliquely as "one package" and adds no syntax or constraint detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compare) and resource (one package across Cafe Bazaar and Myket) and enumerates exactly which fields are compared: version, rating, rating count, installs, size, update date, price. This is clearly distinguishable from siblings like ap_app (single-store detail) or ap_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete use-case triggers ("is the app up to date on Myket?", "which store rates it higher"), which tells the agent when this tool is the right pick. It stops short of explicitly naming when NOT to use it or pointing to ap_app/ap_search as the single-store alternative, so it is clear context rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ap_searchSearch appsARead-onlyIdempotent
Search Cafe Bazaar and/or Myket for apps and games by name; returns package names, ratings and store URLs.
Use first to find a package name, then ap_app for details or ap_compare for both stores. Bazaar cards carry rating, category, approximate installs and a price when paid; Myket cards only name and tagline (ap_app has the rest).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based result page (Bazaar 24 per page, Myket 20). | |
| limit | No | Max apps returned per store. | |
| query | Yes | Search text, Persian or English, e.g. 'تاکسی' or 'snapp'. | |
| store | No | 'bazaar' (Cafe Bazaar), 'myket' or 'both' (default, results side by side). | both |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds genuinely useful non-annotation detail: what a result card contains and the asymmetry between stores ('Myket cards only name and tagline (ap_app has the rest)'), which sets expectations for result completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what it does and what it returns, followed by routing and per-store caveats; every sentence carries information. The clause 'ap_app has the rest' is slightly parenthetical but still earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must convey what comes back; it names package names, ratings and store URLs and then qualifies store-specific payload differences. Pagination and limits live in the schema, so the remaining gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including store enum semantics and per-store page sizes, so the schema does the heavy lifting. The description adds only indirect meaning (search is by name, Persian or English is already in the schema), so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search Cafe Bazaar and/or Myket for apps and games by name') plus the scope of each store, and distinguishes itself from siblings by naming ap_app and ap_compare as the follow-up tools. An agent can tell it apart from ap_top/ap_categories without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly prescribes the workflow ('Use first to find a package name, then ap_app for details or ap_compare for both stores'), which is clear routing guidance. It does not cover when an agent should skip search entirely (e.g. ap_top for charts or ap_categories for browsing), so it stops short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ap_similarRelated appsARead-onlyIdempotent
List apps the store shows as related to one app: Bazaar gives three groups (related, others also installed, similar), Myket one.
Use to find alternatives or competitors of an app; then ap_compare or ap_app on a result.
| Name | Required | Description | Default |
|---|---|---|---|
| store | No | 'bazaar' or 'myket'. | bazaar |
| package | Yes | Android package name, the id in store URLs, e.g. 'ir.mci.ecareapp' or 'com.whatsapp'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld). Beyond that, the description discloses a behavioral trait the annotations do not: the per-store variation in returned result groups (three for Bazaar, one for Myket), which materially affects how an agent interprets the output. Error/empty-result behavior is not covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the core behavior and its store-specific nuance come first, and the usage/workflow hint follows. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully explains the shape of the result (grouped related/also-installed/similar) and points to next-step tools, which is what an agent needs to act. Minor gaps remain around result size, pagination, or behavior for an unknown package.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (package, store) documented including an example package name and enum values, so the schema does the heavy lifting. The description adds no syntax or format detail beyond the schema, making 3 the correct baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (related apps for one app), and adds the store-dependent result shape (Bazaar: three groups; Myket: one). This is clearly distinguishable from siblings like ap_search and ap_top without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the use case ('find alternatives or competitors of an app') and the follow-on workflow ('then ap_compare or ap_app on a result'). No explicit when-not-to-use or negative routing against siblings such as ap_search, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ap_topTop and new appsARead-onlyIdempotent
List the top ('best') or newest ('new') apps or games of a store, per category or store-wide.
Store-wide 'best' is Bazaar's trending list or Myket's editorial must-have list (no ranking guarantee). 'new' needs a category. Get slugs from ap_categories (they differ per store). Then ap_app or ap_compare on a package.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'best' = top ranked, 'new' = newest in the category. | best |
| page | No | 1-based page (Bazaar 24 per page, Myket 20, Myket stops after about 4 pages). | |
| type | No | 'app' or 'game': which category list the slug belongs to, and which store-wide list when no category. | app |
| limit | No | Max apps returned. | |
| store | Yes | 'bazaar' or 'myket'. | |
| category | No | Category slug from ap_categories, e.g. 'tools' (Bazaar) or 'productivity' (Myket). Omit for the store-wide list (best only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so the bar is low, and the description adds real context beyond them: store-wide 'best' means Bazaar trending or Myket editorial with no ranking guarantee. It doesn't cover auth needs or result-size/pagination behavior, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then mode/scope caveats and handoffs in three short sentences; every sentence carries information. The parenthetical-heavy style is dense but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with no output schema and fully documented parameters, the description covers mode selection, scope constraints, slug sourcing and next-step routing. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter already carries enum values, defaults, page sizes and the 'best only' store-wide rule. The description adds cross-store slug variability, but much of its parameter meaning (category required for 'new') restates what the schema already documents, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (list top/newest apps or games) and explicitly distinguishes the two modes ('best' vs 'new') and the two scopes (per-category vs store-wide). It also names the sibling tools it hands off to (ap_categories, ap_app, ap_compare), so an agent can separate it from ap_search without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage conditions: 'new' requires a category, slugs come from ap_categories and differ per store, and follow-up goes to ap_app or ap_compare. It does not state when to prefer this over ap_search or ap_similar, so it stops short of full when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.0- First observed
ap_app - First observed
ap_categories - First observed
ap_compare - First observed
ap_search - First observed
ap_similar - First observed
ap_top
TDQS
Scored across 6 tools
Each tool has a distinct role: search finds packages, ap_app fetches single-store details, ap_compare spans both stores, ap_top returns rankings, ap_categories supplies slugs, and ap_similar surfaces related apps. The main mild overlap is between ap_search and ap_top as discovery entry points, but descriptions clearly delineate their use.
All tools share a uniform 'ap_' prefix followed by a short lowercase noun/verb token (ap_search, ap_app, ap_compare, ap_top, ap_categories, ap_similar). No mixed conventions or camelCase deviations.
Six tools form a tight, well-scoped set for a read-only multi-store app explorer. Each tool earns its place with no redundancy or padding.
The surface covers the core read-only lifecycle: discovery (search, top, categories, similar), detail (app) and cross-store comparison (compare). Metadata-only is an explicit design choice, so missing APK download is expected; a review or developer-lookup tool would round it out further.
Maintenance
Related MCP Connectors
App intelligence across Google Play and the App Store: details, reviews, and search in one API.
Live App Store and Google Play data for AI agents: revenue and download estimates for 3.6M+ apps, app search and filters, ASO keyword research, reviews and listing change history. Read-only tools; API key from GetAppNiche (https://getappniche.com/mcp).
Google Play & App Store app data: search, details, reviews, privacy, alternatives, top charts.
Your agent needs app-store data — what an app looks like on the App Store and Google Play, what reviewers say, and what ranks for a search in a given country. **What you can ask for** • "What does this app's store listing look like, and how is it rated?" • "Pull recent reviews for this app and group the complaints." • "What apps rank for this search term in Japan?" • "List the top apps in this category on both stores." • "Compare this app's listing on iOS and Android." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-apps/mcp and sign in with OAuth — there is no key to create or paste. 37 tools: Apple App Store and Google Play app info, app lists, category listings, reviews and store search results, in live and queued forms, with categories, languages and locations for each. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Read the store listing here, then ask the same agent what the app's website ranks for — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
Related MCP Servers
- FlicenseCqualityDmaintenanceEnables querying and retrieving data from App Store and Google Play Store, including app details, reviews, ratings, rankings, permissions, and search capabilities across both iOS and Android platforms.20-
- AlicenseAqualityAmaintenanceEnables AI agents to search Snappfood restaurants and SnappMarket stores across Iran, compare true order costs including packaging and delivery, read menus, minimum orders, ETAs and reviews, and surface live flash deals. All operations are read-only, with no login, basket, ordering or payment access.21878 PyPI33MIT
- AlicenseAqualityBmaintenanceEnables AI agents to compare prices across Iranian online and in-person shops, inspect each seller's offer with warranty and installment details, review roughly a year of price history, score deals, and find the cheapest shop for a whole basket. It is read-only, requires no account or API key, and runs locally for Claude, Cursor or Copilot.261MIT
- AlicenseAqualityBmaintenanceEnables AI agents to search products on Iran's marketplace of independent shops with price, category, shipping and discount filters, find the cheapest in-stock offers, and read product details, shops, categories and customer reviews. It is read-only and needs no authentication, so it can be used straight from Claude, Cursor or Copilot.7MIT