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?

With no annotations provided, the description must disclose behavioral traits such as rate limits, pagination, data freshness, or error handling. It only mentions the data source and geographic coverage, omitting any operational behaviors. The description is essentially a high-level capability statement with no caveats or detailed semantics.

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 core purpose. Some redundancy exists ("European financial filings" vs "EU regulated markets"), but it is not verbose or cluttered. It earns a 4 for clarity without waste.

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?

Given the tool's complexity (18 parameters, 21 methods, nested objects), the description is too high-level to be complete. It doesn't explain how methods relate, provide example workflows, or set expectations about output formats. The schema helps but doesn't compensate for the lack of practical usage 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?

Schema coverage is 100%, and each parameter includes a description listing applicable methods. The tool description adds no parameter-level detail, but the schema already provides sufficient semantics. Baseline 3 is appropriate because the schema carries the burden, and the description doesn't detract.

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 identifies the tool as a unified access point for European financial filings via ESEF, specifying the resource (company filings, financial statements, XBRL data) and the API source (filings.xbrl.org). It is a specific verb+resource statement, though it doesn't differentiate from siblings (none listed), which is why it doesn't get a 5.

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 vs alternatives or how to choose among the 21 methods. The only usage hints are embedded in the schema's parameter descriptions, but the tool description itself offers no direction, prerequisites, or context for method selection.

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

TDQS

B3.2/5.0
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

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.
  • 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
    4
    MIT

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/openpharma-org/eu-filings-mcp-server'

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