Skip to main content
Glama
VladyslavMykhailyshyn

Prozorro.Sale MCP Server

Watch for new and updated auctions

track_auction_changes
Read-onlyIdempotent

Monitor Prozorro.Sale auctions for new or updated listings since a specified time, with cursor-based pagination for ongoing polling.

Instructions

What appeared or changed in a niche since a given moment. Cursor-based, so repeated calls make forward progress without re-reading the same activity.

WHEN TO USE: monitoring rather than searching — "anything new since yesterday", "did anything change on the lots I am watching", "keep me posted on timber auctions". For a one-off "what exists" question use search_auctions instead.

KEY PARAMETERS

  • since: ISO instant to watch from. Defaults to 24 hours ago. On follow-up polls pass back the nextCursor from the previous response — that is the whole point of this tool.

  • procedure_type / status / keyword / region: narrow the watch to one niche.

  • limit / scan_pages: raise when a busy window truncates.

EXAMPLE — first poll of a niche: {"procedure_type":["landRental"],"region":"Полтав","limit":20}

EXAMPLE — follow-up poll using the cursor from the previous response: {"procedure_type":["landRental"],"region":"Полтав","since":"2026-08-06T06:27:21.880000Z"}

RETURNS: changed auctions with changedAt and an isNew flag distinguishing brand-new listings from updates to existing ones, a newlyPublished count, and nextCursor for the following poll. The cursor is inclusive, so the last auction may repeat once.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum changed auctions to list. Default 30.
sinceNoISO instant to watch from — pass the "nextCursor" returned by the previous call to poll for new activity. Defaults to 24 hours ago.
untilNoOptional upper bound, ISO instant. Defaults to now.
regionNoSubstring of the oblast or settlement name.
statusNoRestrict to procedures currently in these statuses, e.g. ["active_tendering"].
keywordNoFree-text filter applied to title, description and items.
scan_pagesNoFeed pages (100 auctions each) this call may read. Default 8.
procedure_typeNoRestrict to an asset programme or exact selling method, e.g. ["smallPrivatization"].
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, but the description adds substantial behavioral depth beyond these: cursor-based forward progress, the inclusive-cursor caveat ("the last auction may repeat once"), default `since` behavior, and the distinction between new and updated items via `isNew`. This enriches the agent's understanding without contradicting the annotations.

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 well-structured with clear sections (WHAT, WHEN TO USE, KEY PARAMETERS, EXAMPLES, RETURNS) and uses bold labels. Every paragraph earns its place: two examples, one for first poll and one for follow-up, and the return fields are summarized without restating the schema verbatim. Despite its length, it is dense with useful information and free of filler.

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

Completeness5/5

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

The tool has 8 parameters, no output schema, and moderate complexity due to cursor semantics. The description covers the monitoring use case, parameter roles, default behavior, examples, and return fields (changedAt, isNew, newlyPublished, nextCursor). It also mentions the inclusive-cursor edge case. This is sufficient for an agent to invoke the tool correctly across both initial and follow-up calls.

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 100% with per-parameter descriptions, so the schema already handles literal meaning. The description adds semantic value by grouping parameters (procedure_type/status/keyword/region as niche narrowers), giving practical advice for `since` (pass back nextCursor), and explaining when to raise `limit`/`scan_pages` (busy window truncation). It doesn't cover `until` but the schema does; overall the added context exceeds the baseline.

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?

The description opens with a specific, behavior-rich statement: "What appeared or changed in a niche since a given moment." This clearly identifies the action (tracking new/updated auctions), the resource (auctions in a niche), and the time-based scope. It also explicitly differentiates from search_auctions by framing monitoring vs. one-off searching, making the tool's purpose unmistakable.

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?

The description includes a dedicated "WHEN TO USE" section with concrete examples ("anything new since yesterday", "keep me posted") and directly instructs to "use search_auctions instead" for one-off questions. This is explicit, actionable guidance that names the alternative tool and the decision criterion.

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

Install Server

Other Tools

Latest Blog Posts

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/VladyslavMykhailyshyn/prozorro-sale-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server