Skip to main content
Glama

search_tenders

Read-onlyIdempotent

[GET /v1/search — $0.02] Search Spanish public-sector IT/software/cyber procurement: awards, tenders and contracts. Filters: q (full-text), cpv (prefix), buyer, company, region (NUTS), from/to (YYYY-MM-DD), type=award|tender|contract. Returns compact rows with ids for the other tools.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNo
toNoYYYY-MM-DD
cpvNoCPV code or prefix, e.g. "72"
fromNoYYYY-MM-DD
pageNo
sizeNo
typeNoaward
buyerNo
regionNoNUTS code or prefix, e.g. "ES61"
companyNo
client_keyNoPrepaid credit balance key: when set, paid calls first try to debit this account instead of requiring a per-call proof.
payment_tokenNoPayment proof: dev mode → single-use token from POST /v1/dev-faucet; x402 mode → base64 payment payload (the PAYMENT-SIGNATURE / X-PAYMENT header value)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, and open-world behavior. The description adds useful behavioral context: the HTTP method, per-call cost, and that results are compact rows meant to feed other tools. It does not go into pagination or response limits, but annotations lower the burder needed.

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 one focused sentence with a front-loadead method, cost, domain, and resource, followed by a compact parenthetical filter list. Every element earns its place with no redundancy.

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 12-param tool with no output schema, the description covers scope, core filter semantic, cost, and return shape ('compact rows with ids') well enough for an agent to decide and invoke it. It does not spell out exact response fields or pagination behavior, but page/size exist in the schema with defaults, so this is a minor gap.

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?

With only 50% schema description coverage, the description compensates well for the main filters: it adds full-text semantics for q, prefix semantics for cpv and region, NUTS codes, and the type enum values. It omits page, size, and payment-related params, but those are reasonably covered by schema defaults and descriptions.

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 clearly states the tool's job with a specific verb ('Search'), a defined resource ('Spanish public-sector IT/software/cyber procurement'), and a scope ('awards, tenders and contracts'). It also distinguishes itself from sibling detail tools by saying it returns compact rows with ids for the other tools.

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 implies this is the list/search entry point and that other tools consume the returned ids, but it never explicitly says when to use search_tenders versus get_tender, get_company_awards, or research. This is adequate context but not explicit routing guidance.

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.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool maps to a distinct resource or action: billing balance, credit purchase, company profile/awards/opportunities, tender search/detail, renewals, buyer history, and research brief. The only possible overlap is research versus raw query tools, but the descriptions clearly separate a high-level brief from raw rows.

Naming Consistency3/5

Most tools follow a readable get_<resource> pattern, but billing_get_balance, billing_purchase_credits, search_tenders, and research deviate with namespace prefixes, a different verb, and a bare noun. The naming is not chaotic, but the conventions are mixed.

Tool Count5/5

With 11 tools, the server is well-scoped for a procurement-intelligence API: search, detail views, company and buyer analytics, renewal signals, research, pricing, and billing support. Each tool has a clear place and there are no obvious redundant tools.

Completeness5/5

The tool set covers the full core workflow: search for tenders, get full tender detail, explore company and buyer profiles, retrieve opportunities and renewals, generate research briefs, and manage billing. Ids returned by searh feed into detail tools, and no exposed data type appears to be a dead end.

Resources