Skip to main content
Glama

Esef Filing Facts

esef_filing_facts
Read-onlyIdempotent

Read the actual IFRS financial facts out of one published annual report — revenue, profit or loss, total assets, equity, operating cash flow, earnings per share and every other tagged figure, with the currency, the exact reporting period and the XBRL concept name. This is the numbers hop: esef_search_filings and esef_entity_filings prove a filing exists, this one opens its machine-readable xBRL-JSON report and returns what the company reported. 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. Identify the filing by fxo_id from a search result, or just by company name plus an optional year and the latest matching English-language edition is used. Pass concept to pull one line item (case-insensitive substring of the IFRS concept, e.g. "Revenue", "ProfitLoss", "Assets", "Equity", "CashFlows"); omit it for a headline projection of the main statement figures. Facts repeated across statements are collapsed, consolidated totals are separated from segment and equity-component breakdowns, and the full concept inventory of the report is returned so a follow-up query can target any line item.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNoCalendar year of the reporting period end, e.g. 2023. Used with `entity`. Omit for the most recent filed period.
limitNoFacts to return, 1-500. Default 60.
entityNoCompany name, LEI, or national registration number, used when no fxo_id is available. Combine with `year` to choose a financial year; the latest English-language edition is preferred.
fxo_idNoFiling identifier from esef_search_filings or esef_entity_filings, e.g. "549300P8N0P6KDGTJ206-2022-12-31-ESEF-FI-0". Most precise way to name a filing.
conceptNoCase-insensitive substring of the IFRS concept name to return, e.g. "Revenue", "ProfitLoss", "Assets", "Equity", "CashFlowsFromUsedInOperatingActivities", "EarningsPerShare". Omit for the headline projection.
include_dimensionedNoSet true to also return facts broken down by an XBRL axis — per segment, per equity component, per class of asset. Default false, which returns consolidated group totals only.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and idempotentHint, and the description adds substantial behavior beyond that: facts repeated across statements are collapsed, consolidated totals are separated from segment and equity-component breakdowns, the full concept inventory is returned, and the latest English-language edition is preferred. There is no contradiction with the read-only/idempotent/destructive 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?

The description is long but front-loaded with purpose and each sentence contributes distinct operational information: scope, identification, filtering, and output behavior. The 'numbers hop' phrase and the coverage statistics add color and context without bloating the core guidance, though the unsupported `country`/`regime` reference is a small structural blemish.

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 6-parameter tool with no output schema, the description covers a lot: input selection via fxo_id or entity/year, concept filtering behavior, dimensioned facts, and what is returned including the concept inventory. The main gaps are the undefined `country`/`regime` mention and the lack of an explicit response shape definition. Still, an agent can reasonably invoke the tool without diving into external documentation.

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 coverage is 100%, so the baseline is 3; the description does add meaning for `concept` ('case-insensitive substring of the IFRS concept') and `fxo_id` ('Most precise way to name a filing'). However, it also instructs the agent to 'Pass `country` or `regime`' even though those are not present in the input schema, which is a reliability gap that prevents a higher score.

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 opens with a specific verb-resource pair: 'Read the actual IFRS financial facts out of one published annual report' and enumerates concrete figures such as revenue, total assets, and earnings per share. It also explicitly distinguishes itself from siblings: 'esef_search_filings and esef_entity_filings prove a filing exists, this one opens its machine-readable xBRL-JSON report and returns what the company reported.' This makes the tool's position in the workflow unmistakable.

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: use this tool when you need actual filed numbers, after search/entity sibling tools have identified a filing. It also explains two identification routes ('Identify the filing by fxo_id from a search result, or just by company name plus an optional year'). It stops short of explicit when-not-to-use conditions, but the guidance is sufficient for an agent to choose correctly in most cases.

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.