hermes-marketplace-tools
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hermes-marketplace-toolsfind the cheapest iPhone 15 Pro Max on Wildberries"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
hermes-marketplace-tools
Тулы поиска/сравнения товаров на Wildberries (и Ozon — в планах) для агента Hermes. Подключаются как MCP-сервер. Сравнение и рекомендации делает сам LLM — тулы только отдают нормализованные данные.
Статус: Wildberries и Ozon — готовы оба (search/card/reviews на каждом).
Один запрос marketplace="all" ищет на обоих. См. SPEC.md.
Тулы
Тул | Что делает |
| поиск товаров → нормализованная выдача (цена, рейтинг, отзывы, ссылка, превью) |
| полная карточка: характеристики, описание, URL картинок |
| отзывы (сортировка по полезности/свежести) |
Related MCP server: ProductLens-MCP
Установка
git clone <repo> hermes-marketplace-tools
cd hermes-marketplace-tools
uv venv && uv pip install -e .
uv run python -m camoufox fetch # бинарь Firefox для Ozon (~300 МБ, разово)Ozon ходит через headless-браузер (camoufox). WB работает по HTTP и браузера не требует.
playwrightзапинен на 1.50.0 — новее ломает протокол с firefox-сборкой camoufox.
Конфигурация
Прокси (SOCKS5, RU-IP) задаётся переменной окружения PROXY_URL. Не коммить креды.
export PROXY_URL="socks5h://USER:PASS@pool.proxy.market:10000"Подключение к Hermes
В ~/.hermes/config.yaml:
mcp_servers:
marketplace:
command: "/path/to/hermes-marketplace-tools/.venv/bin/python"
args: ["-m", "mcp_server.server"]
env:
PROXY_URL: "socks5h://USER:PASS@pool.proxy.market:10000"После правки конфига перезапусти Hermes — MCP-серверы загружаются на старте.
Тулы появятся как mcp_marketplace_marketplace_search и т.д.
Локальный прогон (без Hermes)
PROXY_URL="socks5h://..." .venv/bin/python -m mcp_server.server # запустит MCP по stdioДля проверки логики ядра — см. marketplace_core (можно импортировать MarketplaceService
напрямую; так же его будет использовать будущий Telegram-бот).
Заметки по WB (важно при поломках)
Весь трафик идёт через прокси (RU-IP); цены приходят в копейках.
card.wb.ru/v4отдаёт 403 на TLS-профиль Chrome — клиент используетimpersonate="safari".URL картинок собираются по схеме
basket-{NN}.wbbasket.ru/...; номерNNподбирается self-healing и кэшируется в~/.hermes/marketplace_cache.sqlite.Эндпоинты WB неофициальные и иногда меняют версии — см.
SPEC.md(Приложение A).
Available Tools
3 toolsget_product_cardC
Полная карточка: характеристики, описание, URL изображений.
| Name | Required | Description | Default |
|---|---|---|---|
| id_or_url | Yes | ||
| marketplace | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description only lists what the card includes, with no mention of permissions, side effects, rate limits, or response format. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single short sentence; concise but lacks necessary details. Could be expanded without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and undocumented parameters, the description fails to provide sufficient context for correct usage. Missing return format, parameter constraints, and behavioral notes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. The description does not clarify the parameters: 'id_or_url' could be ambiguous (ID or URL?), and 'marketplace' values are unspecified. No parameter guidance beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a full product card with characteristics, description, and image URLs. It uses specific verb-resource phrasing and distinguishes from sibling tools (get_reviews for reviews, marketplace_search for search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use when needing full product details. However, no explicit guidance on when not to use or alternatives beyond sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reviewsC
Отзывы о товаре.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | useful | |
| limit | No | ||
| id_or_url | Yes | ||
| marketplace | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the tool fetches product reviews, omitting details like pagination (limit parameter), sorting behavior (sort parameter), error handling, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (three words), which is concise but too sparse. It lacks critical details that would make it helpful, falling short of earning its place as the sole explanatory text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters (2 required), a sort enum, a default limit, and an output schema, the description is insufficient. It does not explain parameter usage, output structure, or behavior, making it incomplete for effective agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It provides no information about the four parameters (sort, limit, id_or_url, marketplace), such as what values are valid or how they affect results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Product reviews' clearly indicates the resource (reviews) and implies the verb 'get' from the tool name. It distinguishes from siblings like get_product_card (product details) and marketplace_search (searching). However, it does not explicitly differentiate usage scenarios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., get_product_card for product info, marketplace_search for discovery). No context about prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_searchA
Поиск товаров на Ozon и/или Wildberries. Возвращает нормализованную выдачу.
Сформируй несколько запросов (с брендом и без, разные формулировки) для лучшего покрытия. Сравнение и выбор делай сам по полученным данным.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | ||
| limit | No | ||
| query | Yes | ||
| max_price | No | ||
| min_price | No | ||
| marketplace | No | all |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions normalized results and implies that multiple queries are needed for coverage. However, it does not disclose pagination, sorting, rate limits, or whether the search is case-sensitive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both meaningful: first states purpose, second gives usage advice. No fluff, but could be slightly more structured with parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given moderate complexity (6 params) and presence of output schema, the description covers main purpose and usage strategy but lacks parameter documentation and behavioral details like pagination or result ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the 6 parameters. Only 'brand' is hinted at via 'с брендом'. The agent must rely on parameter names alone, which may be insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states searching for products on Ozon and/or Wildberries with normalized output. It uses specific verbs and resources, distinguishing it from siblings like get_product_card and get_reviews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance to formulate multiple queries with different brands and formulations for better coverage, and to compare results. While it doesn't explicitly mention when not to use or name alternatives, the strategy is clear and useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.0.2- First observed
get_product_card - First observed
get_reviews - First observed
marketplace_search
TDQS
Scored across 3 tools
Each tool targets a distinct function: product details (get_product_card), reviews (get_reviews), and search (marketplace_search). There is no overlap or ambiguity.
Two tools follow a 'get_' pattern, but 'marketplace_search' deviates slightly by being noun_verb. The inconsistency is minor and readability remains high.
Three tools is a reasonable number for a focused marketplace-browsing server. The scope is narrow but well-defined; no tool feels superfluous.
The set covers search, product card retrieval, and reviews, but lacks mutation operations (e.g., add to cart, compare) and entity listing (e.g., categories). Gaps exist but core browsing workflows are covered.
Maintenance
Related MCP Connectors
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Your agent needs marketplace data — what a product costs on Amazon and Google Shopping, who the sellers are, what reviewers actually complain about. **What you can ask for** • "What is this ASIN's price history, rating and seller list?" • "Who else sells this product, and at what price?" • "Pull the reviews for this product and group the complaints." • "What comes up on Google Shopping for this query in the UK?" • "Compare these products across both marketplaces." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-merchant/mcp and sign in with OAuth — there is no key to create or paste. 22 tools: Amazon products, ASIN detail and sellers; Google Shopping products, product info, sellers and reviews; live and queued forms, with raw HTML where you need it. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Price the product here, then ask the same agent what the brand's site traffic or ad spend looks like — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
Real-time Amazon, WIPO & PACER data for AI agents — 19 tools via the MCP protocol.
Shopping MCP for AI agents: search, compare, Amazon buy links. Auto-register.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceMCP server for retrieving Wildberries product reviews and formatting them as JSON for LLM analysis.1-
- FlicenseNot gradedqualityCmaintenanceEnables product comparison and analysis for any MCP-compatible AI assistant, with tools like compare_products and list_products.-
- FlicenseNot gradedqualityCmaintenanceMCP server that turns Wildberries marketplace into a toolkit for LLM agents, enabling product search, detailed card inspection, price history, reviews, and cross-product comparison.-
- AlicenseAqualityCmaintenanceEnables querying and comparing prices, availability, ratings, reviews, and seller details from major Russian and Chinese marketplaces (Wildberries, Ozon, Yandex Market, and others) without requiring API keys, via a unified MCP interface.424MIT