Skills and optional MCP rows for eleven marketplaces: price comparison across Wildberries, Detsky Mir and Yandex Market, plus per-source search, product cards and reviews, including Ozon, Avito and AliExpress. The 14 skills load on install; both MCP rows stay disabled until RU_MARKETPLACE_MCP_DIR points at a local clone, which needs Python 3.12+ and uv.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Vladimir-Human/ru-marketplace-mcp#path:/dsh
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Read-only MCP servers for Russian marketplaces: prices, stock, ratings, reviews and cross-marketplace price comparison. This bundle ships 15 Agent Skills plus three mutually exclusive MCP server rows that are off by default.
Why off by default
An MCP row that is always mounted is paid on every request, because the
harness registers the schema of every tool in the session context. Measured
over the stdio MCP wire with scripts/mcp_wire.py:
| Mode | Cost while mounted | Model-facing tools |
|---|---|---|
| Skills only (default) | 15 skill catalog entries; no MCP schemas | 0 |
compare-mcp (recommended) |
~1.8k tokens per request | 4 |
decision-mcp (shortlist inspection) |
~2.1k tokens per request | 5 |
marketplace-mcp (full) |
~16.3k tokens per request | 40 |
The 11 *_selfcheck tools that previously inflated the full server to 45 tools
are now CLI-only (marketplace-mcp doctor); only model-facing tools are
published over MCP.
Requirements
- DeepSeek Harness (
dsh) - Python ≥ 3.12
uv- A local clone of this repository (the MCP rows launch it with
uv run --directory <clone>)
Install (three steps)
Add the bundle to a profile (
webis the profile dsh ships with a UI; use whichever profile you actually run — a bare profile that dsh auto-creates on first use carries no app and cannot be launched):dsh plugin --profile web add github:Vladimir-Human/ru-marketplace-mcp#path:/dshThe 15 skills appear immediately. No MCP server starts yet.
Clone the server and install its locked environment once:
git clone https://github.com/Vladimir-Human/ru-marketplace-mcp.git cd ru-marketplace-mcp uv sync --frozenSet the gate/path variable so the profile can find the clone and restart the profile. On Windows PowerShell:
$env:RU_MARKETPLACE_MCP_DIR = "C:\path\to\ru-marketplace-mcp"On POSIX shells:
export RU_MARKETPLACE_MCP_DIR=/path/to/ru-marketplace-mcpWith only
RU_MARKETPLACE_MCP_DIRset, the recommended compare mode activates:compare_prices,compare_sources,compare_verify_offer, andcompare_browser_snapshot(under the client'srumarketnamespace).
Middle profile and native vision
Set RU_MARKETPLACE_MCP_DECISION=1 to add decision_inspect without mounting
every source tool. If both decision and full flags are set, full wins. Only one
MCP row is active: full, otherwise decision, otherwise compare.
With CHROME_CHALLENGE_HANDOFF_S=120, supported DOM challenges can retain their
owned browser tab. A client/model that accepts MCP images can call
compare_browser_snapshot(handoff_id) using the handle in the error or comparison
outcome. It receives a bounded JPEG viewport and capture metadata directly;
no separate OCR model or service is invoked. The handle only works in the same
MCP session and does not extend expiry. Text-only clients should skip this tool.
Enabling the full server
Set one more variable before starting dsh:
$env:RU_MARKETPLACE_MCP_FULL = "1" # PowerShell
export RU_MARKETPLACE_MCP_FULL=1 # POSIX shell
The enabled row then changes from compare-mcp (4 tools) to marketplace-mcp
(40 tools). All three rows share serverName: rumarket, and their disabled
conditions are mutually exclusive, so exactly one server instance runs at a
time.
Uninstall
Remove the bundle from the profile and restart it:
dsh plugin --profile web remove ru-marketplace-mcp-dsh
No MCP process survives profile restart without RU_MARKETPLACE_MCP_DIR.
Docker alternative (published and CI-verified)
Since v1.8.0 every release tag builds a stdio image and proves it with a real
MCP session over docker run --rm -i before publishing to the MCP Registry:
initialize, tools/list and a marketplace_sources call. Use the
published GHCR image instead of a local clone:
- id: ru-marketplace-docker
name: '@deepseek-ai/dsh-mcp-client'
disabled: false
config:
serverName: rumarket
transport: stdio
command: docker
args:
- run
- --rm
- -i
- ghcr.io/vladimir-human/ru-marketplace-mcp:2.4.2
failOnStartupError: false
The image defaults to the unified server. Its tool set matches that release tag; unreleased tools in this source checkout are not present in older images.
Source
Main repository: https://github.com/Vladimir-Human/ru-marketplace-mcp
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-skill-explorer★ 8178
Skill center for the dsh web GUI: browse all loaded skills grouped by source, enable or disable model invocation, create new skills, and delete into a recoverable trash.
GanyuanRan/Aegis★ 1305
Software-engineering method pack for coding agents, with skills for baseline-first planning, systematic debugging, prompt hygiene, verification before completion, and repair/retirement tracking.
superdesigndev/superdesign-skill★ 618
Design skill for UI and marketing graphics on the Superdesign canvas: reads the repo for context, extracts its design system, then generates and iterates branchable design drafts, flow pages, and reusable components through the Superdesign CLI.
linhay/harmony-next.skills★ 356
HarmonyOS NEXT skill bundle for DeepSeek Harness with offline API references and DevEco, HDC, and emulator automation guidance.
sandbaseai/sandbase-skills★ 202
Mounts 88 packaged research, social-intelligence, marketing and business Agent Skills into dsh through the filesystem Skill provider.
VDERR/dsh-echocat-skill-panel★ 196
Reports which skills each turn invoked (loaded by the model, typed as /name, or none) and manages the local skill directory: install from a pasted repository, folder, SKILL.md or zip address, set a Chinese display name in the skill meta.yaml, and remove a skill while keeping a backup.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.