Skip to main content
Glama

ADF: EU/UK Tenders, EU Law, Funding, Medicines, Shortages, Recalls, Sanctions, CVE, CERT, Holidays

Get the paid query URL and x402 terms

query_dataset
Read-onlyIdempotent

Paid data access. Returns no records itself: it builds the HTTPS query URL for your filters and returns the x402 payment terms (USDC on Base; amsterdam-events $0.005, security-advisories $0.003, vulnerability-watch $0.003, eu-tenders $0.01, uk-tenders $0.005, eu-funding $0.005, cert-advisories $0.003, eu-medicines $0.005, sanctions-entities $0.005, product-recalls $0.005, eu-legislation $0.005, drug-shortages $0.005, public-holidays $0.002 per call). Send a GET to http_endpoint with an x402 client (v2 PAYMENT-SIGNATURE or v1 X-PAYMENT header) to receive up to 100 matching records; no account or API key. Filters per dataset: amsterdam-events: from, to, district, q, min_visitors, limit, offset; security-advisories: cve, vendor, product, q, added_since, ransomware, min_epss, limit, offset; vulnerability-watch: cve, vendor, product, q, min_cvss, kev, updated_since, limit, offset; eu-tenders: country, cpv, q, deadline_after, deadline_before, published_since, min_value, nature, limit, offset; uk-tenders: nation, region, cpv, q, buyer, deadline_after, deadline_before, published_since, min_value, category, sme, status, source, limit, offset; eu-funding: q, programme, status, type, deadline_after, deadline_before, min_budget, limit, offset; cert-advisories: cve, vendor, product, q, cert, country, type, updated_since, kev, limit, offset; eu-medicines: q, type, category, substance, atc, area, holder, status, flag, shortage, updated_since, limit, offset; sanctions-entities: q, list, type, programme, country, identifier, updated_since, limit, offset; product-recalls: q, country, authority, source, category, classification, firm, allergen, status, since, limit, offset; eu-legislation: type, author, subject, q, celex, amends, published_since, in_force, limit, offset; drug-shortages: q, substance, country, status, since, source, holder, area, limit, offset; public-holidays: country, region, date_from, date_to, year, type, q, limit, offset. For free records without filters use get_sample.

Input Schema

NameRequiredDescriptionDefault
datasetYesDataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; vulnerability-watch: Vulnerability watch; eu-tenders: EU public tenders; uk-tenders: UK public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA); sanctions-entities: Sanctioned entities, vessels and aircraft (EU and OFAC lists); product-recalls: Product recalls and safety alerts (US FDA, US CPSC, US NHTSA, Health Canada, Transport Canada, CFIA, UK FSA, UK OPSS); eu-legislation: EU legislation: new and amended acts in the Official Journal (regulations, directives, decisions); drug-shortages: Medicine shortages (US FDA, EMA); public-holidays: Public and bank holidays (official government lists, current and next year).
filtersNoOptional filters as name to string value, for example {"country":"NLD","cpv":"72","limit":"5"}. Allowed names per dataset are listed in this description and in list_datasets.

Output Schema

