Server data from the Official MCP Registry
estonia-business-register -- Estonia's e-Business Register, published as open data by RIK…
About
estonia-business-register -- Estonia's e-Business Register, published as open data by RIK…
Remote endpoints: streamable-http: https://gateway.pipeworx.io/estonia-business-register/mcp
Security Report
Valid MCP server (2 strong, 4 medium validity signals). 1 known CVE in dependencies (0 critical, 1 high severity) Imported from the Official MCP Registry. Trust signals: trusted author (1792/1809 approved).
44 tools verified · Open access · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Found in Source Code
Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"io-github-pipeworx-io-estonia-business-register": {
"url": "https://gateway.pipeworx.io/estonia-business-register/mcp"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
@pipeworx/estonia-business-register
Estonia's e-Business Register, published as open data by RIK (the Estonian Centre of Registers and Information Systems): every registered, liquidating or bankrupt entity's identity, legal form, status and address, its currently reported activity areas (EMTAK/NACE), and selected financial indicators and sales-by-activity breakdowns from filed annual reports. Fleet #2927.
Part of Pipeworx — an MCP gateway connecting AI agents to 1800+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.
RIK publishes no live per-record API — only bulk open-data files — so Pipeworx keeps a daily-refreshed copy of the register.
Tools
ee_company(registry_code?, name?)— one entity by its registry code or its exact current registered name: identity (name, legal form, VAT number), registration status, address and currently reported EMTAK/NACE activity areas. A company's former name (before a rename) will not match by name — look it up by registry code instead. For partial names, useee_company_searchfirst.ee_company_search(name, status?, limit?)— search by the start of a company's current name (prefix match only — "Bolt" finds "Bolt Technology OÜ" but not "EuroBolt OÜ"), diacritic-insensitive, optionally filtered by registration status.ee_annual_report_stats(registry_code, year?)— from filed annual reports: passregistry_codealone to list every year with a filed report (submission date, audited flag, filer-size category); addyearfor that year's selected financial indicators (revenue, profit/loss, total assets, equity, average FTE employee count) and sales revenue broken down by EMTAK activity area. Not full reports — only the indicators RIK's own extract tags with a standardized element name. Some filed reports (seen for some large/group filers) carry metadata but no matching figures in RIK's extract; the report row still answers, with null figures, rather than a silent empty result.
Every response carries data_as_of (the day the mirror was last
refreshed), source and (where licence terms apply) licence.
Matching a renamed entity
RIK's basic/general extracts carry only each entity's current name —
the register data carries no former-name index. A well-known example: the
company now named "Microsoft Development Center Estonia OÜ" (registry code
11056239) traded as "Skype Technologies OÜ" from 2004 until a 2021
rename. ee_company(name: "Skype Technologies") correctly returns
not_found with a hint to try the registry code; ee_company(registry_code: "11056239") resolves it.
Status codes
status_code is one of R (registered/active), L (in liquidation) or
N (bankrupt) — the three statuses RIK's basic open-data extract carries.
A status_label field spells these out in English; status.text_et keeps
RIK's own Estonian wording alongside it.
Activity areas
ee_company's activities list and ee_annual_report_stats' sales
breakdown use Estonia's EMTAK classification (with the corresponding EU
NACE code alongside), reported as of the mirror's data_as_of date —
historical/ended activity-area entries are not carried.
Auth
Keyless. The tools answer only through the Pipeworx gateway, which holds
the copy of the register; a standalone npm install has no data to read,
and every tool throws a clear "not bound in this runtime" error there
instead of returning an empty list.
Data sources
- RIK (Estonian Centre of Registers and Information Systems), e-Business Register open data — basic and general entity extracts (identity, legal form, VAT number, status, address, currently reported activity areas), refreshed daily; and the monthly annual-report extracts (submission metadata, selected financial-statement indicators and sales-by-activity breakdowns), covering reports filed 2019–2025.
Licence: Creative Commons Attribution 4.0 (CC BY 4.0). Downloading
RIK's open data requires accepting its terms, which require attributing
the source — exactly the source + data_as_of every response here
carries. If the open data contains personal data, further processing is
subject to GDPR; RIK itself stopped publishing personal identification
numbers in these files from 2024-11-01.
Why no full-text name search
Name search here is a prefix range-scan on a normalized, indexed column (diacritics folded, uppercased) rather than an FTS5 index. For this dataset's size and the prefix-match use case, that is simpler and avoids a known trap with D1's chunked import: an FTS5 virtual table's postings do not travel through the generic chunked export/import path and would need a separate, batched server-side rebuild after every load. A plain indexed range query needs none of that.
Why some annual reports have no figures
The five financial indicators (revenue, profit_loss, assets,
equity, employees_fte) come from RIK's monthly "report elements"
extract, matched by a small set of standardized element names (e.g.
Revenue, TotalProfitLoss, Assets, Equity,
AverageNumberOfEmployeesInFullTimeEquivalentUnits, preferring the
non-consolidated form when both exist). Some filers' reports — observed for
some large/holding-company filers — have no row at all in that extract for
a given year, even though the report itself was filed and its metadata
(dates, audited flag, category) is held. ee_annual_report_stats answers
with real metadata and null figures in that case, never a silent empty
result.
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"estonia-business-register": {
"url": "https://gateway.pipeworx.io/estonia-business-register/mcp"
}
}
}
What this endpoint actually serves
tools/list at https://gateway.pipeworx.io/estonia-business-register/mcp returns the tools in the table
above plus the shared Pipeworx meta-tools — ask_pipeworx,
discover_tools, search_within, remember/recall and the rest of the
gateway-wide set. So the tool count you see is larger than this table: a
single-pack endpoint currently lists roughly 30 shared tools alongside the
pack's own. The connection's initialize response states its exact scope, and
is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a
scoped connection answer a question this pack does not cover — via
ask_pipeworx, which routes across the whole catalog — without you adding a
second MCP server. There is currently no way to mount a pack endpoint without
them; if the extra schemas cost you more context than the routing is worth,
connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
Both URLs reach the same gateway and the same 1800+ data sources. The
only difference is which pack's tools are listed directly; ask_pipeworx
reaches all of them from either one.
No MCP client? Call it over HTTP
curl -X POST https://gateway.pipeworx.io/v1/tools/ee_company \
-H 'Content-Type: application/json' \
-d '{"registry_code":"12417834"}'
No account needed for the first calls. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/ee_company. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.
Standalone (no gateway account)
This package also runs as a local stdio MCP server — no Pipeworx account, no gateway round-trip:
{
"mcpServers": {
"estonia-business-register": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-estonia-business-register"]
}
}
}
Or run it directly to confirm it starts:
npx -y @pipeworx/mcp-estonia-business-register
It speaks MCP over stdin/stdout and answers initialize/tools/list/tools/call
for only this pack's tools — none of the shared meta-tools the gateway
connection above adds. Same source, same tools, no ask_pipeworx routing.
Using with ask_pipeworx
Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:
ask_pipeworx({ question: "your question about Estonia Business Register data" })
The gateway picks the right tool and fills the arguments automatically.
More
License
MIT
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Worldmonitor
Freeby Koala73 · Developer Tools
Live markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
