mcpField
D
Digikala

Digikala

本地服务
github.com商业与营销395 天前更新

关于 Digikala

Digikala 是面向 Agent 的非官方只读 MCP 服务,用于比较 Digikala 及其 Fresh 超市的商品和优惠。它整合卖家报价、价格历史、评价和促销信息,支持波斯语与英语查询。

主要功能

  1. 01搜索和筛选商品
  2. 02比较卖家报价与价格
  3. 03查看每日价格历史
  4. 04阅读评价和买家问答
  5. 05浏览促销与 Fresh 商品

适用场景

  1. 01查找符合条件的最低价商品
  2. 02比较商品款式和卖家
  3. 03判断价格是否接近 30 天低点
  4. 04浏览当前优惠和超市折扣

MCP 相关

通过 stdio 向 MCP 客户端提供 23 个只读工具。服务在本机运行,调用 Digikala 的公开 API,无需账户或 API 密钥。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"sepehr071-digikala": {
"command": "uvx",
"args": [
"digikala-mcp"
],
"env": {
"DIGIKALA_MCP_PROXY": "<DIGIKALA_MCP_PROXY>"
}
}
}
}
启动命令uvx digikala-mcp
需要配置的环境变量
DIGIKALA_MCP_PROXYOptional HTTP proxy URL for every request (e.g. one with an Iranian exit if Digikala blocks yours), or a comma-separated list: one is used until it gets blocked or fails to connect, then the next. System proxy settings are ignored.

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

安装包
pypidigikala-mcp0.5.2

工具

23

收录的工具列表 · 更新于 5 天前

参数类型必填说明
pageinteger否页码,从 1 开始(每页 20 件商品)。
sortenum否结果排序方式。relevance | cheapest | most_expensive | best_selling | most_viewed | newest | fastest_delivery | buyers_pick
querystring是商品名称或波斯语、英语词语,例如 'گوشی سامسونگ' 或 'airpods pro'。
colorsany否来自 dk_filters 的颜色 ID,例如 [1]。
brand_idsany否来自 dk_product 的 brand_id 或 dk_brand_products 的 brand.id 的品牌 ID,例如 [18] Samsung、[1662] Xiaomi。
max_priceany否以托曼计的最高价格,例如 50000000。
min_priceany否以托曼计的最低价格,例如 10000000(1000 万托曼)。
attributesany否来自 dk_filters 的功能筛选条件:{属性 ID: [值 ID]},例如 Android 手机为 {2226: [19239]}。同一属性的值按 OR 处理,不同属性按 AND 处理。
seller_typeany否仅显示来自 Digikala 自营、品牌官方卖家、可信卖家或乡村(roosta)卖家的商品。
fast_deliveryboolean否仅显示支持快速(Jet)配送的商品。
in_stock_onlyboolean否仅显示目前可购买的商品。
ready_to_shipboolean否仅显示已在 Digikala 仓库中的商品(可更快发货)。

详细介绍

digikala-mcp:面向 Claude、Cursor 和 Copilot 的非官方 Digikala MCP 服务

digikala-mcp:面向 AI Agent 的 Digikala MCP 服务

让你的 AI Agent 在 Digikala(دیجی‌کالا)上逛逛。
这是面向伊朗最大网店的非官方只读 MCP 服务:搜索商品、比较每位卖家的报价、
查看商品价格历史、阅读评价和问答,还能查看今日的 Incredible Offers;以上操作均可通过 Claude、Cursor 或 Copilot 完成。

PyPI Python CI MCP Registry License: MIT

Install in Cursor Install in VS Code

面向 AI Agent · 原因 · 功能 · 快速开始 · 工具 · 工作原理 · 须知 · 常见问题 · 配置 · فارسی · 开发 · 相关服务


