Registrum Mcp

io.github.vdmeuPublished by GitHub account vdmeuv2.0.12Updated Nov 4, 2026

UK company data: profiles, iXBRL financials, directors, PSC chains, ECCTA. Hosted, no key.

VerifiedStreamable HTTPWeb executableFinanceData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Gives an assistant live UK Companies House data: company profiles, parsed financials, directors, PSC ownership chains and ECCTA verification status.

What you can do
  • Search companies by name and pull a full profile, status, SIC codes and overdue flags
  • Read turnover, net assets, profit/loss and employee counts parsed from iXBRL accounts in GBP
  • List current directors with appointment history and map companies linked by shared directors
  • Trace persons with significant control and ownership chains to ultimate beneficial owners
  • Check ECCTA identity-verification status with verified, pending and overdue counts and per-person deadlines
  • Fetch profile, compliance, financials, PSC and directors together in one bundle call, or as MCP resource templates
When to use it
Useful for UK company due diligence, KYB and ownership research: who ultimately owns a private company, whether directors have verified their identity under ECCTA, how a company's finances moved, or which companies share a board. It saves registering a Companies House developer key and parsing iXBRL yourself.
Requirements
Either the hosted remote endpoint (no key, no signup) or the local npm package run with npx, which needs Node.js. An optional REGISTRUM_API_KEY environment variable raises limits; without it the keyless hosted endpoint applies small daily caps. Network access to the provider is required.
Before you install
The keyless endpoint has small daily caps; a free key gives 60 days of full access, and premium endpoints such as PSC chain traversal and ECCTA compliance need a paid plan. Requests go to a third-party service that caches responses and rate-limits by a hash of the calling IP; the npm package sends a User-Agent identifying itself. A null section means data is unavailable, not that the fact is absent.

Installation

In SourceWeft

  1. Open Registrum Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.vdmeu%2Fregistrum-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "registrum": {
      "type": "http",
      "url": "https://registrum.co.uk/api/mcp"
    }
  }
}

README

[Registrum]

UK Companies House MCP Server: due diligence and KYB (Registrum)

UK company due diligence and KYB: trace ownership to the beneficial owners, pull director histories, check ECCTA identity-verification status and deadlines, read parsed accounts. Live Companies House data, hosted, no key.

[MCP Registry] [npm] [Status] [Docs]

No Companies House developer account, no rate-limit handling, no iXBRL parsing. Works in Claude Desktop, Claude Code, Cursor, VS Code, and any MCP-compatible client. It also answers ChatGPT search and fetch.

[Install in VS Code] [Install in VS Code Insiders] [Install in Cursor] [Smithery]

Dependabot alerts and update pull requests are enabled on all six Registrum repositories; SECURITY.md says where to see the live alert count.

Try it now — no signup, no key, no install

Point your client at the hosted endpoint and every tool answers with real data:

https://registrum.co.uk/api/mcp
json
{  "mcpServers": {    "registrum": {      "url": "https://registrum.co.uk/api/mcp"    }  }}

That is the whole setup. Ask it "Who ultimately owns BrewDog?" and it will trace the ownership chain to the named individuals who hold control.

One thing worth knowing before you test it on a household name: companies listed on a regulated market — Tesco, Rolls-Royce, most of the FTSE — are exempt from the PSC regime, so their ownership chain is legitimately empty and get_psc_chain says so rather than inventing a tree. Ownership questions are interesting on private companies, which is where the register actually records who is behind them.

The hosted endpoint has small daily caps, enough to see exactly what comes back. When you reach one, the tool tells you so and points at a free key; nothing silently degrades.

Three ways to use it

  1. Try it - no key. Point your MCP client at https://registrum.co.uk/api/mcp and ask about any UK company. No signup.
  2. Build with it - free key. 60 days of full access: every endpoint, no monthly cap, no card. After that the key stays free for light use.
  3. Run on it - paid plan. When you need volume, premium endpoints or an SLA. Live prices and limits: GET /v1/plans.

Why this instead of the Companies House API directly

Companies House publishes the raw register for free, and you can absolutely call it yourself. What you then own is the plumbing:

Doing it yourselfWith Registrum
Register for a CH developer key, manage OAuthNothing, or one REGISTRUM_API_KEY
600 requests/5min, and you handle the 429sServer-side throttling on a higher negotiated budget
Accounts arrive as iXBRL documents you must parseget_financials returns turnover, net assets, profit/loss as numbers
PSC control types are raw codesDecoded to plain English
Ownership chains: recurse yourself, handle cyclesget_psc_chain returns the resolved tree with termination reasons
Director networks: N+1 queries across appointmentsget_network traverses to depth 2
Retry, cache, and survive CH outages yourself24h/7d caching, circuit breaker, stale-while-revalidate

