Skip to main content
Glama
sdziupin
by sdziupin

rozetka-mcp

CI Live Rozetka smoke

Browser-free MCP server for Rozetka.ua.

It uses Rozetka's public-facing JSON backends directly. There is no Playwright, Chromium, Bright Data, browser profile, cookie jar, GUI automation or search-engine dependency.

Status: alpha / reverse-engineered integration. Rozetka does not publish these buyer/catalog endpoints as a supported public API. Endpoint shapes and anti-bot policy can change.

What is reliable

The core path uses endpoints that are live-tested from GitHub Actions:

  • search.rozetka.com.ua — product search, product ids, filters, category suggestions

  • product-api.rozetka.com.ua — product description and characteristics

Some richer Rozetka hosts such as xl-catalog-api.rozetka.com.ua, common-api.rozetka.com.ua, and the storefront itself can return a Cloudflare managed challenge from datacenter IPs. Rich catalog hydration is therefore best-effort only and never required for the core tools to return safely.

Related MCP server: dns-customer-mcp

MCP tools

  • rozetka_search_products — search products, filters/sort, optional best-effort rich hydration

  • rozetka_get_product — product id/URL lookup plus description and characteristics by default

  • rozetka_get_products — resolve up to 60 product ids; rich hydration when available, safe id fallback otherwise

  • rozetka_list_filters — live filter metadata for a query

  • rozetka_list_categories — category suggestions for a query from the search API

  • rozetka_resolve_url — product/category URL → id, offline

  • rozetka_saved_search_list

  • rozetka_saved_search_create

  • rozetka_saved_search_run

  • rozetka_saved_search_delete

Install from npm

After the first npm release, no clone/build step is needed.

npx

npx -y rozetka-mcp

Global install

npm install -g rozetka-mcp
rozetka-mcp

MCP configuration

{
  "mcpServers": {
    "rozetka": {
      "command": "npx",
      "args": ["-y", "rozetka-mcp"]
    }
  }
}

Install from source

Requirements: Node.js 20+.

git clone https://github.com/sdziupin/rozetka-mcp.git
cd rozetka-mcp
npm install
npm run check
npm test
npm run build
npm start

Development:

npm run dev
npm run smoke
npm run pack:check

Source checkout MCP config:

{
  "mcpServers": {
    "rozetka": {
      "command": "node",
      "args": ["/absolute/path/to/rozetka-mcp/dist/index.js"]
    }
  }
}

Search example

{
  "query": "Deye SE-F16-C",
  "min_price": 40000,
  "max_price": 80000,
  "seller": "rozetka",
  "sort": "price_asc",
  "limit": 20
}

Use rozetka_list_filters first for category-specific attributes, then pass the exact Rozetka filter keys/values through filters.

Some high-level queries can be converted by Rozetka into a category redirect instead of a product list. In that case the tool returns navigate_to rather than pretending it found products.

Configuration

ROZETKA_LANGUAGE=ua
ROZETKA_COUNTRY=UA
ROZETKA_FRONT_TYPE=xl
ROZETKA_HTTP_TIMEOUT_MS=15000
ROZETKA_HTTP_RETRIES=2

Advanced endpoint overrides are available in .env.example.

CI

.github/workflows/ci.yml validates:

  • TypeScript typecheck

  • unit tests

  • production build

  • npm package dry-run

  • built CLI entrypoint

  • Docker image build

.github/workflows/live-smoke.yml validates the real Rozetka core API path on pushes that affect runtime behavior, on manual dispatch, and weekly.

The live smoke intentionally tests only the public search/product endpoints that this package promises as its reliable core. Cloudflare-protected optional hydration is fail-soft and is not treated as a release blocker.

Publishing to npm

Publishing is handled by .github/workflows/publish.yml.

1. Create an npm token

Create an npm access token with permission to publish rozetka-mcp.

2. Add the GitHub Actions secret

In the GitHub repository:

Settings
→ Secrets and variables
→ Actions
→ New repository secret

