vladimir-human / dns-connector
Use this skill when the operator needs DNS-Shop electronics data — search or a product card. Trigger on "днс", "dns-shop", "dns", "ноутбук днс". Always needs the operator's Chrome over CDP (Qrator proof-of-work). Skip for non-DNS tasks.
DNS-Shop Connector
Reads DNS-Shop inside the operator's Chrome over CDP. Qrator's JavaScript
proof-of-work answers every dynamic page with HTTP 401 + a challenge script —
no header trick clears it, but a real Chrome executes it natively. The
connector renders the page and reads the DOM.
When to use
- Search DNS electronics catalog by text
- One product's price, old price, availability
Tools available
dns_search(query)— tiles from the rendered search pagedns_card(product_url)— one card. The URL carries/product/<id>/, where the
id is a 16-hex string:/product/b7a1667f9b19ed20/. A bare id also works.
Not an MCP tool: dns_selfcheck() is a tri-state canary. It is CLI-only —marketplace-mcp doctor runs every connector's canary at once.
A green selfcheck does NOT mean the data is right
This connector is why that sentence appears throughout this repo. In July 2026
the product-id regex was fixed, search began returning 24 links, anddns_selfcheck went green — while **every item still came back withtitle: null and price: null**. The transport was fine; the parser understood
nothing.
dns_selfcheck answers one question: did the page load and did the extractor
return a shape. If a number has to be trusted, open the product page in the same
Chrome and read it.
The price on a DNS tile is not the smallest number on it
Three traps, all confirmed against the live grid on 2026-07-28:
An instalment sits next to the price. A tile showing
58 999 ₽also showsот 5 751 ₽/ мес.. Anything that takes the minimum reports the monthly
payment — a number that validates, looks plausible and is wrong. The extractor
reads the named price node and skips instalment and bonus nodes.The strikethrough price carries no currency glyph —
.product-buy__prev
renders a bare54 999, so a filter keyed on₽never sees it.The first product anchor in a tile is the image link, which has no text.
Tiles are selected by the exact BEM block.catalog-product, never by walking
up from an anchor.
price_rub is None when no price could be read — never 0, never a guess. If
a whole page comes back unpriced the response carries a no_prices_on_page
warning: that is drift to investigate, not "free".
Gotchas
The first navigation pays the proof-of-work and is slow; later reads on the
same session are fast.Bursts get throttled by Qrator and degrade to
transport_down. That is
rate-limiting of the browser, not a parser fault — pace the calls.From a datacenter address the site answers 401, so there is nothing to verify
there. This connector is only meaningful from the operator's own machine.
DSH activation
In DeepSeek Harness, the default profile exposes only compare_prices andcompare_sources through the cheap compare mount. Per-marketplace tools andmarketplace_sources require RU_MARKETPLACE_MCP_FULL=1 and a profile restart;
do not call them in the default mode.