面向 AI Agent

  • 简介: 面向 Digikala(digikala.com,伊朗)及其 Fresh 超市的非官方 MCP 服务(模型上下文协议)。支持波斯语或英语查询,价格以 Toman 计。
  • 安装: uvx digikala-mcp 或 claude mcp add digikala -- uvx digikala-mcp。传输方式:stdio。需要安装 uv(Python 3.10+)。
  • 身份验证: 无需身份验证、API 密钥或账户。可选配置 DIGIKALA_MCP_PROXY(HTTP 代理,也可以是以逗号分隔的代理列表;例如使用伊朗出口节点,以防 Digikala 屏蔽你的连接)。
  • 访问权限: 只读。无需登录,无法使用购物车、结账或付款,因此调用任何工具前均无需确认。
  • 工具: 共 23 个,名称均以 dk_ 开头。可从 dk_find_cheapest、dk_search、dk_best_for_budget、dk_deals 开始。 典型调用顺序:dk_find_cheapest -> dk_product -> dk_price_history。
  • 适用场景: 在 Digikala(包括 Fresh 超市)上查找、比较或评估商品及卖家的价格。
  • 不适用场景: 用户想要购买商品,或需要了解运费(仅在结账时计算),或需要访问任何登录后才能查看的内容。
  • 输出: 精简的 JSON。价格以 Toman 计,评分范围为 0-5(null = 暂无评分)。工具之间传递数字商品 ID(dkp-<id> 中的 <id>)。
  • 网络: 从你的设备直接连接 api.digikala.com。如果每次调用都出现“拒绝请求(HTTP 403)”,请设置 DIGIKALA_MCP_PROXY。
  • 机器可读信息: server.json 和 iran-mcp 目录(TOOLS.md、servers.json、llms.txt)。

为什么

Digikala 上同一款手机会重复出现很多次:不同颜色、内存容量、套装,以及每个商品列表下的一大堆卖家,价格还每天都在变。按“最便宜”排序时,手机壳会排在最前面。想找到真正最便宜的商品,以及今天的价格是否值得入手,需要点很多次。使用 digikala-mcp 的 Agent 只需调用三次:

你: Digikala 上最便宜的 Samsung Galaxy A07 是哪款,现在适合买入吗?

Agent: 调用 dk_find_cheapest(query="samsung a07") → dk_product(product_id=20109389) → dk_price_history(product_id=20109389)

价格型号卖家
42,503,600Galaxy A07 64 GB / 4 GBDigikala(德黑兰当天送达)
44,518,000Galaxy A07 64 GB / 4 GB + 25 W 充电器Sepahan Hamrah Yaghout
46,811,800Galaxy A07 128 GB / 4 GBDigikala

64 GB 型号最便宜,售价 42,503,600,由 Digikala 自营;下一位卖家的报价为 42,918,000。 但现在并不是入手的好时机:黑色款昨天的售价是 34,499,000,本月最低价则是 33,200,000。今天的最佳报价比昨天高出约 23%,因此等一等可能更划算。

来自 2026-10-03 的真实工具输出;价格随时可能变化。价格单位为 Toman。

能做什么

  • 搜索整个商品目录,支持波斯语或英语,并可按价格、品牌、功能(操作系统、存储空间等)、颜色、卖家和快速配送筛选;每条结果都会说明标题是否确实匹配
  • 找到真正最便宜的匹配商品,过滤掉配件,并列出该商品各卖家的报价
  • 按预算挑选最佳商品,根据结合评分人数加权的评分排序,并展示判断依据
  • 一次调用重新检查最多 10 件候选商品:价格、最低报价、库存,以及与 30 天最低价的差距
  • 判断价格,参考约 30 天的每日价格历史和 30 天最低价
  • 浏览类别、品牌、卖家和畅销商品,并按价格、销量、浏览量、上新时间或买家推荐排序
  • 检查质量,查看评价、优缺点、买家问答和卖家信誉
  • 发现优惠:惊喜优惠和超市(Digikala Fresh)折扣
  • 其他功能:规格对比、分期付款方案、Digikala Plus 配送方案、实时黄金和金币价格
  • 设计上仅支持只读操作:无需登录,不使用购物车、不下单、不付款

快速开始

你需要 uv。无需 API 密钥或账户。

Claude Code
claude mcp add digikala -- uvx digikala-mcp
Claude Desktop

设置 → 开发者 → 编辑配置,然后添加:

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

点击上方的 Install in Cursor,或将 Claude Desktop 配置块添加到 ~/.cursor/mcp.json。

VS Code (Copilot agent mode)

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

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

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

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

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

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

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

其他任何客户端

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