Create:

Name:  NPM_TOKEN
Value: <your npm publish token>

The workflow maps this secret to NODE_AUTH_TOKEN. The token is never stored in the repository.

3. Release

Update package.json version, for example:

npm version patch --no-git-tag-version

Commit and push the version change, then create a GitHub Release with a tag matching the version exactly:

package.json: 0.1.0
release tag:  v0.1.0

On a published GitHub Release the workflow:

  1. installs dependencies

  2. typechecks

  3. runs unit tests

  4. builds

  5. validates the npm tarball

  6. runs the live Rozetka smoke test

  7. verifies vX.Y.Z matches package.json

  8. publishes with npm publish --access public --provenance

The workflow can also be started manually. Manual runs default to validation-only; set the publish input to true to publish the current package version.

Buyer account actions

Authenticated buyer features are intentionally not implemented:

  • wishlist mutation

  • cart mutation

  • order history

  • checkout/payment

  • messages

They should only be added after a stable HTTP flow is independently verified. This project will not emulate them with Playwright/Chromium.

Operational model

  • browser-free HTTP only

  • no credentials required for marketplace tools

  • no checkout/payment automation

  • retries only for network errors, HTTP 429 and 5xx

  • maximum batch size: 60 product ids

  • Cloudflare-protected enrichment fails soft

  • description/characteristics use the independently live-tested product API

  • no claim that reverse-engineered endpoints are an official Rozetka API

References

The implementation was cross-checked against community Rozetka integrations including 2BAD/rozetka, ALERTua/rozetka_api, and joshua-light/rozetka-mcp, then implemented as a small TypeScript MCP-native client.

License

MIT

Available Tools

10 tools
rozetka_get_productA

Resolve one Rozetka product by numeric id or product URL. Description and characteristics are fetched by default from product-api; blocked optional catalog hydration does not fail the lookup.

ParametersJSON Schema
NameRequiredDescriptionDefault
id_or_urlYes
include_descriptionNo
include_characteristicsNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that description and characteristics are fetched by default and that a blocked optional catalog hydration does not fail the lookup — a non-obvious degradation guarantee. However, it omits auth/permission requirements, rate limits, and any hint of return shape, which are material for a tool with no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly packed sentences with no filler; the core resolution action and input modes lead, and the fallback behavior trails as supporting detail. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter, no-annotation, no-output-schema tool, the definition covers the primary action, the default hydration, and resilience to partial failure. It still leaves the two optional flags' full semantics and the response contents unaddressed, so an agent would have to probe to call it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains id_or_url (id or URL) and that description/characteristics come back 'by default', which maps to the two boolean toggles, but it never states what suppressing them does or the accepted URL format. Partial compensation for a real coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Resolve') and singular resource ('one Rozetka product') and names both accepted input forms (numeric id or product URL). This cleanly separates it from the plural sibling rozetka_get_products and from rozetka_resolve_url, without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies retrieval context through the id-or-URL input and the default hydration behavior, but it never states when to choose this tool over rozetka_get_products or rozetka_resolve_url, nor any prerequisites or when-not-to-use conditions. Usage is inferable but not guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rozetka_get_productsB

Resolve up to 60 Rozetka product ids. Rich catalog hydration is attempted when available and falls back to public search/id records when blocked.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations the description carries the full burden, and it does disclose genuinely useful behavior: rich catalog hydration is best-effort and degrades to public search/id records when blocked. That is real value beyond schema, but it omits what happens to unresolvable ids, error/partial-failure behavior, and whether the operation is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with zero filler; the count constraint and the fallback behavior are both front-loaded and immediately actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema and no annotations, the description covers the batch cap and the hydration/fallback path, but leaves return shape, partial-failure handling, and safety profile unstated. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there is one parameter, so the description must compensate. It restates the 1-60 count ('up to 60 product ids'), which is already encoded in maxItems/minItems, and does not clarify that ids may be integers or non-empty strings as the schema's anyOf allows. Minimal added meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Resolve') and resource ('Rozetka product ids') plus the batch cap, which distinguishes it from the singular sibling rozetka_get_product. However 'resolve' is slightly ambiguous about what the resolution produces (raw ids vs hydrated records), so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this batch tool versus rozetka_get_product for a single id or rozetka_search_products for discovery. The batch nature is only implied by 'up to 60 product ids' and nothing is said about prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rozetka_list_categoriesB

