Skip to main content
Glama

Germany Buyer Spend History

germany_buyer_spend_history
Read-onlyIdempotent

Procurement spend history for a GERMAN government buyer (Vergabestelle) — e.g. a city, a ministry, a university hospital — across German OCDS tender notices (oeffentlichevergabe.de, CC0). Matches the buyer name (case-insensitive substring, e.g. "Universitätsklinikum Halle", "Stadt Angermünde"). Returns process count, how many of those disclosed a EUR value (German notices below the EU publication threshold frequently omit contract value — this is reported, not hidden), total disclosed spend in EUR, top procurement categories, and a sample of recent processes. Spans up to 12+ months (see data_as_of in the response for the current coverage).

Input Schema

NameRequiredDescriptionDefault
buyerYesBuyer name, partial match, e.g. "Universitätsklinikum Halle", "Stadt Angermünde", "Ministerium".
date_toNoLatest publish date, YYYY-MM-DD. Omit for no upper bound.
date_fromNoEarliest publish date, YYYY-MM-DD. Omit for no lower bound.
sample_limitNoHow many example processes to include (default 10, max 25).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the bar is met, and the description adds real value beyond them: it discloses that German sub-threshold notices frequently omit contract values and that this is 'reported, not hidden', plus the 12+ month coverage window and the data_as_of field for freshness. It doesn't mention rate limits or auth, keeping it below a 5.

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 dense paragraph that is front-loaded with the core resource and scope, then layers evidence and caveats via em-dash clauses. Every sentence carries information, though it is on the long side and the return-value list could be tightened.

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 no output schema, the description carries the burden of describing returns and does so well: process count, disclosed-value count, total EUR spend, top categories, recent-process sample, and the data_as_of coverage signal. What is missing is minor — no note on stable ordering or what a zero-disclosure buyer looks like in the response.

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%, so the baseline is 3, but the description adds matching semantics the schema does not state: buyer matching is a case-insensitive substring (with concrete examples like 'Universitätsklinikum Halle'). Roughly duplicates the sample_limit default/max and date bounds, so it is above baseline but not richly additive.

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 names a specific verb and resource ('Procurement spend history for a GERMAN government buyer') and pins the data source (German OCDS notices, oeffentlichevergabe.de, CC0). It is unambiguous about scope, though it never names or contrasts the obvious sibling germany_supplier_win_history or germany_search_tenders, so it falls short of full sibling differentiation.

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 clearly by the purpose and the buyer-name matching examples, but there is no explicit guidance on when to pick this tool over germany_supplier_win_history (supplier side) or germany_search_tenders, nor any stated exclusions. Adequate but leaves the routing decision to inference.

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.