eu-filings
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@eu-filingssearch for Volkswagen in Germany"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| 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 by name | GLEIF |
| Get company by LEI | GLEIF |
| Get companies with ESEF filings | ESEF |
| Get filing history | ESEF |
| Get entity details | ESEF |
| Extract XBRL data | ESEF |
| Get validation messages | ESEF |
| Filter filing results | ESEF |
| DAX 40 companies | Curated |
| Search Swiss companies | GLEIF |
| Swiss company details | GLEIF |
| SIX listed companies | Curated |
| Search UK companies | UK Companies House |
| UK company profile | UK Companies House |
| UK filing history | UK Companies House |
| UK annual accounts | UK Companies House |
| FTSE 100 companies | Curated |
| Dimensional XBRL facts | ESEF |
| Build fact table | ESEF |
| Search facts by value | ESEF |
| 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 tooleu-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.
| Name | Required | Description | Default |
|---|---|---|---|
| lei | No | For get_company_by_lei, get_company_filings: Legal Entity Identifier (LEI) - 20 character alphanumeric code | |
| limit | No | For search_companies, get_company_filings, get_country_companies, filter_filings: Maximum number of results to return | |
| query | No | For search_companies: Company name to search for (e.g., "LVMH", "Volkswagen", "TotalEnergies") | |
| method | Yes | The 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) | |
| country | No | For search_companies, get_company_filings, get_country_companies: ISO 3166-1 alpha-2 country code | |
| filings | No | For filter_filings: Array of filing objects to filter | |
| filters | No | For search_facts_by_value: Additional search filters | |
| options | No | For build_fact_table, time_series_analysis: Analysis options | |
| category | No | For get_uk_company_filings: Filter by filing category | |
| end_date | No | For get_company_filings, filter_filings: End date for filing period in YYYY-MM-DD format | |
| entity_id | No | For get_entity_details, get_company_filings: Entity ID from filings.xbrl.org API | |
| filing_id | No | For get_filing_facts, get_filing_validation: Filing ID from filings.xbrl.org | |
| tolerance | No | For build_fact_table, search_facts_by_value: Tolerance range (±) | |
| max_errors | No | For filter_filings: Maximum number of validation errors allowed | |
| start_date | No | For get_company_filings, filter_filings: Start date for filing period in YYYY-MM-DD format | |
| target_value | No | For build_fact_table, search_facts_by_value: Target value to search around | |
| company_number | No | For UK methods: UK Companies House company number (8 characters) | |
| search_criteria | No | For get_dimensional_facts: Search criteria for dimensional facts |
TDQS
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.
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.
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.
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.
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.
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
With only one tool, there is no possibility of confusing it with another. The tool's purpose is clearly described, making selection unambiguous.
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.
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.
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
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
Company, KYB, VAT, sanctions, LEI and address data for 15 EU countries.
Open financial reference data: companies with LEI/ISIN/FIGI, markets, funds, graph, live series.
UK company data: profiles, iXBRL financials, directors, PSC chains, ECCTA. Hosted, no key.
Search SEC EDGAR filings, financial statements, and company data.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables 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.
- AlicenseBqualityDmaintenanceProvides 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).1MIT
- AlicenseAqualityCmaintenanceStructured business intelligence for AI agents. 5.5M verified entities across 34 countries, 40.3M BORME mercantile acts, EU VAT validation, GLEIF, healthcare registries. 20 tools.61MIT
- FlicenseBqualityCmaintenanceProvides 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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