ru-marketplace-mcp

66Star10Fork5Issue2Watching

为 DeepSeek Harness 接入俄罗斯及中国电商平台的价格、库存、评分、卖家资质等只读数据查询,支持跨平台比价。

机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
Python
License
MIT
分支
main
aliexpressavitocitilinkclaudedetsky-mirdnsdsh-pluginlamoda

安装

$ dsh plugin --profile web add github:Vladimir-Human/ru-marketplace-mcp

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 Vladimir-Human/ru-marketplace-mcp:先查看仓库 https://github.com/Vladimir-Human/ru-marketplace-mcp.git 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

这是一套让 DeepSeek Harness 能够查询俄罗斯与中国电商平台只读数据的工具集。它既提供 13 个操作技能(人话写成的"使用说明"),又提供可按需启用的 MCP 服务。普通用户不必懂技术,只需在 DSH 里说"哪里买更便宜"或"WB 上这个多少钱",AI 就会自动调用对应工具。

核心能力

  • 跨平台比价:用一个工具同时查询 Wildberries、Ozon、Yandex Market 等多家平台,按价格排序并给出价差
  • 在 Wildberries 上查询商品价格、库存、卖家资质(含公司名、税号、注册地址)
  • 读取 Ozon 平台的商品详情、搜索结果和评论
  • 通过 Yandex Market 拉取多卖家报价、评分分布和用户评论
  • 在 Yandex Market、Detsky Mir、Avito、Taobao 等平台上做商品搜索与详情查询
  • 在 Avito 上查询卖家信誉(评分和活跃商品数)
  • 对 Taobao、Megamarket、Lamoda、DNS、Citilink 这类反爬严格的平台做匿名页查询
  • 通过 MPStats(付费)拉取 Ozon/WB 商品的近 30 天销量与库存曲线

技术实现

  • 语言: Python 3.12+
  • 关键依赖: fastmcp(用于实现 MCP 协议)、pydantic(数据模型校验)、curl_cffi(Ozon/Avito 等第一层 TLS 伪装)、Playwright(实现无头浏览器时的 fallback)、httpx(HTTP 客户端)
  • 架构模式: 12 个独立 MCP 服务分别按平台拆出,统一基于 mcp-core 运行时;另有 marketplace-mcp 合并服务动态挂载其他服务(失败的依赖仅会让对应平台缺席,不影响整体启动);DSH 插件通过 cordis.patch.yml 注入 13 个技能 + 2 个 MCP 客户端行
  • 入口文件: 服务入口为 packages/<name>-connector/src/<name>_connector/__main__.py,CLI 入口为 packages/marketplace-connector/src/marketplace_connector/cli.py

适用场景

普通用户在 DSH 里需要查俄罗斯或中国电商平台的价格、库存、评价,或者要做跨平台比价、又或者要查某个卖家是否正规——这一切都不需要自己装浏览器扩展或手动打开网页。插件还可以为电商卖家提供近 30 天销量曲线(需付费 MPStats)。对开发者和数据分析师而言,这是绕过各平台反爬与认证墙的"只读数据网关"。

前置依赖与兼容性

依赖最低版本说明
Python3.12+服务端运行时(pyproject.toml 声明)
uv最新版用于执行 uv run --frozen --directory <克隆路径> 启动 MCP 服务
平台跨平台平台描述在 dsh/README.md 未声明限制
原生模块纯 Python 包,依赖通过 uv 解析

安装方式

dsh plugin --profile web add github:Vladimir-Human/ru-marketplace-mcp

安装完插件后,还需要:

  1. 把这份仓库克隆到本机:git clone https://github.com/Vladimir-Human/ru-marketplace-mcp.git && cd ru-marketplace-mcp && uv sync --frozen
  2. 设置环境变量 RU_MARKETPLACE_MCP_DIR 指向这份克隆的目录
  3. 重启 DSH profile

想启用全部 34 个工具(而非基础的 2 个比价工具),再设置 RU_MARKETPLACE_MCP_FULL=1 即可。

配置项

