Skip to main content
Glama

List EU compliance deadlines

compliance_list_deadlines
Read-onlyIdempotent

Returns statutory EU compliance dates (CBAM, EUDR and other laws) with the Official Journal source, quote and SHA-256 for each. Use it to browse or filter deadlines and to find ids; use compliance_get_deadline for one known id, tenders_list_deadline_changes for tender submission deadlines and funding_list_changes for grant call deadlines. Inputs (all optional, they narrow together): law (name from the returned laws list, case-insensitive, e.g. CBAM), status (upcoming or applies), from and to (YYYY-MM-DD). With no filters it returns every date, ordered by date then id, without paging. Output: as_of, verified, count, laws[] and deadlines[] with id, law, obligation, date, days_until, status, source URL, quote, SHA-256 and history. Data is bundled from the acts and reviewed as of verified; days_until is computed today. 26 obligations under 12 laws from 19 acts; 11 dates have moved through 7 amending acts, each earlier date kept in history with its act, article and quote. Terms: read-only; MCP calls are never charged. Without a key, metered routes give 10 successful answers a day free, as short samples (up to 3 records, without file proof, history or paging cursor) where a paid HTTP address exists (unmetered routes are unlimited); errors do not count. On the paid HTTP routes, errors are free, and so are empty answers except a sanctions name search with no match when every loaded list it checks is fresh (lists not loaded yet are named in the answer). An optional API key keeps its prepaid-credit policy. When the free answers run out, the error names the HTTP alternative.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "compliance_list_deadlines"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoLatest date, YYYY-MM-DD; e.g. 2027-12-31. Must be a parseable YYYY-MM-DD date.
lawNoKnown law name (case-insensitive), e.g. CBAM or EUDR; only laws in the returned laws list are accepted; omit for all laws
fromNoEarliest date, YYYY-MM-DD; e.g. 2026-10-01. Must be a parseable YYYY-MM-DD date.
statusNoupcoming or applies Allowed: upcoming, applies; e.g. upcoming.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds substantial context beyond them: data provenance (bundled from the acts, reviewed as of `verified`), computed fields (days_until computed today), ordering (date then id, no paging), dataset scale (26 obligations under 12 laws from 19 acts, 11 moved dates across 7 amending acts with history retained), and metering/free-quota behavior. The rate-limit and partial-sample disclosure ('up to 3 records, without file proof, history or paging cursor') is exactly the kind of behavior an agent cannot infer from annotations.

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 first three sentences are exemplary and front-loaded: purpose, alternatives, inputs, output. But roughly the final third is a long, repetitive metering paragraph, including an off-topic clause about 'a sanctions name search with no match' that has nothing to do with compliance deadlines, and it restates free/paid error policy twice. That bulk dilutes an otherwise tight definition.

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?

With no output schema, the description carries the return-shape burden and does so: as_of, verified, count, laws[], and deadlines[] field-by-field including id, days_until, status, source URL, quote, SHA-256 and history. It also documents the empty-filter case and the degraded free-tier response, so an agent knows what it will actually receive in each mode.

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 baseline is 3; the description earns one more by stating the combination semantics the schema does not encode — 'all optional, they narrow together' — which tells the agent the filters AND rather than OR. It also clarifies that `law` must come from the returned laws list and is case-insensitive, and that omitting all filters yields the full set. It stops short of adding format nuance beyond the schema's own YYYY-MM-DD notes.

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?

Opens with a specific verb+resource+scope: 'Returns statutory EU compliance dates (CBAM, EUDR and other laws) with the Official Journal source, quote and SHA-256'. It explicitly separates itself from three named siblings (compliance_get_deadline, tenders_list_deadline_changes, funding_list_changes), so an agent can route without opening any schema.

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?

Gives both when-to-use ('browse or filter deadlines and to find ids') and when-not-to-use with the exact alternative for each case: one known id -> compliance_get_deadline, tender deadlines -> tenders_list_deadline_changes, grant deadlines -> funding_list_changes. It also states the no-filter default behavior ('returns every date... without paging'), removing the main ambiguity for an optional-param list tool.

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.