Return category suggestions from Rozetka's search API for a text query. Full fat-menu enumeration is intentionally not used because common-api may be Cloudflare-protected.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It does disclose genuinely useful behavior: results are suggestions derived from a search API, not a full category tree, and the common-api path is Cloudflare-protected. It omits return shape, ordering, and whether suggestions map to canonical category IDs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core purpose front-loaded and the rationale second. No filler, though the second sentence is implementation trivia that an agent may not need for invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with no output schema, the description covers what comes back at a high level but not its structure or the meaning/caps of 'limit'. Adequate but leaves real gaps an agent must guess at.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two parameters. The description only implies that 'query' is free text; it says nothing about 'limit' (default 100, max 500) or the constraints on query length, so it fails to compensate for the documentation gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ('Return category suggestions ... for a text query') and even clarifies the underlying mechanism (search API rather than fat-menu), which is unusual for a tool named list_categories. It does not distinguish itself from any named sibling such as rozetka_list_filters or rozetka_search_products, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains why the tool works this way (fat-menu enumeration avoided due to Cloudflare), but gives no guidance on when to call this versus siblings like rozetka_search_products or rozetka_list_filters, and no prerequisites or exclusions from an agent's decision perspective.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rozetka_list_filtersA

Return Rozetka's live filter metadata/options for a search query. Use this before passing category-specific keys in rozetka_search_products.filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
category_idNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It adds the useful behavioral cue that the data is 'live' metadata, but discloses nothing about permissions, rate limits, or what the returned metadata looks like. Adequate but with clear gaps for a zero-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences. Purpose is front-loaded and the usage instruction follows with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should say more about what 'filter metadata/options' contains and how category_id affects results. The core call path is clear, but key details for correct invocation are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only hints at the query parameter ('for a search query') and says nothing about the optional category_id, its meaning, or how it narrows results. Roughly half the parameters remain unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: return live filter metadata/options for a search query. It is clearly distinguishable in intent from rozetka_search_products or rozetka_list_categories, though it doesn't explicitly contrast itself with those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit sequencing guidance ('Use this before passing category-specific keys in rozetka_search_products.filters') and names the exact sibling whose parameter it feeds. An agent knows precisely when to call this and why.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rozetka_resolve_urlA

Resolve a Rozetka product URL (/p/) or category URL (/c/) without a network request.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that the operation is network-free, implying local/read-only and fast behavior, but does not describe error handling, malformed-URL behavior, or the return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence that states the verb, accepted URL forms, and the key no-network constraint. There is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool complexity is low, but with no annotations and no output schema, the description should explain what resolving yields, such as an ID, type, or object. It adequately covers accepted inputs and local behavior, but leaves return value and failure behavior for the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the single 'url' parameter is undocumented in the schema. The description compensates by naming accepted path patterns (/p<ID>/ and /c<ID>/) for product and category URLs, adding meaningful semantics beyond a bare string, though it lacks full-URL examples and invalid-input details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Resolve') and resources ('product URL' or 'category URL') with path patterns. It implies local parsing via 'without a network request', which distinguishes it from network-fetching siblings, but it does not name alternatives or state the resolved output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use when you have a Rozetka product or category URL and want to resolve it locally, and 'without a network request' signals preferring this over fetching tools when only parsing is needed. No explicit when-not-use guidance or named alternatives are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rozetka_saved_search_createC

