Skip to main content
Glama

Zephior Discovery

List tender changes

list_public_tender_changes
Read-onlyIdempotent

List published notice changes in change order, with the kind of event, changed fields and a continuation cursor. Filter by countries, sources, sectors and events, and bound the window with since and until. A revision is a Zephior version, not an official amendment: event source_changed means a new source version was read, corrected a Zephior correction.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_public_tender_changes"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
sinceNoEarliest change time with a timezone. Without a cursor or since, the feed starts seven days ago.
untilNoExclusive end of the window, with a timezone. With since and until, paging with nextCursor reads one closed window completely.
cursorNoPass nextCursor from the previous response to continue where it stopped.
eventsNo
localeNoen
sectorsNo
sourcesNoSource IDs from list_public_tender_sources, such as ted-europa.
countriesNo

Output Schema

NameRequiredDescriptionDefault
itemsYes
localeYesen
nextCursorYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / countries
      Added value: +{
      +  "items": {
      +    "pattern": "^[A-Z]{2}$",
      +    "type": "string"
      +  },
      +  "maxItems": 250,
      +  "type": "array",
      +  "uniqueItems": true
      +}
    • addedInput schema / properties / events
      Added value: +{
      +  "items": {
      +    "enum": [
      +      "published",
      +      "source_changed",
      +      "corrected",
      +      "withdrawn",
      +      "merged",
      +      "republished"
      +    ],
      +    "type": "string"
      +  },
      +  "maxItems": 6,
      +  "type": "array",
      +  "uniqueItems": true
      +}
    • addedInput schema / properties / sectors
      Added value: +{
      +  "items": {
      +    "enum": [
      +      "construction",
      +      "medical",
      +      "it-telecoms",
      +      "energy",
      +      "environment",
      +      "transport",
      +      "facilities",
      +      "food",
      +      "engineering",
      +      "consulting",
      +      "education",
      +      "office",
      +      "culture",
      +      "machinery",
      +      "materials",
      +      "agriculture"
      +    ],
      +    "type": "string"
      +  },
      +  "maxItems": 16,
      +  "type": "array",
      +  "uniqueItems": true
      +}
    • addedInput schema / properties / sources
      Added value: +{
      +  "description": "Source IDs from list_public_tender_sources, such as ted-europa.",
      +  "items": {
      +    "pattern": "^[a-z0-9-]{1,100}$",
      +    "type": "string"
      +  },
      +  "maxItems": 50,
      +  "type": "array",
      +  "uniqueItems": true
      +}
    • addedInput schema / properties / until
      Added value: +{
      +  "description": "Exclusive end of the window, with a timezone. With since and until, paging with nextCursor reads one closed window completely.",
      +  "format": "date-time",
      +  "type": "string"
      +}
    • addedOutput schema / properties / items / items / properties / event
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / sector
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / sourcePlatform
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already carry the safety profile (readOnlyHint, idempotentHint, openWorldHint, destructiveHint=false), so the description earns credit by adding ordering semantics (change order), the response shape (event kind, changed fields, cursor) and an explicit disambiguation that a revision is a Zephior version rather than an official amendment. It omits rate limits and the default seven-day window, which lives only in the since schema field.

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 sentences with the core list behavior front-loaded, then filters, then a domain caveat. Efficient, though the final clause about 'corrected a Zephior correction' is garbled enough to cost a point.

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

Completeness4/5

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

With an output schema present, return values need not be re-explained, and the description covers windowing, filtering and cursor continuation for a nine-parameter, all-optional feed. Missing only the default-window behavior and non-filter parameters (limit, locale), which keeps it short of a 5.

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 description coverage is only 44% (limit, events, sectors, countries, locale undocumented), yet the description names countries, sources, sectors, events, since/until and the cursor, and goes beyond the enum list by explaining what source_changed and corrected actually mean. It still leaves limit and locale 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?

Specific verb (List) plus resource (published notice changes) with the payload spelled out: event kind, changed fields, continuation cursor. It also defines the temporal shell (change order, since/until window), though it never names a sibling such as search_public_tenders or get_public_tender to route against.

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 states what can be filtered (countries, sources, sectors, events) and how to bound the window, which implies the intended polling/feed use case, but gives no when-to-use vs when-not guidance and names no alternative among the seven siblings.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources