Skip to main content
Glama

Public contracts won or awarded

company_contracts
Read-onlyIdempotent

Public procurement contracts from SEAP, Romania's electronic procurement system: what a company won from public authorities, or what it awarded as a contracting authority. Each contract carries the contracting authority, CPV code, contract number, date and value in RON, plus a per-year summary and the top counterparties. Source: ANAP reports published by ADR on data.gov.ro (CC-BY 4.0), loaded quarterly.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "cui": "<cui>"
    },
    "name": "company_contracts"
  }
}

Input Schema

NameRequiredDescriptionDefault
cuiYesRomanian tax identification number (CUI), e.g. '2816464'; 'RO' and leading zeros are accepted.
roleNo'supplier' = contracts the company won; 'authority' = contracts it awarded; 'both'.supplier
limitNoContracts to return, newest first (1-200).
sinceNoOnly contracts dated on or after this date (YYYY-MM-DD).
untilNoOnly contracts dated on or before this date (YYYY-MM-DD).

Output Schema

NameRequiredDescriptionDefault
cuiNoThe company's CUI.
topNoTop 10 counterparties: the authorities a supplier won from, or the winners an authority awarded to (name, cui, contracts, valueRon of the sole awards like totalValueRon, sharedContracts, sharedValueRon at whole value).
asOfNoThe publisher's date for the newest workbook loaded (quarterly).
lotsNoLot rows on record, which is more than total when a framework contract has lots.
roleNoWhat was queried: supplier, authority or both.
errorNoSet only when there is no answer (empty_query, invalid_cui, data_unavailable, plan_required ...); such a call is not counted.
foundNoWhether any contract is on record.
totalNoDistinct contracts on record (a framework contract repeats its value on every lot row, so it counts once).
yearsNoPer year, newest first: contracts, valueRon (sole awards), unpriced (published with no value) and shared (whole value not attributed).
sourceNoData source: onrc (registry) or mfp (Ministry of Finance filings).
messageNoA sentence for the caller.
contractsNocontractNo, contractDate, valueRon, cpv, cpvName, lot, authority{name,cui}, winner{name,cui}, newest first.
attributionNoThe credit line to keep when redistributing the data (CC BY 4.0).
totalValueRonNoSum of the values of contracts this firm won alone (RON). A framework's whole value is not attributed to each of its winners: those are counted in sharedValueRon.
sharedValueRonNoSum of the shared awards' whole values (RON).
sharedContractsNoContracts on which other winners are also named (their whole value is in sharedValueRon, not counted as this firm's own).
unpricedContractsNoContracts published with no value (0 or empty): counted in total, adding nothing to the values.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedOutput schema / properties / top / description
      Previous value: -"Top 10 counterparties: the authorities a supplier won from, or the winners an authority awarded to (name, cui, contracts, valueRon)."New value: +"Top 10 counterparties: the authorities a supplier won from, or the winners an authority awarded to (name, cui, contracts, valueRon of the sole awards like totalValueRon, sharedContracts, sharedValueRon at whole value)."
    • addedOutput schema / properties / unpricedContracts
      Added value: +{
      +  "description": "Contracts published with no value (0 or empty): counted in total, adding nothing to the values.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / years / description
      Previous value: -"Per year: contracts and valueRon, newest first."New value: +"Per year, newest first: contracts, valueRon (sole awards), unpriced (published with no value) and shared (whole value not attributed)."
  2. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish that this is a read-only, idempotent, non-destructive, closed-world lookup. The description adds useful provenance and freshness context: source ANAP reports via data.gov.ro, CC-BY 4.0, loaded quarterly, plus the shape of returned contract data.

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 front-loaded with the core purpose and then adds only relevant provenance and content details. There is no filler, and the source/licensing/freshness sentence earns its place by clarifying data origin and cadence.

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?

Given the rich input schema, output schema, and annotations, the description supplies everything else an agent needs: data source, scope, role semantics, record contents, summary availability, and update cadence. Nothing material is missing for correct tool selection.

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 100%, so the schema already explains cui, role, limit, since, and until. The description reinforces the won/awarded distinction but does not add syntax or filtering details beyond the schema, making the baseline score appropriate.

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 names a specific resource and scope: public procurement contracts from SEAP, covering both contracts a company won and contracts it awarded as an authority. It also identifies the record contents and summary data, so an agent can distinguish this tool from general company lookup or financials tools.

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 use context is clear: query public procurement history for a company, with the supplier/authority distinction explained inline. It does not explicitly name sibling alternatives or state when not to use it, so it falls short of the top score.

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