Save a structured Rozetka search locally for repeat execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
searchYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, so the description carries the full behavioral burden. 'Save locally' usefully signals client-side persistence rather than server state, but it omits whether an existing name is overwritten, whether a handle/id is returned for rozetka_saved_search_run, and any validation or storage-limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight sentence with the verb and purpose front-loaded and no filler. It is lean, though the brevity is part of why other dimensions are thin.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutation tool with no annotations and no output schema, wrapping a nested search object with 9 sub-fields. The description says nothing about what is returned, how the saved search is later referenced by run/delete/list, or how it interacts with name collisions, leaving an agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is 0%: neither 'name' (uniqueness, overwrite semantics) nor the 'search' object is explained in the description beyond the word 'structured'. With low coverage the description should compensate, and it does not, even though the nested schema partially self-documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (save) and resource (a structured Rozetka search) plus the intent (repeat execution), which separates it from rozetka_search_products (one-off search) and rozetka_saved_search_run (execute a saved one). It stops short of naming those siblings explicitly, so an agent still has to infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'For repeat execution' implies the condition for using it over a direct search, but there is no explicit when-to-use statement, no mention of the companion tools (run/list/delete), and no note on prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rozetka_saved_search_deleteC

Delete a locally saved Rozetka search.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden. It discloses only that the saved search is 'local', which usefully implies no remote/server-side effect, but says nothing about irreversibility, error behavior for an unknown id, or whether other saved searches are affected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, and the action is front-loaded. It is efficient, though arguably too terse for the gaps it leaves.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A destructive-looking operation with no annotations, no output schema, and an undocumented id parameter leaves key information missing: where the id comes from, whether deletion is permanent, and what happens on failure. The description is inadequate for a delete tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description never mentions the single required 'id' parameter, so it does not tell the agent what the id identifies or where to obtain it (e.g., from rozetka_saved_search_list). The schema supplies only type and minLength constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Delete') and resource ('locally saved Rozetka search'), which is unambiguous against siblings like rozetka_saved_search_create/run/list. It does not explicitly contrast itself with those siblings, but the action and target are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus alternatives, nor on prerequisites such as obtaining the id from rozetka_saved_search_list before deleting. The word 'locally' faintly scopes the operation but no explicit when/when-not is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rozetka_saved_search_listB

List locally saved Rozetka searches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses that these searches are stored 'locally' (implying a local store rather than a remote call), which is real behavioral context. However, it says nothing about read-only semantics, permissions, or failure modes when no saved searches exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no waste. It is appropriately sized for a zero-parameter list tool, though it is close to the minimum needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple zero-param list tool with no output schema and no annotations, the description is minimally adequate but omits any hint of what is returned or what the local store contains. An agent has enough to invoke it but not to reason about results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there are no parameter semantics to document; the baseline for a no-parameter tool applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('locally saved Rozetka searches'), so an agent can distinguish it from rozetka_saved_search_create, _delete, and _run. It does not explicitly name siblings, but the resource is precise enough that differentiation is easy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this versus the sibling saved-search tools or rozetka_search_products. Usage is only implied by the name and the word 'saved'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rozetka_saved_search_runC

Run a locally saved Rozetka search.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It does not state that this is a read-only lookup, whether the saved search criteria are re-executed against live data, or what the invocation returns, leaving the agent to guess at side effects and output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence that wastes nothing, but it is terse to the point of under-specification rather than genuinely efficient structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema, and an undocumented required parameter, the description is too thin. It should at minimum explain the id's provenance and what a successful run returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single parameter 'id' is undocumented. The phrase 'locally saved' hints that id refers to a stored search, but it never says where the id comes from (presumably rozetka_saved_search_list) or what format it takes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (Run) and resource (a locally saved Rozetka search), which is enough to place it against siblings like rozetka_saved_search_create/delete/list. It does not, however, spell out what 'running' produces (a product result set vs. re-persisting the query).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no mention of the alternative tools. An agent is left to infer that this is the execution counterpart to saved_search_create/list and that plain rozetka_search_products exists for ad-hoc queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rozetka_search_productsB

