Skip to main content
Glama

Esef Search Filings

esef_search_filings
Read-onlyIdempotent

Search the XBRL International filings index (filings.xbrl.org) for published company annual reports. Answers "which European companies have filed an annual report for 2023", "does Nokia have an ESEF filing", "list Finnish filings with validation errors". Returns per filing: company name, LEI or national identifier, country, reporting regime, period end, XBRL validation error/warning counts, report language, and direct links to the machine-readable xBRL-JSON, the inline-XBRL HTML report and the viewer. Filter by company name (substring), country (ISO-2), regime, period end date or calendar year. Covers 25,640 filings in two regimes: ESEF (~16,000 annual financial reports from 19 European countries — AT BE CY CZ DK ES FI FR GB GR IS IT LT NL NO PL PT RO SE) and UAIFRS (~9,600 Ukrainian IFRS filings, country UA). Pass country or regime to pin the scope you mean. Reports the index-wide match count and echoes back proof that the filters actually applied. Follow up with esef_filing_facts to get the numbers inside a filing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for paging through a large match set, starting at 1. Default 1.
sortNoResult ordering: "newest" (most recently added to the index, the default), "oldest", "period_desc" (latest reporting period first), or "period_asc".
yearNoCalendar year of the reporting period end, e.g. 2023. Matches any period ending in that year.
limitNoFilings to return, 1-100. Default 20.
regimeNoReporting regime: "ESEF" for the European Single Electronic Format annual financial report, or "UAIFRS" for Ukrainian IFRS filings. Omit to search both.
countryNoISO-2 country of the filing jurisdiction: AT, BE, CY, CZ, DK, ES, FI, FR, GB, GR, IS, IT, LT, NL, NO, PL, PT, RO, SE (ESEF) or UA (UAIFRS).
period_endNoExact reporting period end date, ISO format, e.g. "2023-12-31". Takes precedence over `year`.
entity_nameNoCompany name or fragment, case-insensitive substring match against the filer name (e.g. "Nokia", "Citycon", "Vodafone", "Siemens").
with_errorsNoSet true to return only filings that failed XBRL validation (error_count greater than zero).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark this as read-only, idempotent, and non-destructive. The description goes well beyond that by disclosing useful behavioral traits: it reports the index-wide match count, echoes back proof that filters applied, enumerates the per-filing fields returned, and gives coverage numbers and regime/country scope. This is substantive context an agent cannot get from annotations alone.

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 long but every sentence carries distinct value: main action first, then example queries, return payload, filter options, coverage stats, a scoping hint, and a pointer to the follow-up tool. There is no filler or repetition; the structure front-loads the most important information.

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 9 parameters, two regimes, numerous country codes, and no output schema, this description is remarkably complete. It explains what is returned per filing, how to filter, what scope the index covers, and how to follow up. Nothing an agent needs to invoke this tool correctly is missing.

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 baseline is 3. The description repeats and organizes the same parameter semantics already present in the schema (substring company name, ISO-2 country, regime, year/period-end) but adds no genuinely new parameter-level meaning beyond the schema's detailed descriptions. It earns the baseline without exceeding it.

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 ('the XBRL International filings index at filings.xbrl.org') and a specific verb ('Search'), then reinforces with concrete example questions and return fields. It also explicitly routes the agent to a sibling tool ('Follow up with esef_filing_facts to get the numbers inside a filing'), distinguishing itself from the most likely alternative.

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 description gives clear usage context—searching the public filings index by company, country, regime, year, etc.—and tells the agent to follow up with esef_filing_facts for numeric filing contents. It also advises passing 'country' or 'regime' to disambiguate scope. It stops short of explicitly listing when not to use this tool versus every sibling, so it earns a 4 rather than a 5.

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.