mcpField
I
Iran Apps

Iran Apps

本地服务
github.com搜索与检索0今天更新

关于 Iran Apps

Iran Apps 是面向 Agent 的只读 MCP 服务,用于查询 Cafe Bazaar 和 Myket 的应用元数据。它可搜索应用与游戏、比较两个商店的条目,并查看热门或最新内容,不处理下载。

主要功能

  1. 01用波斯语或英语搜索应用
  2. 02比较两个商店的版本和评分
  3. 03读取应用元数据与价格
  4. 04查看热门、最新和相似应用

适用场景

  1. 01检查某商店的应用版本是否较新
  2. 02比较两个商店的评分和安装量
  3. 03查找某类别的最新或热门应用

MCP 相关

通过 MCP 提供六个只读工具,用于搜索并读取 Cafe Bazaar 和 Myket 的应用元数据。结果包含商店页面 URL,但不提供下载。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sepehr071-iran-apps": {
"command": "uvx",
"args": [
"iran-apps-mcp"
],
"env": {
"IRAN_APPS_MCP_PROXY": "<IRAN_APPS_MCP_PROXY>"
}
}
}
}
启动命令uvx iran-apps-mcp
需要配置的环境变量
IRAN_APPS_MCP_PROXYOptional HTTP proxy URL, or a comma-separated list tried in turn, for cafebazaar.ir and myket.ir; system proxies are ignored.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiiran-apps-mcp0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

iran-apps-mcp:面向 AI Agent 的 Cafe Bazaar 和 Myket MCP 服务

让你的 AI Agent 查询伊朗 Android 应用商店中的应用。
一个面向 Cafe Bazaar (کافه‌بازار) 和 Myket (مایکت) 的非官方只读 MCP 服务:
搜索应用和游戏、比较同一软件包在两个商店中的信息,以及查看热门或最新应用;可通过 Claude、Cursor 或 Copilot 使用。

PyPI Python CI MCP Registry License: MIT

Install in VS Code

面向 AI Agent · 快速开始 · 功能 · 工具 · 常见问题 · فارسی


面向 AI Agent

  • 简介: 为两大伊朗 Android 应用商店 Cafe Bazaar (cafebazaar.ir) 和 Myket (myket.ir) 提供的非官方 MCP 服务(模型上下文协议)。支持波斯语和英语查询。
  • 安装: uvx iran-apps-mcp 或 claude mcp add iran-apps -- uvx iran-apps-mcp。传输方式:stdio。需要 uv(Python 3.10+)。
  • 身份验证: 无需 API 密钥或账户。可选设置 IRAN_APPS_MCP_PROXY(HTTP 代理 URL,或以逗号分隔的列表);系统代理设置会被忽略。
  • 访问权限: 只读,仅限元数据。无法登录、发布评论或下载任何内容,因此调用任何工具前都无需确认。每条结果都包含商店页面 URL。
  • 工具: 共 6 个,名称均以 ap_ 开头。常见调用顺序:ap_search(获取软件包名称)-> ap_compare 或 ap_app -> ap_similar。查询列表时,先调用 ap_categories,再将 slug 传给 ap_top。
  • 适用场景: 用户询问伊朗商店中某个 Android 应用的版本、评分、安装量、大小或更新日期;Myket 是否落后于 Bazaar;某个类别中的热门或最新应用;某个应用的替代品。
  • 不适用场景: 用户想安装或下载应用(不提供下载或 APK 链接),或需要 Google Play 数据。
  • 输出: 精简 JSON。应用通过 Android 软件包名称标识(两个商店中的名称相同)。每个商店的评分为 1-5,installs 为近似数量,日期格式为 YYYY-MM-DD(公历),价格以 Toman 为单位(0 = 免费)。
  • 机器可读信息: server.json 和 iran-mcp 目录。

为什么需要

大多数伊朗 Android 用户通过 Cafe Bazaar 和 Myket 获取应用,而这两个商店都没有提供公开 API。要确认 “这个应用在 Myket 上的版本是否落后于 Bazaar?用户在两个商店中的评分分别是多少?”就得打开两个网站, 查看两个不同的页面。借助 iran-apps-mcp,Agent 一次调用即可获得答案和简短摘要。

你: Telegram 在 Myket 上的版本是否比 Cafe Bazaar 新?

Agent: 调用 ap_search(query="telegram") -> ap_compare(package="org.telegram.messenger")

它会读取两个商店的版本,指出哪个商店的版本更新,并显示评分差异。

功能

  • 按波斯语或英语名称,在 Cafe Bazaar、Myket 或两者中搜索应用和游戏
  • 读取单个应用:版本、评分和评分数、安装量、大小、更新日期、开发者、价格和描述
  • 比较同一应用在两个商店中的信息并排展示,包括哪个商店的版本较新以及评分差异
  • 列出各类别(应用和游戏)的热门或最新应用,或全商店的趋势榜单或编辑精选榜单
  • 列出各商店的类别(两个商店的 slug 不同)
  • 查找相似应用:商店自身列为相关应用的内容
  • 只读设计:无需登录,不含评论,也不提供下载