Search Rozetka.ua through its public-facing JSON search backend. No browser automation. Rich hydration is best-effort and never required.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNorelevance
limitNo
queryYesProduct search query.
sellerNoRozetka seller filter, e.g. 'rozetka', when supported by the backend.
filtersNoExact Rozetka query/filter parameters. Discover valid keys/values with rozetka_list_filters first.
hydrateNoTry rich catalog hydration when available; automatically falls back to public search results if Rozetka blocks the catalog host.
max_priceNoClient-side maximum price filter after Rozetka search/hydration.
min_priceNoClient-side minimum price filter after Rozetka search/hydration.
category_idNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose useful traits: no browser automation, best-effort hydration, and an automatic fallback. However it omits rate limits, whether the endpoint can fail/be blocked in other ways, and any auth requirements, so it is only partially transparent for a network-scraping tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences that contain no filler. It is efficient, though the final sentence about hydration is fairly thin and the whole thing borders on under-specification for a 10-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-param, nested-object, no-output-schema, no-annotation tool, the description covers mechanism and fallback but leaves pagination semantics, filter discovery ordering, and failure modes unaddressed. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, above the midpoint, so baseline is roughly 3. The description adds only a note that hydration is best-effort (reinforcing the hydrate param), and says nothing about page, sort, limit, seller, or the filter-discovery workflow beyond what the schema already encodes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Search Rozetka.ua') and identifies the mechanism (public-facing JSON search backend) plus a negative constraint ('No browser automation'). It does not, however, differentiate itself from siblings like rozetka_get_products or rozetka_get_product, so the agent must infer that this is the query-driven search path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no named alternatives. The agent is not told when to pick this over rozetka_get_products, nor that rozetka_list_filters must run first to populate the filters object — that hint only lives in the schema, not the description.

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.

  1. 10 tool updatesv0.1.0
    • First observedrozetka_get_product
    • First observedrozetka_get_products
    • First observedrozetka_list_categories
    • First observedrozetka_list_filters
    • First observedrozetka_resolve_url
    • First observedrozetka_saved_search_create
    • First observedrozetka_saved_search_delete
    • First observedrozetka_saved_search_list
    • First observedrozetka_saved_search_run
    • First observedrozetka_search_products

TDQS

B3.3/5.0

Scored across 10 tools

Disambiguation4/5

Most tools target distinct resources or actions, but get_product vs get_products and get_product vs resolve_url for URL inputs create mild overlap. Descriptions generally clarify boundaries, so misselection risk is low but not zero.

Naming Consistency3/5

All names use snake_case with a rozetka_ prefix, which is good. However, product tools follow verb_noun (get_product, search_products, list_filters) while saved-search tools follow noun_verb (saved_search_list, saved_search_create, saved_search_delete, saved_search_run), creating a clear mixed convention.

Tool Count5/5

10 tools are well-scoped for a product search/catalog and saved-search wrapper. The set covers core retrieval, search support, URL resolution, and saved-search lifecycle without excessive or trivial tools.

Completeness4/5

The surface covers search, single/batch product fetch, filters, categories, URL resolution, and saved-search create/list/run/delete. Minor gaps remain: no update/rename for saved searches and no dedicated category-browse operation beyond search.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables querying DNS Shop product data via MCP: search, product details, reviews, specifications, variants, categories, brand catalogs, availability by city, and store listings.
    12
    18
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables read-only search and retrieval of the public Reknihy.cz book catalog, including filtering, sorting, ISBN lookup, category browsing, and access to product details such as price, availability, and images.
    4
    ISC
  • A
    license
    A
    quality
    A
    maintenance
    Enables MCP clients to search Walmart products by keyword or category, retrieve product details including the buy box and other sellers, and page through customer reviews with filters, all as structured JSON without a Walmart developer account.
    3
    34 npm
    137 PyPI
    10
    MIT