dns-customer-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DNS_GEOIP | No | Camoufox geoip enabled | false |
| DNS_ORIGIN | No | Base URL of the DNS shop site | https://www.dns-shop.ru |
| DNS_PYTHON | No | Python interpreter for the bridge | python3 |
| DNS_WARMUP | No | Background warmup enabled (set '0' to disable) | on |
| HTTP_PROXY | No | HTTP proxy (use a RU IP when banned by Qrator) | |
| DNS_PACE_MS | No | Pause between requests | 600 |
| DNS_RESTAPI | No | REST API base URL for reviews | https://restapi.dns-shop.ru |
| HTTPS_PROXY | No | HTTPS proxy (use a RU IP when banned by Qrator) | |
| DNS_HEADLESS | No | Camoufox headless mode | true |
| DNS_META_TTL_MS | No | TTL for product meta cache | 300000 |
| DNS_EXIT_IDLE_MS | No | Node idle timeout before exit | 1800000 |
| DNS_ALLOWED_HOSTS | No | Allowlist of hosts for fetch_url (SSRF protection) | www.dns-shop.ru,... |
| DNS_NAV_TIMEOUT_MS | No | Navigation timeout | 90000 |
| DNS_IDLE_TIMEOUT_MS | No | Browser idle timeout in Python bridge | 1800000 |
| DNS_TOOL_TIMEOUT_MS | No | Default MCP tool timeout | 55000 |
| DNS_BRIDGE_RETRY_MAX | No | Maximum restarts of the Python bridge | 3 |
| DNS_TOOL_CONCURRENCY | No | Parallel MCP handlers | 1 |
| DNS_CHALLENGE_WAIT_MS | No | Wait time for Qrator challenge | 25000 |
| DNS_SEARCH_TIMEOUT_MS | No | Timeout for dns_search | 180000 |
| DNS_RATE_LIMIT_PER_MIN | No | Token bucket rate limit for tool calls (0 disables) | 20 |
| DNS_TOOL_SESSION_RETRIES | No | Auto-retry count for session drops and warmup | 1 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dns_searchA | Search products on dns-shop.ru. Returns id (16-hex), name, price, rating, stock (in_stock|tomorrow|order|out_of_stock|unknown), url. Prices and stock depend on session city (dns_get_location / dns_set_city). sort=price_desc ranks only the current query results (DNS order=price-desc), not the entire DNS catalog. For 3+ queries use dns_search_multi (one round-trip, shared session — avoids burst SESSION_DROP). Default compact=true. Prefer limit 5–8. Next: dns_product_details / dns_compare_products / dns_products_batch. |
| dns_search_multiA | PREFERRED for PC builds / price scans: run 1–10 search queries in one call (shared browser session). Avoids parallel dns_search bursts that cause SESSION_DROP. Each result block has query, count, items with stock enum. |
| dns_product_detailsA | Product card: price, oldPrice, rating, article, availability, stock enum, images, imageDataUri, delivery hints, location. Product id is 16-hex. For full specs use dns_product_specs. For 2+ cards prefer dns_products_batch. |
| dns_products_batchA | Fetch 1–40 product cards in one call (preferred over parallel dns_product_details). Each row includes location and stock. |
| dns_product_reviewsA | Buyer reviews via restapi opinions (product GUID). score, comment, pros, cons, date. Falls back to opinion page HTML; does not hang on product scrape. |
| dns_product_specsA | Technical characteristics from /product/characteristics/{id}/. When parser_drift or sparse, do not invent values. Default compact=true. |
| dns_product_variantsA | Configuration options on the product card (color, memory, etc.). Each variant has its own 16-hex id. Default compact=true. |
| dns_product_availabilityA | Stock / pickup availability for the current city (dns_get_location). DNS is a single retailer — use this instead of marketplace offers. Returns stock enum: in_stock|tomorrow|order|out_of_stock|unknown. When SKU-level store list is empty, returns city shop addresses (storesSource=city_shops). Set includeStores=false to skip city shops fallback. |
| dns_list_storesA | Physical stores for a city (/shops/{city}/). Pass city name or slug; defaults to session city. |
| dns_related_productsB | Analogs or accessories for a product (/product/analog/ or /accessories/). kind=analog|accessories. |
| dns_compare_productsA | Compare 2–8 products: matrix of shared characteristics + slim product rows. Prefer this over parallel dns_product_specs. Prices follow session city. |
| dns_category_browseA | Products inside a category. Prefer slug from dns_list_categories ({uuid}/name); short aliases (videokarty, noutbuki, processory) resolve via search fallback. sort=price_desc works within the category (not the whole catalog). |
| dns_list_categoriesA | Live category directory from dns-shop.ru. No args → top-level. parent=slug → children. query=text → related cats. |
| dns_brand_catalogB | Products for a brand name (brand page or search fallback). |
| dns_search_filtersA | Available filters and sort options for a search query or category. Does not return products. Pass query or category (one required). |
| dns_search_citiesA | City lookup for delivery/store region. Show options to user, then dns_set_city. |
| dns_get_locationA | Current city for this browser session (from current_path cookie). Anonymous default ≈ Москва. Affects prices and availability. |
| dns_set_cityA | Change city for the session (cookie / UI). Call dns_search_cities first. Affects prices and stock in all subsequent tools. May take 15–40s. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Raleose/dns-customer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server