Skip to main content
Glama
openpharma-org

European Financial Filings MCP Server

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: SEC EDGAR 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.0.1
    • First observedeu-filings

TDQS

B3.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusing tools with overlapping purposes. The tool's description clearly states its unified role for European financial filings, leaving no ambiguity.

Naming Consistency5/5

The single tool name 'eu-filings' is clear and descriptive, using a geographic prefix and resource type. There are no other tools to introduce inconsistency, so the naming is perfectly coherent.

Tool Count2/5

The server covers a very broad domain (EU financial filings across 27+ countries) with only one tool, which feels insufficient. A well-scoped server for this purpose would typically have separate tools for searching, retrieving, and inspecting filings and XBRL data.

Completeness3/5

The description claims comprehensive access, but the single-tool design leaves uncertainty about whether all necessary operations (e.g., search, filter, download, detail views) are fully covered. It likely handles core retrieval, but any missing operation would be a significant gap.

Maintenance

ActivityInactive
ResponsivenessNo issues

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.
    -
  • F
    license
    A
    quality
    D
    maintenance
    Provides access to SEC filings and detailed XBRL financial data for all publicly traded U.S. companies. It enables users to search for company info, retrieve historical metrics like revenue and assets, and compare financial performance across different industries.
    6
    1
    -
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for EU company and business data. 9 tools: company search (GLEIF, 2M+ entities), LEI lookup, corporate structures (parent/subsidiaries), trade register search, EU VAT validation (VIES), GDP, unemployment, inflation, and business demography (Eurostat). All APIs free, no keys required.
    9
    5
    MIT