NameRequiredDescriptionDefault
x402Nox402 v1 payment requirements (scheme, network, asset, amount, payTo); v2 terms come in the PAYMENT-REQUIRED header of the endpoint.
price_usdYesPrice per call in USD.
http_endpointYesGET this URL with an x402 payment to receive the records.
payment_requiredYesAlways true: the endpoint needs an x402 payment.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / dataset / description
      Previous value: -"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; vulnerability-watch: Vulnerability watch; eu-tenders: EU public tenders; uk-tenders: UK public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA); sanctions-entities: Sanctioned entities, vessels and aircraft (EU and OFAC lists); product-recalls: Product recalls and safety alerts (US FDA, Health Canada, Transport Canada, CFIA, UK FSA, UK OPSS)."New value: +"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; vulnerability-watch: Vulnerability watch; eu-tenders: EU public tenders; uk-tenders: UK public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA); sanctions-entities: Sanctioned entities, vessels and aircraft (EU and OFAC lists); product-recalls: Product recalls and safety alerts (US FDA, US CPSC, US NHTSA, Health Canada, Transport Canada, CFIA, UK FSA, UK OPSS); eu-legislation: EU legislation: new and amended acts in the Official Journal (regulations, directives, decisions); drug-shortages: Medicine shortages (US FDA, EMA); public-holidays: Public and bank holidays (official government lists, current and next year)."
    • changedInput schema / properties / dataset / enum
      Previous value: -[
      -  "amsterdam-events",
      -  "security-advisories",
      -  "vulnerability-watch",
      -  "eu-tenders",
      -  "uk-tenders",
      -  "eu-funding",
      -  "cert-advisories",
      -  "eu-medicines",
      -  "sanctions-entities",
      -  "product-recalls"
      -]New value: +[
      +  "amsterdam-events",
      +  "security-advisories",
      +  "vulnerability-watch",
      +  "eu-tenders",
      +  "uk-tenders",
      +  "eu-funding",
      +  "cert-advisories",
      +  "eu-medicines",
      +  "sanctions-entities",
      +  "product-recalls",
      +  "eu-legislation",
      +  "drug-shortages",
      +  "public-holidays"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / dataset / description
      Previous value: -"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; vulnerability-watch: Vulnerability watch; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA); sanctions-entities: Sanctioned entities, vessels and aircraft (EU and OFAC lists); product-recalls: Product recalls and safety alerts (US FDA, Health Canada, Transport Canada, CFIA, UK FSA, UK OPSS)."New value: +"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; vulnerability-watch: Vulnerability watch; eu-tenders: EU public tenders; uk-tenders: UK public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA); sanctions-entities: Sanctioned entities, vessels and aircraft (EU and OFAC lists); product-recalls: Product recalls and safety alerts (US FDA, Health Canada, Transport Canada, CFIA, UK FSA, UK OPSS)."
    • changedInput schema / properties / dataset / enum
      Previous value: -[
      -  "amsterdam-events",
      -  "security-advisories",
      -  "vulnerability-watch",
      -  "eu-tenders",
      -  "eu-funding",
      -  "cert-advisories",
      -  "eu-medicines",
      -  "sanctions-entities",
      -  "product-recalls"
      -]New value: +[
      +  "amsterdam-events",
      +  "security-advisories",
      +  "vulnerability-watch",
      +  "eu-tenders",
      +  "uk-tenders",
      +  "eu-funding",
      +  "cert-advisories",
      +  "eu-medicines",
      +  "sanctions-entities",
      +  "product-recalls"
      +]
  3. Changed2 schema fields changed
    • changedInput schema / properties / dataset / description
      Previous value: -"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA); sanctions-entities: Sanctioned entities, vessels and aircraft (EU and OFAC lists)."New value: +"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; vulnerability-watch: Vulnerability watch; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA); sanctions-entities: Sanctioned entities, vessels and aircraft (EU and OFAC lists); product-recalls: Product recalls and safety alerts (US FDA, Health Canada, Transport Canada, CFIA, UK FSA, UK OPSS)."
    • changedInput schema / properties / dataset / enum
      Previous value: -[
      -  "amsterdam-events",
      -  "security-advisories",
      -  "eu-tenders",
      -  "eu-funding",
      -  "cert-advisories",
      -  "eu-medicines",
      -  "sanctions-entities"
      -]New value: +[
      +  "amsterdam-events",
      +  "security-advisories",
      +  "vulnerability-watch",
      +  "eu-tenders",
      +  "eu-funding",
      +  "cert-advisories",
      +  "eu-medicines",
      +  "sanctions-entities",
      +  "product-recalls"
      +]
  4. Changed2 schema fields changed
    • changedInput schema / properties / dataset / description
      Previous value: -"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA)."New value: +"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA); sanctions-entities: Sanctioned entities, vessels and aircraft (EU and OFAC lists)."
    • changedInput schema / properties / dataset / enum
      Previous value: -[
      -  "amsterdam-events",
      -  "security-advisories",
      -  "eu-tenders",
      -  "eu-funding",
      -  "cert-advisories",
      -  "eu-medicines"
      -]New value: +[
      +  "amsterdam-events",
      +  "security-advisories",
      +  "eu-tenders",
      +  "eu-funding",
      +  "cert-advisories",
      +  "eu-medicines",
      +  "sanctions-entities"
      +]
  5. Changed2 schema fields changed
    • changedInput schema / properties / dataset / description
      Previous value: -"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories."New value: +"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories; eu-medicines: EU medicines: authorisations, shortages, safety communications and referrals (EMA)."
    • changedInput schema / properties / dataset / enum
      Previous value: -[
      -  "amsterdam-events",
      -  "security-advisories",
      -  "eu-tenders",
      -  "eu-funding",
      -  "cert-advisories"
      -]New value: +[
      +  "amsterdam-events",
      +  "security-advisories",
      +  "eu-tenders",
      +  "eu-funding",
      +  "cert-advisories",
      +  "eu-medicines"
      +]
  6. Changed2 schema fields changed
    • changedInput schema / properties / dataset / description
      Previous value: -"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants."New value: +"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants; cert-advisories: European CERT security advisories."
    • changedInput schema / properties / dataset / enum
      Previous value: -[
      -  "amsterdam-events",
      -  "security-advisories",
      -  "eu-tenders",
      -  "eu-funding"
      -]New value: +[
      +  "amsterdam-events",
      +  "security-advisories",
      +  "eu-tenders",
      +  "eu-funding",
      +  "cert-advisories"
      +]
  7. Changed4 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / dataset / description
      Added value: +"Dataset id. amsterdam-events: Amsterdam events; security-advisories: Security advisories; eu-tenders: EU public tenders; eu-funding: EU funding calls and grants."
    • addedInput schema / properties / filters / description
      Added value: +"Optional filters as name to string value, for example {\"country\":\"NLD\",\"cpv\":\"72\",\"limit\":\"5\"}. Allowed names per dataset are listed in this description and in list_datasets."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "http_endpoint": {
      +      "description": "GET this URL with an x402 payment to receive the records.",
      +      "type": "string"
      +    },
      +    "payment_required": {
      +      "description": "Always true: the endpoint needs an x402 payment.",
      +      "type": "boolean"
      +    },
      +    "price_usd": {
      +      "description": "Price per call in USD.",
      +      "type": "string"
      +    },
      +    "x402": {
      +      "description": "x402 v1 payment requirements (scheme, network, asset, amount, payTo); v2 terms come in the PAYMENT-REQUIRED header of the endpoint.",
      +      "type": [
      +        "object",
      +        "string"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "payment_required",
      +    "http_endpoint",
      +    "price_usd"
      +  ],
      +  "type": "object"
      +}
  8. Changed1 schema field changed
    • changedInput schema / properties / dataset / enum
      Previous value: -[
      -  "amsterdam-events",
      -  "security-advisories",
      -  "eu-tenders"
      -]New value: +[
      +  "amsterdam-events",
      +  "security-advisories",
      +  "eu-tenders",
      +  "eu-funding"
      +]
  9. Changed1 schema field changed
    • changedInput schema / properties / dataset / enum
      Previous value: -[
      -  "amsterdam-events",
      -  "security-advisories"
      -]New value: +[
      +  "amsterdam-events",
      +  "security-advisories",
      +  "eu-tenders"
      +]
  10. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Adds substantial behavior beyond the readOnly/idempotent annotations: it declares that no records are returned, that payment is required with per-dataset USDC pricing, the accepted header versions (v2 PAYMENT-SIGNATURE / v1 X-PAYMENT), the 100-record cap, and that no account or API key is needed. These are exactly the non-obvious operational facts an agent needs before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical facts (no records, payment, follow-up GET) are front-loaded and every clause is substantive, but the per-dataset filter enumeration collapses thirteen lists into a single dense paragraph that is difficult to scan or parse. Information-dense but structurally poor.

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?

For a two-parameter tool with an output schema, everything an agent needs is present: what is returned, how to pay, how to follow up, record caps, and the valid filter names per dataset. Nothing material is left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, but the filters parameter is a free-form string map, so the schema alone gives no clue which keys mean anything. The description supplies the complete per-dataset filter vocabulary plus implied limit/offset pagination, which is meaning the schema genuinely cannot convey.

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?

States a specific verb and output ("builds the HTTPS query URL for your filters and returns the x402 payment terms") and immediately negates the wrong expectation ("Returns no records itself"). This cleanly separates it from get_sample and list_datasets, which an agent could otherwise confuse with a data-fetch tool.

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?

Gives an explicit alternative with its selecting condition: "For free records without filters use get_sample." It also explains the follow-up step (send GET with an x402 client) that must occur after this call, which is genuine routing guidance. It does not explicitly say when list_datasets should be used instead, so it stops short of full when/when-not coverage.

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