Skip to main content
Glama

research

Read-onlyIdempotent

[POST /v1/research — $0.50] High-level EU public procurement intelligence for a topic: recent tenders, relevant renewal signals, company opportunities and active buyers, each with evidence and an evidence-strength confidence label. Deterministic over the licita database (no LLM). Costs $0.50 USDC per call (x402). Use when an agent needs a research brief on a topic rather than raw rows from search_tenders/get_renewals.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNomax findings to return
queryYestopic to research (matches tender full-text, company/buyer names, renewal signals)
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.3/5.0
Behavior4/5

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

Annotations already declare read-only/idempotent/non-destructive. The description adds valuable behavioral context: deterministic over the licita database (no LLM), a $0.50 USDC cost, and that each finding carries an evidence-strength confidence label. It does not discuss rate limits or billing flow, but the cost and determinism disclosures go beyond the annotations.

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?

Dense and front-loaded: endpoint/cost, core purpose, output composition, determinism, and usage guidance are all covered in a few sentences. Minor redundancy exists between the '[POST /v1/research — $0.50]' prefix and the later cost sentence, but the structure remains efficient.

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 still explains the return shape at a useful level: tenders, renewal signals, opportunities, buyers, evidence, and confidence label. It also communicates cost and determinism. It doesn't spell out exact response fields or the full payment flow, but the schema covers payment parameters and the description is otherwise sufficient for a read-only research tool.

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 documents query, limit, client_key, and payment_token. The description's topic-related wording aligns with query semantics but adds no new parameter-level detail beyond the schema; baseline 3 is 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?

Description states a specific verb ('research'), resource ('EU public procurement intelligence'), and the exact output categories (tenders, renewal signals, opportunities, buyers with evidence and confidence labels). It explicitly contrasts with search_tenders/get_renewals, so an agent can disambiguate it from siblings.

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

Usage Guidelines5/5

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

Provides an explicit 'Use when...' condition ('research brief on a topic') and names the alternatives it should not replace ('rather than raw rows from search_tenders/get_renewals'). This gives clear context for selection over related read tools.

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