然后只需提问:

  • “低于 300 万托曼、评分至少 4 星的最便宜 AirPods 风格耳机是哪款?”
  • “比较一下 Galaxy A07 64 GB 和 128 GB。更大容量的版本值得多花钱吗?”
  • “这个卖家靠谱吗?CGDG9”
  • “今天耳机的超值优惠有哪些?按折扣力度从高到低排列。”
  • “哪些由 Digikala 自营、容量为 256 GB 的 Android 手机价格低于 2000 万托曼?”
  • 超市里最便宜的低脂牛奶多少钱?
  • 最便宜的三星 A07 手机是哪款?现在适合买入吗?
  • 今天耳机有什么超值优惠?

工具

产品 ID 是 digikala.com/product/dkp-<id>/ 链接中的数字。每个列表都会返回紧凑的产品卡片: ID、标题、品牌、价格、折扣、库存、卖家、评分、照片 URL(image)和产品链接。

查找产品(12)
工具功能
dk_search按关键词搜索,并可使用排序、价格、品牌、特征、颜色和卖家筛选;标记标题宽泛匹配的结果
dk_find_cheapest查找符合查询条件且有库存的最低价商品,排除配件,返回一个列表
dk_best_for_budget查找预算范围内评分最高的匹配商品,评分按评价数量加权
dk_suggest自动补全:提供更合适的关键词、类别代码和品牌 ID
dk_filters获取类别或搜索的筛选选项:特征(操作系统、存储空间等)、颜色、品牌、卖家、价格范围
dk_categories查找类别代码和主类别 ID
dk_category_products浏览某个类别,可排序并使用相同的筛选条件,还可选择一个品牌
dk_brand_products浏览某个品牌的产品
dk_seller查看卖家的评分、准时发货率、取消、退货和产品
dk_deals查看惊人优惠或超市优惠,按折扣从高到低排列
dk_best_sellers查看当前畅销商品,可查看全部或按主类别筛选
dk_fresh_search搜索或浏览 Digikala Fresh 超市
产品(8)
工具功能
dk_product查看价格、库存、规格和每位卖家的报价(颜色、保修、配送),按价格从低到高排列
dk_shortlist一次为最多 10 件产品重新查询价格:价格、最低报价、库存、评分、与 30 天最低价的差距
dk_price_history查看每种颜色约 30 天的每日价格,以及最低价和最高价
dk_reviews查看客户评价,包括星级、优缺点和已验证买家标记
dk_questions查看客户问题及其最受认可的回答
dk_similar查看类似产品,例如更便宜的替代品
dk_compare并排比较 2-4 件产品:列出不同的规格以及相同的规格
dk_installments查看产品的 Digipay 信用额度分期方案(额度、每月还款额、期数)
其他(3)
工具功能
dk_plus_plans查看 Digikala Plus 会员方案(免费配送)和权益
dk_gold_prices查看实时 18k 黄金每克价格(每日变化和约 3 个月的变化)以及金币价格
dk_location地址 → 坐标,或坐标 → 地址,并提供 Digikala 城市/省份 ID

所有 23 个工具都标注了 readOnlyHint: true,并返回紧凑的结构化 JSON,不会让 Agent 的上下文被大量信息淹没。

工作原理

  AI agent  (Claude, Cursor, Copilot, ...)
      │
      │  MCP over stdio
      ▼
  digikala-mcp  (runs on your machine)
      │
      │  HTTPS
      └──────▶  api.digikala.com   products, sellers, deals, Fresh supermarket

digikala-mcp 在本地运行,并调用 digikala.com Web 应用使用的相同公共端点。过程中没有 托管服务,不需要 API 密钥,也不会将你的任何信息发送到其他地方。