配置类型说明默认值
RU_MARKETPLACE_MCP_DIR路径环境变量指向本机克隆的 ru-marketplace-mcp 目录,同时作为"是否启用 MCP 服务"的开关;未设置时 13 个技能仍可用,但两个 MCP 服务会保持关闭未设置
RU_MARKETPLACE_MCP_FULL开关环境变量设置为 1 时切换为完整版(34 个工具),未设置时使用精简版(2 个跨平台比价工具)未设置
MPSTATS_MP_AUTHJWT 字符串MPStats 付费账号的 cookie 值(原始 JWT,不带 mp_auth= 前缀);不设置时 MPStats 工具返回 auth_missing,其他平台不受影响未设置
CHROME_CDP_PORT端口号Chrome 远程调试端口号,Ozon/Avito 等依赖 CDP 的平台用9222
CHROME_CDP_HOST主机地址Chrome 远程调试监听地址127.0.0.1
CHROME_STEALTH0 或 1是否启用 Chrome 反检测模式1
CHROME_HEADLESS0 或 1是否以无头模式启动 Chrome0

常见问题

Q: dsh plugin --profile web add 之后什么都没发生?

A: 这是正常的。安装插件只会让 13 个技能在 DSH 里出现,MCP 服务默认是被关闭的。需要再设置环境变量 RU_MARKETPLACE_MCP_DIR 指向克隆的仓库目录,然后重启 DSH profile。

Q: 报"file not found"或者"uv: command not found"?

A: 系统里没有安装 uv。请先到 https://docs.astral.sh/uv/ 按指引安装最新版的 uv 包管理器。

Q: 必须克隆仓库吗?能不能用 pip 装?

A: 仓库发布过 Docker 镜像(ghcr.io/vladimir-human/ru-marketplace-mcp),也可以在不克隆本地仓库的情况下用 GHCR 镜像运行;pip 安装需要自行管理 12 个子包的依赖关系。DSH 的两行 patch 默认假设本地克隆路径。

Q: 比价结果全是 0 元或者空,怎么办?

A: 缺失价格代表"没有数据",永远不会是 0;商品下架、库存为空、卖家未填价格,都会得到空值。这种结果要结合 marketplace_sources 工具来看——某个平台在"未挂载"列表里,说明缺失的是依赖而不是数据。

Q: 想深入看某个商品的评论,却被告知"评论池为空"?

A: Wildberries 的评论和提问是按 imt_id(聚合商品 ID)而不是 nmId(单 SKU ID)索引的。必须先用 wb_root_info(nmId) 拿到 imt_id,再用 wb_reviews(imt_id) 查询。

Q: 怎么卸载?

A: 执行 dsh plugin --profile web remove ru-marketplace-mcp-dsh,然后重启 profile。本地克隆的仓库可以保留或删除,不会影响 DSH 行为。

Q: Avito 一直返回"blocked"?

A: Avito 会按 IP 屏蔽数据中心 IP。需要从俄罗斯住宅 IP 访问,并把请求节奏放慢。marketplace-mcp doctor 会告诉你当前环境是否被屏蔽。

Q: 比价时不只看到卢布价格,还有 CNY 之类?

A: Taobao 用人民币结算。比价结果里 price_rub 字段为 nullprice_native 字段才是淘宝原币种价。如果需要把 CNY 折算成 RUB,需要自己按当日汇率换算,插件不会硬编码汇率(会过期)。

上手难度

入门 — 13 个技能本身就是"使用说明",AI 助手能直接判断该调哪个工具;普通用户只需要会配置环境变量即可。

已知问题与限制

  • Wildberries 的搜索结果价格会比商品卡片的实际价格略高(2026-07-28 测量:60 571 vs 60 275),如果两个候选商品的价差在 1% 以内,需要用 wb_card 再确认一次
  • Wildberries 的搜索结果翻到末尾时会循环返回第一页(HTTP 200 并无报错),分页时按 nm_id 去重
  • 完整版(marketplace-mcp)每次请求约 13k token,远高于精简版(compare-mcp,0.9k token),建议按需启用
  • Avito、Megamarket、Taobao 等平台需要外部 Chrome 通过 CDP 协调;Chrome 没启动时这些功能完全不可用
  • Detsky Mir 没有文本搜索 API,比价结果会跳过它,需要单独用 detmir_category 按分类浏览
  • Yandex Market 的 Plus 会员价(比日常价低 25-30%)永远不会参与比价排序,避免"虚构便宜"
  • compare_prices 在 Yandex Market 走网页版,需要消耗更多 token;disable 单独 VIP 价可避免重复

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/Vladimir-Human/ru-marketplace-mcp)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录