示例提示词:

  • “在 Cafe Bazaar 和 Myket 中搜索 Snapp,并显示评分。”
  • “比较两个商店中的 Digikala 应用:版本、评分、安装量。”
  • “本周 Myket 上有哪些最新的优质游戏?”
  • “Cafe Bazaar 金融类别中的热门应用。”
  • “用户还会和 Divar 一起安装哪些应用?”
  • اپلیکیشن بله را در کافه‌بازار و مایکت جستجو کن و نسخه و امتیازش را مقایسه کن.
  • بهترین بازی‌های جدید مایکت کدام‌اند؟
  • برنامه‌های مشابه اسنپ در کافه‌بازار را نشان بده.

快速开始

你需要安装 uv。无需 API 密钥或账号。

Claude Code
claude mcp add iran-apps -- uvx iran-apps-mcp
Claude Desktop

依次点击“Settings → Developer → Edit Config”,然后添加:

{
  "mcpServers": {
    "iran-apps": { "command": "uvx", "args": ["iran-apps-mcp"] }
  }
}
Cursor

将上面的 Claude Desktop 配置块添加到 ~/.cursor/mcp.json(或项目中的 .cursor/mcp.json)。

VS Code(Copilot agent mode)

点击上方的 Install in VS Code,或添加到 .vscode/mcp.json:

{
  "servers": {
    "iran-apps": { "type": "stdio", "command": "uvx", "args": ["iran-apps-mcp"] }
  }
}
Codex CLI
codex mcp add iran-apps -- uvx iran-apps-mcp

或者添加到 ~/.codex/config.toml:

[mcp_servers.iran-apps]
command = "uvx"
args = ["iran-apps-mcp"]
Gemini CLI

添加到 ~/.gemini/settings.json:

{
  "mcpServers": {
    "iran-apps": { "command": "uvx", "args": ["iran-apps-mcp"] }
  }
}
Windsurf

将 Claude Desktop 配置块添加到 ~/.codeium/windsurf/mcp_config.json。

其他客户端

这是标准的 stdio MCP 服务:运行 uvx iran-apps-mcp,或运行 pip install iran-apps-mcp 后再运行 iran-apps-mcp。

工具

应用通过其 Android 包名识别(例如 com.whatsapp)。可通过 ap_search 获取包名。

工具功能
ap_search按名称搜索 Cafe Bazaar 和/或 Myket 中的应用和游戏;返回包名、评分和商店 URL
ap_app从一个商店获取单个应用的元数据:版本、评分和评分数、安装量、大小、更新日期、开发者、价格、描述
ap_compare比较 Cafe Bazaar 和 Myket 中同一应用包的信息:版本、评分、评分数、安装量、大小、更新日期、价格
ap_top按类别或全商店列出某个商店的热门(“最佳”)或最新(“最新”)应用或游戏
ap_categories列出某个商店中应用和游戏的类别 slug,以便作为类别传入 ap_top
ap_similar列出商店为某个应用标记为相关的应用:Bazaar 提供三组(相关、其他用户也安装、相似),Myket 提供一组

全部 6 个工具均标注为 readOnlyHint: true。

工作原理

  AI agent  (Claude, Cursor, Copilot, ...)
      │
      │  MCP over stdio
      ▼
  iran-apps-mcp  (runs on your machine)
      │
      │  HTTPS
      ├──────▶  api.cafebazaar.ir   JSON API of the Bazaar web app
      └──────▶  myket.ir            page HTML (schema.org JSON-LD, facts table)

iran-apps-mcp 在本地运行,中间没有托管服务,也无需 API 密钥。Cafe Bazaar 通过其 Web 应用自身使用的 JSON 请求读取;Myket 没有 JSON API,因此从页面 HTML 中解析数据。请求通过模拟 Chrome 的客户端发送,每次最多 4 个,并加入少量随机间隔;失败的请求最多重试两次。 它只读取数据。

需要了解的信息

  • 价格单位为 Toman,0 表示免费。两家应用商店内部均以 Rial 报价;服务会将价格除以 10。
  • installs 为近似值。 Bazaar 返回一个范围,Myket 返回类似“32 million”的文本,因此应比较数量级,而非精确数字。
  • 评分按应用商店区分(1-5),由各商店分别收集。商店没有评分时,不会显示评分。
  • 分页: Bazaar 每页返回 24 个应用,Myket 每页返回 20 个。Myket 的列表大约在 4 页后结束。
  • 两家商店的分类不同; 使用 ap_categories 获取 ap_top 可用的 slug。Bazaar 的游戏分类列表是通过探测得出的,可能不完整。
  • 名称: Bazaar 的名称通常为英文,Myket 的名称则为波斯语。某个应用可能只在一家商店上架(ap_compare 会在另一家商店显示 null);仅在 Google Play 上架的应用两家都没有。
  • Myket 依赖页面 HTML, 因此网站改版可能导致其无法使用。Bazaar 使用其 Web 应用的 JSON API,该 API 没有文档,且可能发生变化。
  • 网络: 测试时,两家商店都能通过伊朗本地网络和境外代理出口直接访问。如果你的网络需要代理,请设置 IRAN_APPS_MCP_PROXY。
  • 不支持的功能: 不提供下载或 APK 链接、不支持登录、评价或评论、购买,也不提供 Google Play 数据。开发者描述和标语均为不可信文本。