需要了解的信息

  • 价格单位为托曼。 Digikala API 返回的单位是里亚尔;每个工具都会除以 10,使数值与网站一致。黄金和金币的价格已经是托曼。
  • 评分范围为 0–5,与网站一致(API 中的 0–100 除以 20);null 表示尚未评分。评论星级范围为 1–5。
  • 支持波斯语和英语查询(گوشی سامسونگ、airpods pro)。类别和品牌代码使用英文 slug(mobile-phone、samsung)。
  • 文本搜索中使用 sort=cheapest 会优先显示配件;这是 Digikala 的排序方式。要查找“最便宜的 X”,请使用 dk_find_cheapest。
  • 搜索总会返回结果,即便查询词毫无意义(Digikala 的搜索采用语义搜索)。dk_search 会为每个结果标注 match: all / some / none(并列出未匹配的词),而 dk_find_cheapest 和 dk_best_for_budget 只保留标题包含所有查询词的结果。
  • 按特性筛选:dk_filters(category_code="mobile-phone") 会列出 ID,例如操作系统 → Android,然后通过 dk_category_products(attributes={2226: [19239]}) 进行筛选。
  • 30 天最低价会忽略仅持续一天的降价。 dk_shortlist 会将今日价格与连续两天保持的最低价格(low_30d)进行比较,因为 Digikala 自己的 30 天最低价(lowest_one_day_30d,即 dk_product 的 lowest_price_30d)可能只是某种颜色单日的价格。dk_price_history 会提供每种颜色的价格历史。
  • 照片:商品卡片包含 image,dk_product 包含 images 列表(最多 4 张);两者都是直接取自 API 的绝对 https URL。URL 以 ?x-oss-process=image/resize,m_lfit,h_300,w_300/quality,q_80 结尾,因此图片是 300 px 的 JPEG;删除此后缀即可获取原始尺寸图片。
  • 热门商品的价格每小时可能变动多次,尤其是卖家众多的商品;购买前请重新确认价格。
  • 答案会缓存 2 分钟,因此 Agent 重复调用时不会再次访问 Digikala;价格可能因此比网站上的价格滞后 2 分钟。超时、5xx 或 429 错误最多会在退避后重试两次。
  • 杂货来自超市商店:dk_product 显示的是该商店的价格,可能与搜索结果中的主店价格不同。
  • 运费仅在结账时计算(需要登录)。dk_product 会显示各商品优惠的配送方式,dk_plus_plans 会显示免运费方案。

常见问题

Digikala 是否有面向 AI Agent 的 API 或 MCP 服务?

有:digikala-mcp 是一个非官方 MCP 服务,提供 23 个只读工具,用于搜索、卖家报价、价格历史记录、评价和优惠。它调用的正是 digikala.com 网页应用所使用的公开端点;无需 API 密钥。

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

使用 claude mcp add digikala -- uvx digikala-mcp 添加服务(或者按照 快速开始 中为 Claude Desktop、Cursor 和 VS Code 提供的相应配置),然后用波斯语或英语自然语言提问。

它是官方、安全且免费的吗?

它是非官方的,与 Digikala 无关联。它是只读的(无需登录,不涉及购物车或付款),在你的设备上运行,并采用 MIT 许可证,免费使用。

我需要伊朗 IP 吗?

通常不需要:测试中,API 可以从境外(位于土耳其的出口节点)正常响应。如果所有工具都因“拒绝请求(HTTP 403)”而失败,请将 DIGIKALA_MCP_PROXY 设置为使用伊朗出口节点的 HTTP 代理。(如果只有一次调用返回 403,通常表示类别或品牌代码未知。)系统常规代理变量会被有意忽略。如果 Digikala 提供了机器人检测页面,请安装可选的浏览器备用方案(uvx --with patchright==1.63.0 digikala-mcp 或 pip install digikala-mcp[browser]),然后运行 patchright install chromium。

它能帮我购买商品吗?

不能,这是有意为之。它无需登录,也绝不会调用购物车、结账、付款或发布评价/问题的端点;它只读取公开数据。Agent 会找到最佳选项;你可以在网站上点击购买。

商品显示 in_stock: false,且没有价格

Digikala 会列出缺货、即将发售或已停售的商品。这些商品没有当前报价,因此也没有价格。搜索默认使用 in_stock_only: true。

它支持 Digikala Fresh 超市吗?

支持。dk_fresh_search 可搜索和浏览 Digikala Fresh,dk_deals 接受 store='supermarket',dk_product 则会针对超市商品 ID 回退到 Fresh 商品 API。

价格以 Rial 还是 Toman 为单位?

以 Toman 为单位,与网站一致。API 返回的单位是 Rial,每个工具都会除以 10;黄金和金币价格已经是 Toman。

为什么 dk_installments 返回的是说明,而不是分期报价?

自 2026-10-05 起,Digikala 的 Digipay 信贷端点对所有商品都返回空列表(商品页面也不显示信贷选项),因此该工具返回说明,而不是报价。

Claude Desktop 提示找不到 uvx

请将 uvx 的完整路径用作 command(Windows 上使用 where uvx,macOS/Linux 上使用 which uvx)。

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

配置

变量默认值含义
DIGIKALA_MCP_PROXY未设置用于每个请求的 HTTP 代理,例如 http://user:pass@host:port。逗号分隔的列表会依次使用:某个代理被拦截(403/429)或无法连接时,将切换到下一个代理

