Skip to main content
Glama
SindaBNO

eu-filings

by SindaBNO

Unofficial European Financial Filings MCP Server

A Model Context Protocol (MCP) server providing access to European company data and financial filings.

Data Sources

Source

Coverage

Data

GLEIF

1.6M+ EU companies

Company search, LEI lookup

ESEF (filings.xbrl.org)

FR, DK, GB, LT, UA

XBRL financial filings

UK Companies House

5M+ UK companies

Filing history, annual accounts

Curated Lists

DAX40, SIX, FTSE100

Major index companies

Related MCP server: European Financial Filings MCP Server

Usage

{
  "mcpServers": {
    "eu-filings": {
      "command": "node",
      "args": ["/path/to/eu-filings-mcp-server/build/index.js"],
      "env": {
        "UK_COMPANIES_HOUSE_API_KEY": "your_api_key_here"
      }
    }
  }
}

Environment Variables

Variable

Required

Description

UK_COMPANIES_HOUSE_API_KEY

For UK methods

Free API key from Companies House

API Methods

Company Search (GLEIF - All EU)

Search 1.6M+ European companies:

{
  "method": "search_companies",
  "query": "Siemens",
  "country": "DE",
  "limit": 10
}

Supported countries: FR, DE, IT, ES, NL, BE, AT, SE, DK, PL, GB, CH, and more.

Company by LEI

{
  "method": "get_company_by_lei",
  "lei": "YEH5ZCD6E441RHVHD759"
}

ESEF Filings (FR, DK, GB, LT, UA)

Get companies with ESEF filings:

{
  "method": "get_country_companies",
  "country": "FR",
  "limit": 10
}

Get filings for a company:

{
  "method": "get_company_filings",
  "lei": "969500YG7U0UQDEHBD60",
  "limit": 5
}

Extract XBRL financial data:

{
  "method": "get_filing_facts",
  "filing_id": "23209"
}

UK Companies House

Requires API key - Get one free at https://developer.company-information.service.gov.uk/

Search UK companies:

{
  "method": "search_uk_companies",
  "query": "Shell",
  "limit": 10
}

Get company profile:

{
  "method": "get_uk_company_profile",
  "company_number": "04366849"
}

Get filing history:

{
  "method": "get_uk_company_filings",
  "company_number": "04366849",
  "category": "accounts",
  "limit": 10
}

Get annual accounts:

{
  "method": "get_uk_company_accounts",
  "company_number": "04366849",
  "limit": 5
}

Curated Index Lists

DAX 40 (Germany):

{
  "method": "get_dax40_companies"
}

FTSE 100 (UK):

{
  "method": "get_ftse100_companies"
}

SIX (Switzerland):

{
  "method": "get_six_listed_companies"
}

Swiss Companies

{
  "method": "search_swiss_companies",
  "query": "Nestle",
  "limit": 5
}
{
  "method": "get_swiss_company_info",
  "lei": "549300U41AUUVOAAOB37"
}

All Available Methods

Method

Description

Data Source

search_companies

Search companies by name

GLEIF

get_company_by_lei

Get company by LEI

GLEIF

get_country_companies

Get companies with ESEF filings

ESEF

get_company_filings

Get filing history

ESEF

get_entity_details

Get entity details

ESEF

get_filing_facts

Extract XBRL data

ESEF

get_filing_validation

Get validation messages

ESEF

filter_filings

Filter filing results

ESEF

get_dax40_companies

DAX 40 companies

Curated

search_swiss_companies

Search Swiss companies

GLEIF

get_swiss_company_info

Swiss company details

GLEIF

get_six_listed_companies

SIX listed companies

Curated

search_uk_companies

Search UK companies

UK Companies House

get_uk_company_profile

UK company profile

UK Companies House

get_uk_company_filings

UK filing history

UK Companies House

get_uk_company_accounts

UK annual accounts

UK Companies House

get_ftse100_companies

FTSE 100 companies

Curated

get_dimensional_facts

Dimensional XBRL facts

ESEF

build_fact_table

Build fact table

ESEF

search_facts_by_value

Search facts by value

ESEF

time_series_analysis

Time series analysis

ESEF

Example: Get French Company Financials

// 1. Get French companies with filings
{ "method": "get_country_companies", "country": "FR", "limit": 5 }

// 2. Get company details
{ "method": "get_entity_details", "entity_id": "969500YG7U0UQDEHBD60" }

// 3. Get filings
{ "method": "get_company_filings", "lei": "969500YG7U0UQDEHBD60" }

// 4. Extract XBRL financial data
{ "method": "get_filing_facts", "filing_id": "23209" }

Limitations

  • ESEF Filings: Only available for FR, DK, GB, LT, UA

  • Germany: No public filing API - use DAX40 list + Bundesanzeiger manual lookup

  • UK: Requires free API key for Companies House methods

  • Switzerland: Company metadata only, no XBRL filings (not EU member)