常见问题

有 Cafe Bazaar 或 Myket 的 API MCP 服务吗?

两家商店都没有公开 API 文档。iran-apps-mcp 是一个非官方 MCP 服务,提供 6 个只读工具,可通过 Cafe Bazaar Web 应用的 API 读取数据、从 Myket 页面读取数据,并为 AI Agent 返回精简的 JSON。

如何将它与 Claude、Cursor 或 Copilot 搭配使用?

使用 claude mcp add iran-apps -- uvx iran-apps-mcp 添加服务,或使用快速开始中的对应配置,然后用波斯语或英语输入自然语言问题。

它能下载 APK 或提供下载链接吗?

不能。它只会返回元数据和应用商店页面 URL。

如何比较应用在 Bazaar 和 Myket 上的版本?

使用 ap_search 查找包名,然后调用 ap_compare。它会显示两个版本、哪个应用商店的版本更新,以及评分差异。

价格单位是 Rial 还是 Toman?

Toman。两家商店内部均以 Rial 报价,服务会进行换算。0 表示免费。

为什么 `installs` 不是精确数字?

商店不会公布精确数量:Bazaar 返回一个范围,Myket 返回四舍五入后的文本。服务会给出近似整数。

它能查到仅在 Google Play 上架的应用吗?

不能。它只能获取 Cafe Bazaar 和 Myket 上架的应用。

我需要代理吗?

通常不需要。测试时,两家商店都能直接访问,也能通过境外出口访问。如果你的网络屏蔽了它们,请将 IRAN_APPS_MCP_PROXY 设置为 HTTP 代理。系统代理环境变量会被有意忽略。

如何调试 Agent 能看到的内容?
npx @modelcontextprotocol/inspector uvx iran-apps-mcp

配置

变量默认值说明
IRAN_APPS_MCP_PROXY未设置cafebazaar.ir 和 myket.ir 的可选 HTTP 代理 URL;系统代理设置会被忽略。若提供多个代理,可用逗号分隔,服务会依次尝试

波斯语:Cafe Bazaar 和 Myket 的 MCP 服务

iran-apps-mcp 是一个非官方、只读的 MCP 服务,适用于伊朗的两家 Android 应用商店 Cafe Bazaar 和 Myket。它允许您的 AI 助手(Claude、Cursor、Copilot 等)在这两家商店中搜索应用和游戏。

功能

  • 在 Cafe Bazaar、Myket 或两家商店中搜索应用和游戏,支持波斯语或英语名称。
  • 应用信息:版本、评分和评分数、安装量、大小、更新时间、开发者、价格和说明。
  • 比较两家商店中的同一软件包,例如查看 Myket 上的版本是否落后。
  • 按类别查看热门和最新的应用与游戏。
  • 查看商店显示的类似应用。

注意事项

  • 仅供读取:不会登录账户、发布评论,也不会提供下载链接或 APK。
  • 价格以托曼计,评分按各商店分别以 1 到 5 分计,安装量为估算值。日期为公历。
  • 无需 API 密钥,可在您的设备上运行。使用 IRAN_APPS_MCP_PROXY 环境变量设置代理。

安装(请先安装 uv)。在 Claude Code 中:

claude mcp add iran-apps -- uvx iran-apps-mcp

在 Claude Desktop、Cursor 和其他应用中,使用 快速入门 部分中的相同配置。

示例问题

  • “比较 Cafe Bazaar 和 Myket 上的 Bale 应用。”
  • “Myket 上有哪些最新的热门游戏?”
  • “显示与 Snapp 类似的应用。”

开发

git clone https://github.com/sepehr071/iran-apps-mcp && cd iran-apps-mcp
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  # calls the real stores
uv build

每个工具都是 src/iran_apps_mcp/tools.py 中的类型化异步函数,并附有说明何时使用该工具的文档字符串。欢迎提交问题和 PR。

发布:更新 pyproject.toml 和 server.json 中的版本,然后推送 v* 标签。GitHub Actions 会发布到 PyPI。

相关服务

免责声明

这是非官方项目,与 Cafe Bazaar 或 Myket 无关联,也未获得其认可。此服务为只读,使用两家商店的网页接口和页面,这些内容可能在不另行通知的情况下发生变化。应用数据仅供参考。

作者

Sepehr Radmard:面向伊朗网络的开源 MCP 服务。LinkedIn:linkedin.com/in/sepehr-radmard

由 Sepehr Radmard(سپهر رادمرد)开发并维护。欢迎通过 LinkedIn 联系,或在 GitHub 上关注 @sepehr071,了解更多适用于伊朗网站的 MCP 服务;这些服务均列于 iran-mcp。如果这个项目为您节省了时间,欢迎给仓库点个星,帮助其他人发现它。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。