波斯语

### 面向 AI 助手的 Digikala MCP 服务

digikala-mcp 是一个非官方、只读的 Digikala MCP 服务,服务于伊朗最大的在线商店。它允许您的 AI 助手(Claude、Cursor、Copilot 等)在 Digikala 上搜索、 比较同一商品的所有卖家报价、查看价格历史、评论和问答,并查找惊喜优惠。

可以做什么

  • 搜索:支持波斯语或英语,并可按价格、品牌、属性(操作系统、存储空间等)、颜色、卖家类型和快速配送筛选;每条结果都会说明标题是否确实与搜索内容匹配。
  • 查找真正最便宜的商品(排除手机壳和线缆等配件),并按价格从低到高显示同一商品所有卖家的报价。
  • 按您的预算选出最佳商品:根据同时考虑评分人数的分数为商品排名,避免 3 人评分的 5 星商品排在 900 人评分的 4.6 星商品之前。
  • 查看过去约 30 天的价格历史和本月最低价,判断现在是否适合购买。
  • 重新检查精选列表:一次请求即可检查最多 10 件商品的价格、库存和与本月最低价的差距。
  • 品质:买家评论及优缺点、问答,以及卖家记录(按时配送、取消、退货)。
  • 优惠:惊喜优惠、畅销商品和超市折扣(Digikala Fresh)。
  • 更多:比较技术规格、查看 Digikala Plus 方案,以及黄金和硬币的实时价格。

注意事项

  • 仅供只读:不会登录账户、创建购物车或下单。
  • 所有价格均以托曼计价,评分与网站一致,满分为 5 分。
  • 在您自己的系统上运行,无需 API 密钥,也不会向任何中间服务发送数据。
  • 响应会缓存 2 分钟;价格可能因此比网站上的价格滞后同样长的时间。

关键词: Digikala、digikala、Digikala MCP 服务、价格比较、最低价、价格历史、Digikala 惊喜优惠、Digikala Fresh、在线商店、在线购物。

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

claude mcp add digikala -- uvx digikala-mcp

在 Claude Desktop、Cursor 和其他应用中,使用 Quick start 部分的相同配置。

示例问题

  • “三星 A07 手机最便宜的是哪款?现在的价格划算吗?”
  • “300 万托曼以内最好的无线耳机是什么?”
  • “请列出自营 Digikala 销售的 256 GB 安卓手机,并按价格从低到高排序。”
  • “比较这三台笔记本电脑,告诉我哪台最值得买。”
  • “今天有什么耳机惊喜优惠?”

开发

git clone https://github.com/sepehr071/digikala-mcp && cd digikala-mcp
uv sync
uv run python -m pytest            # offline, against recorded responses
uv run python -m pytest -m live    # real API
uv run ruff check .

实时测试也可以在 GitHub 上运行(Actions → Live → Run workflow)。这些测试不会定时运行:从 GitHub 的美国 Runner 运行时,Digikala 每次运行都会有几次调用超时,而通过伊朗网络连接运行相同的测试则能通过。

工具位于 src/digikala_mcp/catalog.py、product.py 和 services.py 中;每个工具都是带类型注解的异步函数,并附有说明 Agent 何时应使用它的文档字符串。欢迎提交 Issue 和 PR,尤其是新工具以及针对 API 变更的修复。

发布版本:更新 pyproject.toml 和 server.json 中的版本号,然后推送 v* 标签。GitHub Actions 会运行测试、发布到 PyPI 和 MCP Registry,并创建 GitHub Release。

相关服务

免责声明

本项目为非官方项目,与 Digikala 无关,也未获得其认可。它使用 digikala.com Web 应用的公共端点,这些端点可能随时变更,恕不另行通知。请合理控制请求频率。

作者

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

由 Sepehr Radmard(سپهر رادمرد)构建并维护。欢迎在 LinkedIn 上联系,或在 GitHub 上关注 @sepehr071,获取更多面向伊朗网站的 MCP 服务,所有服务都列在 iran-mcp 中。如果这为你节省了时间,请给仓库点个星,帮助其他人发现它。

许可证

MIT

如果这为你省去了几次点击,请给个星,帮助其他人发现它。

评论

支持 Markdown

第一次接触 MCP?

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

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