{
  "markdown": "# Registrum MCP Server\n\n**UK company data in your AI agent — without building Companies House plumbing.**\n\n[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-io.github.vdmeu%2Fregistrum--mcp-4F7BFF)](https://registry.modelcontextprotocol.io)\n[![npm](https://img.shields.io/npm/v/@registrum/mcp?color=22D3A0&label=npm)](https://www.npmjs.com/package/@registrum/mcp)\n[![Status](https://img.shields.io/badge/status-live-22D3A0)](https://status.registrum.co.uk)\n[![Docs](https://img.shields.io/badge/API-reference-7A8FAD)](https://api.registrum.co.uk/docs)\n\nNo Companies House developer account, no rate-limit handling, no iXBRL parsing.\nWorks in Claude Desktop, Claude Code, Cursor, and any MCP-compatible client.\n\n## Try it now — no signup, no key, no install\n\nPoint your client at the hosted endpoint and every tool answers with real data:\n\n```\nhttps://registrum.co.uk/api/mcp\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"registrum\": {\n      \"url\": \"https://registrum.co.uk/api/mcp\"\n    }\n  }\n}\n```\n\nThat is the whole setup. Ask it *\"Who ultimately owns BrewDog?\"* and it will trace\nthe ownership chain to the named individuals who hold control.\n\nOne thing worth knowing before you test it on a household name: companies listed\non a regulated market — Tesco, Rolls-Royce, most of the FTSE — are **exempt from\nthe PSC regime**, so their ownership chain is legitimately empty and\n`get_psc_chain` says so rather than inventing a tree. Ownership questions are\ninteresting on private companies, which is where the register actually records\nwho is behind them.\n\nThe free anonymous tier is generous on the everyday tools and deliberately\nsmall on the expensive ones — a couple of ownership-chain traces and financial\nstatements per day, which is enough to see exactly what comes back before you\ndecide anything. When you reach a cap, the tool tells you so and points at a\nfree key; nothing silently degrades.\n\n---\n\n## Why this instead of the Companies House API directly\n\nCompanies House publishes the raw register for free, and you can absolutely\ncall it yourself. What you then own is the plumbing:\n\n| Doing it yourself | With Registrum |\n|---|---|\n| Register for a CH developer key, manage OAuth | Nothing, or one `REGISTRUM_API_KEY` |\n| 600 requests/5min, and you handle the 429s | Server-side throttling on a higher negotiated budget |\n| Accounts arrive as iXBRL documents you must parse | `get_financials` returns turnover, net assets, profit/loss as numbers |\n| PSC control types are raw codes | Decoded to plain English |\n| Ownership chains: recurse yourself, handle cycles | `get_psc_chain` returns the resolved tree with termination reasons |\n| Director networks: N+1 queries across appointments | `get_network` traverses to depth 2 |\n| Retry, cache, and survive CH outages yourself | 24h/7d caching, circuit breaker, stale-while-revalidate |\n\nOther Companies House MCP servers make you bring your own CH key and hand back\nthe raw response. This one does the enrichment.\n\n---\n\n## Running it with your own key\n\nUse a key when you want the anonymous caps lifted, or when you would rather run\nthe server locally than call ours.\n\n**Claude Desktop** — `~/.claude/claude_desktop_config.json`\n**Cursor** — `.cursor/mcp.json` (per project) or `~/.cursor/mcp.json` (global)\n\n```json\n{\n  \"mcpServers\": {\n    \"registrum\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@registrum/mcp\"],\n      \"env\": { \"REGISTRUM_API_KEY\": \"reg_live_...\" }\n    }\n  }\n}\n```\n\n[Get a free key](https://registrum.co.uk/?utm_source=mcp&utm_campaign=readme) — no card.\n\n---\n\n## Tools\n\n| Tool | What you get |\n|---|---|\n| `search_company` | Find a company by name → company number |\n| `get_bundle` | **Profile, compliance, financials, PSCs and directors in one call** - start here |\n| `get_company` | Profile: status, age, SIC descriptions, overdue flags |\n| `get_financials` | Turnover, net assets, profit/loss, employees — parsed from iXBRL, in GBP |\n| `get_directors` | Current board with appointment history across all their companies |\n| `get_psc` | Persons with Significant Control, control types in plain English |\n| `get_psc_chain` | Ownership traversed to ultimate beneficial owners, with termination reasons |\n| `get_compliance` | **ECCTA identity-verification status** — who has verified, who is pending, who is overdue |\n| `get_network` | Companies connected by shared directors, to depth 2 |\n\n### On `get_bundle`\n\nMost questions about a company need several of these views at once. `get_bundle`\nreturns them in a single request: **one call and one credit instead of five**,\nand one round trip instead of five. Pass `include` to fetch a subset, or omit it\nfor all five sections.\n\nEach section carries exactly what its own endpoint returns, because the bundle\nis composed from those same handlers rather than reimplemented - so plan gates,\ncaching and the ECCTA rules behave identically either way.\n\n**A null section is not an error.** Financials come back null for a company that\nhas filed no machine-readable accounts, and compliance requires a Pro plan. Only\na missing company is an error, and that is a 404. Report a null section as \"not\navailable\", never as an absence of the underlying fact.\n\n### On `get_compliance`\n\nThe Economic Crime and Corporate Transparency Act requires every UK director\nand PSC to verify their identity with Companies House. **Enforcement begins\n18 November 2026**, after which unverified officers can block filings.\n\nThe tool returns verified / pending / overdue counts plus each unverified\nperson and their individual deadline. It deliberately distinguishes **pending**\n(deadline not yet reached — not a failure) from **overdue** (missed). Treating\nthose as the same thing is the single easiest way to report a compliant company\nas non-compliant.\n\n---\n\n## Example prompts\n\n> \"Is Tesco PLC compliant with ECCTA director verification, and who still needs to verify?\"\n\n> \"Pull the last filed financials for 00445790 and tell me if turnover grew.\"\n\n> \"Who ultimately owns BrewDog? Trace the ownership chain to the individuals.\"\n\n> \"Which companies share directors with Barratt Developments?\"\n\n> \"Search for 'Monzo' and show me status, incorporation date and directors.\"\n\n---\n\n## Plans\n\nThe anonymous endpoint needs no account at all. A free key raises the caps, and\npaid tiers add volume, PSC chain traversal and the ECCTA compliance endpoint.\n\nPrices and quotas are served live from [`GET /v1/plans`](https://api.registrum.co.uk/v1/plans) —\nthat endpoint is the source of truth, so this README does not duplicate the\nnumbers and cannot go stale against them. Human-readable version at\n[registrum.co.uk](https://registrum.co.uk/?utm_source=mcp&utm_campaign=readme#pricing).\n\n---\n\n## Notes\n\n- Company numbers are zero-padded 8-character strings: `00445790`, `SC000268`.\n- Responses are JSON, cached server-side (24h profiles/directors, 7d financials).\n- The hosted endpoint is stateless and anonymous: it stores no account, and rate\n  limiting is keyed on a hash of the calling IP rather than anything about you.\n- The npm package sends `User-Agent: @registrum/mcp/<version>` so we can see\n  which features developers actually use. No telemetry runs on your machine.\n\n[API reference](https://api.registrum.co.uk/docs) · [Issues](https://github.com/vdmeu/registrum-mcp/issues) · [support@registrum.co.uk](mailto:support@registrum.co.uk)\n",
  "bytes": 7346,
  "sha": "59def9679ddaa1cc408da47176da81dd65c27e4cc5b5e5e5572698060cdbb7be",
  "repo_slug": "vdmeu/registrum-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_vdmeu_registrum_mcp_f8d3c611/readme"
}