Other Companies House MCP servers make you bring your own CH key and hand back the raw response. This one does the enrichment.


Running it with your own key

Use a key to build on it (60 days of full access), or when you would rather run the server locally than call ours.

Claude Desktop — ~/.claude/claude_desktop_config.json Cursor — .cursor/mcp.json (per project) or ~/.cursor/mcp.json (global)

json
{  "mcpServers": {    "registrum": {      "command": "npx",      "args": ["-y", "@registrum/mcp"],      "env": { "REGISTRUM_API_KEY": "reg_live_..." }    }  }}

Get a free key — 60 days of full access, no card.


Tools

ToolWhat you get
search_companyFind a company by name → company number
get_bundleProfile, compliance, financials, PSCs and directors in one call - start here
get_companyProfile: status, age, SIC descriptions, overdue flags
get_financialsTurnover, net assets, profit/loss, employees — parsed from iXBRL, in GBP
get_directorsCurrent board with appointment history across all their companies
get_pscPersons with Significant Control, control types in plain English
get_psc_chainOwnership traversed to ultimate beneficial owners, with termination reasons
get_complianceECCTA identity-verification status — who has verified, who is pending, who is overdue
get_networkCompanies connected by shared directors, to depth 2
searchFor ChatGPT connectors and deep research: returns {results: [{id, title, url}]} for a company name
fetchFor ChatGPT connectors and deep research: takes a company:<number> id from search, returns the profile as a citable document

Resources

The same data is also exposed as MCP resource templates, for clients that attach context by URI. Each returns the JSON of the matching tool, goes through the same usage limits, and accepts a short numeric number (it is zero-padded to 8 characters).

ResourceSame JSON as
company://{number}/profileget_company
company://{number}/financialsget_financials
company://{number}/pscget_psc
company://{number}/complianceget_compliance

On get_bundle

Most questions about a company need several of these views at once. get_bundle returns them in a single request: one call and one credit instead of five, and one round trip instead of five. Pass include to fetch a subset, or omit it for all five sections.

Each section carries exactly what its own endpoint returns, because the bundle is composed from those same handlers rather than reimplemented - so plan gates, caching and the ECCTA rules behave identically either way.

A null section is not an error. Financials come back null for a company that has filed no machine-readable accounts, and compliance requires a Pro plan. Only a missing company is an error, and that is a 404. Report a null section as "not available", never as an absence of the underlying fact.

On get_compliance

The Economic Crime and Corporate Transparency Act requires every UK director and PSC to verify their identity with Companies House. Deadlines are per company, not one date: each existing director is due by their company's next confirmation-statement due date, so the date differs from company to company. Unverified officers can block filings once it passes.

The tool returns verified / pending / overdue counts plus each unverified person and their individual deadline. It deliberately distinguishes pending (deadline not yet reached — not a failure) from overdue (missed). Treating those as the same thing is the single easiest way to report a compliant company as non-compliant.


Example prompts

"Is Tesco PLC compliant with ECCTA director verification, and who still needs to verify?"

"Pull the last filed financials for 00445790 and tell me if turnover grew."

"Who ultimately owns BrewDog? Trace the ownership chain to the individuals."

"Which companies share directors with Barratt Developments?"

"Search for 'Monzo' and show me status, incorporation date and directors."


Plans

The anonymous endpoint needs no account at all. A free key gives 60 days of full access, then stays free for light use; paid tiers add volume, premium endpoints such as PSC chain traversal and the ECCTA compliance endpoint, and an SLA.

Prices and quotas are served live from GET /v1/plans — that endpoint is the source of truth, so this README does not duplicate the numbers and cannot go stale against them. Human-readable version at registrum.co.uk.


Notes

  • Company numbers are zero-padded 8-character strings: 00445790, SC000268.
  • Responses are JSON, cached server-side (24h profiles/directors, 7d financials).
  • The hosted endpoint is stateless and anonymous: it stores no account, and rate limiting is keyed on a hash of the calling IP rather than anything about you.
  • The npm package sends User-Agent: @registrum/mcp/<version> so we can see which features developers actually use. No telemetry runs on your machine.

API reference · Issues · [email protected]

Source: README.md at commit b806aa8

Tools

0
SourceWeft has not read this server's tools yet.

Version history

3
  1. v2.0.12LatestOct 7, 2026
  2. v2.0.10Oct 4, 2026
  3. v2.0.7Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts