promua-mcp
Optional Brave Search API fallback provider for Prom.ua marketplace searches when direct Prom SSR parsing fails or when external search is explicitly requested.
Optional SearXNG fallback search provider for Prom.ua marketplace searches when direct Prom SSR parsing fails or when external search is explicitly requested.
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., "@promua-mcpsearch Prom.ua for DT-25-10 наконечник under 80 UAH"
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.
promua-mcp
Browser-free MCP server for Prom.ua.
It combines:
Direct marketplace search against Prom.ua's public SSR search pages.
Optional Brave/SearXNG fallback if direct Prom parsing fails.
Seller operations through Prom.ua's official Public API v1.
Local saved searches for repeatable MCP workflows.
There is no Playwright, Chromium, browser automation, browser profile, cookie/session storage, or GUI control.
Direct marketplace search
prom_search_products now queries:
GET https://prom.ua/ua/search?search_term=<query>&page=<n>Prom embeds product cards as schema.org Product JSON-LD, so the MCP extracts structured data directly from the server-rendered HTML:
product id
title
canonical URL
exact JSON-LD price / currency
min/max price when a Product contains several Offers
seller / sellers
availability
image
SKU
brand
description
Prom's embedded total result count
No API key is needed for direct marketplace search.
Search arguments
{
"query": "DT-25-10 наконечник",
"min_price": 20,
"max_price": 80,
"sort": "price_asc",
"limit": 20,
"offset": 0,
"max_pages": 5,
"source": "auto"
}source=auto— direct Prom SSR first; Brave/SearXNG fallback only when configured and direct parsing fails.source=prom— require direct Prom SSR.source=external— force Brave/SearXNG.offsetmaps efficiently to Prom pages when no client-side price filtering/sorting is needed.min_price/max_priceuse real JSON-LD prices.price sorting is performed over the scanned result window; the response tells you when the result is not exhaustive.
source_total,scanned_pages,next_offset,exhaustiveandwarningmake pagination/coverage explicit.
Prom currently exposes about 10 JSON-LD Product records per SSR search page, so deeper filtered searches may scan multiple pages up to max_pages.
External fallback
Optional:
BRAVE_API_KEY=
# or
SEARXNG_URL=The fallback is deliberately marked non-exhaustive and should not be confused with direct Prom catalog results.
Related MCP server: Web Explorer MCP
Saved searches
prom_saved_search_listprom_saved_search_createprom_saved_search_runprom_saved_search_delete
Saved searches persist the same structured search arguments locally as JSON and replay them through the current search implementation.
Search tools
prom_search_productsprom_search_urlprom_saved_search_listprom_saved_search_createprom_saved_search_runprom_saved_search_delete
Buyer account actions
Buyer-account actions such as Favorites, cart changes, buyer order history and authenticated buyer messages are not implemented.
They are not part of the documented Prom seller Public API, and this project will not emulate them using a browser. They should only be added when a stable HTTP/API contract is available.
Seller API — read
prom_seller_list_productsprom_seller_get_productprom_seller_get_product_by_external_idprom_seller_list_ordersprom_seller_get_orderprom_seller_list_clientsprom_seller_get_clientprom_seller_list_messagesprom_seller_get_messageprom_seller_list_groupsprom_seller_list_payment_optionsprom_seller_list_delivery_optionsprom_seller_list_order_status_options
Seller API — write
Writes are disabled by default:
PROM_ALLOW_WRITES=trueTools:
prom_seller_edit_productsprom_seller_edit_products_by_external_idprom_seller_set_order_statusprom_seller_set_message_statusprom_seller_reply_message
Requirements
Node.js 20+
no credentials for direct marketplace search
optional Brave/SearXNG only for fallback
Prom.ua API token only for seller tools
Install
npm install
npm run buildConfiguration
PROM_API_TOKEN=
PROM_API_BASE_URL=https://my.prom.ua/api/v1
PROM_ALLOW_WRITES=false
# Optional fallback:
BRAVE_API_KEY=
SEARXNG_URL=
PROM_DATA_DIR=
PROM_SAVED_SEARCHES_FILE=
PROM_HTTP_TIMEOUT_MS=15000MCP configuration
{
"mcpServers": {
"promua": {
"command": "node",
"args": ["/absolute/path/to/promua-mcp/dist/index.js"],
"env": {
"PROM_API_TOKEN": "optional",
"BRAVE_API_KEY": "optional"
}
}
}
}Docker
docker build -t promua-mcp .
docker run --rm -i --env-file .env promua-mcpSafety / access model
public marketplace search uses ordinary HTTP GET requests only;
no browser automation and no access-control bypass;
no buyer-account cookies/sessions;
no checkout or payment automation;
seller writes are opt-in via
PROM_ALLOW_WRITES=true;search requests are capped by
max_pages;direct Prom parsing fails closed when Product JSON-LD disappears or changes unexpectedly.
Prom.ua seller Public API coverage
Implemented endpoints include:
GET /products/listGET /products/{id}GET /products/by_external_id/{id}POST /products/editPOST /products/edit_by_external_idGET /orders/listGET /orders/{id}POST /orders/set_statusGET /clients/listGET /clients/{id}GET /messages/listGET /messages/{id}POST /messages/set_statusPOST /messages/replyGET /groups/listGET /payment_options/listGET /delivery_options/listGET /order_status_options/list
Official seller API docs: https://public-api.docs.prom.ua/
Development
npm run check
npm test
npm run buildAcknowledgment
The direct Prom SSR / JSON-LD approach was validated against the MIT-licensed cuzin85/marketua Prom provider, then reimplemented in TypeScript with broader Product/Offer parsing, multi-page scanning, explicit coverage metadata and fallback support.
License
MIT
Related MCP Connectors
Track prices and deals: watch a shop page, get target alerts, see price history. Data stays local.
Track prices & price history on any online shop, with alerts and an API
Search, extract, crawl, map, research, scrape 16 platforms, browser automation, proxy — one API key.
Shopify and eBay product scraper & extractor for fast market research. Pulls Shopify products.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables privacy-focused web searches through the Presearch API and web content scraping. Supports multi-language search, configurable safe search, result caching, and multiple export formats (JSON, CSV, Markdown).4-
- AlicenseAqualityDmaintenanceEnables private web search and webpage content extraction using a local SearxNG instance, prioritizing user privacy and autonomy.22MIT
- AlicenseBqualityCmaintenanceEnables Brave Search and web content fetching via MCP, and integrates as LangChain tools for AI agents.2MIT
- FlicenseAqualityBmaintenanceEnables private, free web searches through a self-hosted SearXNG instance, replacing default search tools without API keys, rate limits, or third-party tracking.1-