License

MIT

Available Tools

1 tool
eu-filingsC

Unified tool for European financial filings via ESEF (European Single Electronic Format): access company filings, financial statements, and XBRL data from EU regulated markets. Provides comprehensive access to financial reports from 27+ European countries using the filings.xbrl.org API.

ParametersJSON Schema
NameRequiredDescriptionDefault
leiNoFor get_company_by_lei, get_company_filings: Legal Entity Identifier (LEI) - 20 character alphanumeric code
limitNoFor search_companies, get_company_filings, get_country_companies, filter_filings: Maximum number of results to return
queryNoFor search_companies: Company name to search for (e.g., "LVMH", "Volkswagen", "TotalEnergies")
methodYesThe operation to perform: search_companies (search EU by name via GLEIF), get_company_by_lei (lookup by LEI), get_company_filings (ESEF filings), search_uk_companies (search UK Companies House), get_uk_company_filings (UK filing history), get_uk_company_accounts (UK annual accounts), get_ftse100_companies (major UK companies)
countryNoFor search_companies, get_company_filings, get_country_companies: ISO 3166-1 alpha-2 country code
filingsNoFor filter_filings: Array of filing objects to filter
filtersNoFor search_facts_by_value: Additional search filters
optionsNoFor build_fact_table, time_series_analysis: Analysis options
categoryNoFor get_uk_company_filings: Filter by filing category
end_dateNoFor get_company_filings, filter_filings: End date for filing period in YYYY-MM-DD format
entity_idNoFor get_entity_details, get_company_filings: Entity ID from filings.xbrl.org API
filing_idNoFor get_filing_facts, get_filing_validation: Filing ID from filings.xbrl.org
toleranceNoFor build_fact_table, search_facts_by_value: Tolerance range (±)
max_errorsNoFor filter_filings: Maximum number of validation errors allowed
start_dateNoFor get_company_filings, filter_filings: Start date for filing period in YYYY-MM-DD format
target_valueNoFor build_fact_table, search_facts_by_value: Target value to search around
company_numberNoFor UK methods: UK Companies House company number (8 characters)
search_criteriaNoFor get_dimensional_facts: Search criteria for dimensional facts

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only mentions the underlying API (filings.xbrl.org) and a geographic scope, but does not disclose rate limits, authentication needs, data freshness, or any quirks related to the various methods.

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 concise, two sentences, and front-loaded with the tool's primary purpose. It does not repeat schema information or add fluff, but it also omits structural detail about the multiple operation modes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 21 methods, 18 parameters, no output schema, and no sibling context, the description is far too shallow to guide an agent through method selection and invocation. It only gives a high-level domain overview, leaving the agent to parse the large schema without additional context.

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?

The input schema provides descriptions for all 18 parameters, achieving 100% coverage. The description adds no parameter-level detail beyond the API source, so the schema carries the heavy lifting and the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a unified tool for European financial filings, giving access to company filings, financial statements, and XBRL data. It has a specific domain (ESEF) and this distinguishes it from unrelated tools, though it does not list the many specific operations.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, and there are no sibling tools to differentiate from. It does not mention prerequisites, typical use cases, or which method to invoke for a given task.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

C2.9/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusing it with another. The tool's purpose is clearly described, making selection unambiguous.

Naming Consistency3/5

The single tool name 'eu-filings' is descriptive but does not follow the typical verb_noun convention seen in well-designed MCP servers. With only one tool, there is no pattern to violate, but it also fails to establish a consistent naming style.

Tool Count2/5

A single tool is too few for a server that claims to provide comprehensive access to European financial filings across 27+ countries. The domain is complex and would benefit from separate tools for specific actions like retrieving filings, searching XBRL data, or fetching financial statements.

Completeness2/5

The server offers only a catch-all tool, lacking granular operations for distinct tasks such as searching, filtering, or comparing financial data. This creates significant gaps because agents cannot perform specific actions without relying on a single, overloaded interface.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables deep analysis of SEC EDGAR filings through universal company search, document content extraction, and advanced filing search capabilities. Provides AI-ready access to business descriptions, risk factors, financial statements, and full-text search across any public company's SEC documents.
  • A
    license
    B
    quality
    D
    maintenance
    Provides access to European company data and financial filings from multiple sources including GLEIF (1.6M+ EU companies), ESEF XBRL filings (FR, DK, GB, LT, UA), UK Companies House (5M+ companies), and curated major index lists (DAX40, FTSE100, SIX).
    1
    MIT
  • F
    license
    B
    quality
    C
    maintenance
    Provides access to UK Companies House public data, enabling search and retrieval of company profiles, officers, filing history, and more through natural language queries.
    12

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SindaBNO/MCP_eu-fillings'

If you have feedback or need assistance with the MCP directory API, please join our Discord server