Skip to main content
Glama
dam2452

atlas-przetargow-mcp-py

by dam2452

Get Category Stats

get_category_stats

Get aggregate CPV category statistics: tender counts, average and median values, average offer counts, and deadline lengths. Choose month, quarter, or year windows; the response verifies the actual window applied.

Instructions

Get aggregate statistics for a CPV category: tender count, average and median value, average offers count, average deadline length.

The response includes the actual days window the API applied - the upstream API sometimes ignores the requested window, so verify it.

Examples: get_category_stats("302") get_category_stats("45240000-1", window="quarter")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cpvYes
windowNoyear

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the transparency burden and does disclose a non-obvious upstream behavior: the API sometimes ignores the requested window, so the response must be verified against the actual days applied. This is valuable beyond the schema, though it does not discuss permissions or error cases.

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 has three compact components: purpose, one critical caveat, and two examples. Every sentence earns its place, and the most important behavioral warning is prominently placed before the examples.

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?

For a two-parameter stats tool with an output schema, the description provides the computed metrics, input examples, and a necessary caveat about response verification. It does not discuss routing to sibling tools, but that omission is already reflected in usage_guidelines.

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 0%, so the description must compensate. It does so with concrete examples ('302', '45240000-1', window='quarter') and identifies cpv as a CPV category. The window parameter's allowed values are left to the schema enum, but the examples and 'requested window' phrasing convey its role clearly.

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 'Get aggregate statistics for a CPV category' and enumerates exact metrics: tender count, average and median value, average offers count, average deadline length. This is specific and distinguishes it from siblings like get_province_stats and search_tenders.

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

Usage Guidelines4/5

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

The description clearly scopes usage to CPV-category aggregate statistics, and the examples show realistic calls. It does not explicitly state when to prefer a sibling like get_province_stats or when not to use this tool, so it stops short of full routing guidance.

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