@registrum/mcp 1.2.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -36
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +32 -4
- package/dist/server.js.map +1 -1
- package/dist/version.d.ts +6 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +17 -0
- package/dist/version.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,18 +1,41 @@
|
|
|
1
1
|
# Registrum MCP Server
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**UK company data in your AI agent — without building Companies House plumbing.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
One API key. No Companies House developer account, no rate-limit handling, no
|
|
6
|
+
iXBRL parsing. Works in Claude Desktop, Claude Code, Cursor, and any
|
|
7
|
+
MCP-compatible client.
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
```bash
|
|
10
|
+
npx -y @registrum/mcp
|
|
11
|
+
```
|
|
8
12
|
|
|
9
13
|
---
|
|
10
14
|
|
|
11
|
-
##
|
|
15
|
+
## Why this instead of the Companies House API directly
|
|
16
|
+
|
|
17
|
+
Companies House publishes the raw register for free, and you can absolutely
|
|
18
|
+
call it yourself. What you then own is the plumbing:
|
|
19
|
+
|
|
20
|
+
| Doing it yourself | With Registrum |
|
|
21
|
+
|---|---|
|
|
22
|
+
| Register for a CH developer key, manage OAuth | One `REGISTRUM_API_KEY` |
|
|
23
|
+
| 600 requests/5min, and you handle the 429s | Server-side throttling on a higher negotiated budget |
|
|
24
|
+
| Accounts arrive as iXBRL documents you must parse | `get_financials` returns turnover, net assets, profit/loss as numbers |
|
|
25
|
+
| PSC control types are raw codes | Decoded to plain English |
|
|
26
|
+
| Ownership chains: recurse yourself, handle cycles | `get_psc_chain` returns the resolved tree with termination reasons |
|
|
27
|
+
| Director networks: N+1 queries across appointments | `get_network` traverses to depth 2 |
|
|
28
|
+
| Retry, cache, and survive CH outages yourself | 24h/7d caching, circuit breaker, stale-while-revalidate |
|
|
29
|
+
|
|
30
|
+
Other Companies House MCP servers make you bring your own CH key and hand back
|
|
31
|
+
the raw response. This one does the enrichment.
|
|
32
|
+
|
|
33
|
+
---
|
|
12
34
|
|
|
13
|
-
|
|
35
|
+
## Install
|
|
14
36
|
|
|
15
|
-
|
|
37
|
+
**Claude Desktop** — `~/.claude/claude_desktop_config.json`
|
|
38
|
+
**Cursor** — `.cursor/mcp.json` (per project) or `~/.cursor/mcp.json` (global)
|
|
16
39
|
|
|
17
40
|
```json
|
|
18
41
|
{
|
|
@@ -20,62 +43,74 @@ Add to `~/.claude/claude_desktop_config.json`:
|
|
|
20
43
|
"registrum": {
|
|
21
44
|
"command": "npx",
|
|
22
45
|
"args": ["-y", "@registrum/mcp"],
|
|
23
|
-
"env": {
|
|
24
|
-
"REGISTRUM_API_KEY": "reg_live_..."
|
|
25
|
-
}
|
|
46
|
+
"env": { "REGISTRUM_API_KEY": "reg_live_..." }
|
|
26
47
|
}
|
|
27
48
|
}
|
|
28
49
|
}
|
|
29
50
|
```
|
|
30
51
|
|
|
31
|
-
Get a free
|
|
32
|
-
|
|
33
|
-
### Cursor
|
|
34
|
-
|
|
35
|
-
Add to `.cursor/mcp.json` in your project, or to `~/.cursor/mcp.json` globally — same format as above.
|
|
52
|
+
[Get a free key](https://registrum.co.uk/?utm_source=mcp&utm_campaign=readme) — 50 calls/month, no card.
|
|
36
53
|
|
|
37
54
|
---
|
|
38
55
|
|
|
39
56
|
## Tools
|
|
40
57
|
|
|
41
|
-
| Tool |
|
|
42
|
-
|
|
43
|
-
| `search_company` |
|
|
44
|
-
| `get_company` |
|
|
45
|
-
| `get_financials` |
|
|
46
|
-
| `get_directors` |
|
|
47
|
-
| `
|
|
58
|
+
| Tool | What you get |
|
|
59
|
+
|---|---|
|
|
60
|
+
| `search_company` | Find a company by name → company number |
|
|
61
|
+
| `get_company` | Profile: status, age, SIC descriptions, overdue flags |
|
|
62
|
+
| `get_financials` | Turnover, net assets, profit/loss, employees — parsed from iXBRL, in GBP |
|
|
63
|
+
| `get_directors` | Current board with appointment history across all their companies |
|
|
64
|
+
| `get_psc` | Persons with Significant Control, control types in plain English |
|
|
65
|
+
| `get_psc_chain` | Ownership traversed to ultimate beneficial owners, with termination reasons |
|
|
66
|
+
| `get_compliance` | **ECCTA identity-verification status** — who has verified, who is pending, who is overdue |
|
|
67
|
+
| `get_network` | Companies connected by shared directors, to depth 2 |
|
|
68
|
+
|
|
69
|
+
### On `get_compliance`
|
|
70
|
+
|
|
71
|
+
The Economic Crime and Corporate Transparency Act requires every UK director
|
|
72
|
+
and PSC to verify their identity with Companies House. **Enforcement begins
|
|
73
|
+
18 November 2026**, after which unverified officers can block filings.
|
|
74
|
+
|
|
75
|
+
The tool returns verified / pending / overdue counts plus each unverified
|
|
76
|
+
person and their individual deadline. It deliberately distinguishes **pending**
|
|
77
|
+
(deadline not yet reached — not a failure) from **overdue** (missed). Treating
|
|
78
|
+
those as the same thing is the single easiest way to report a compliant company
|
|
79
|
+
as non-compliant.
|
|
48
80
|
|
|
49
81
|
---
|
|
50
82
|
|
|
51
83
|
## Example prompts
|
|
52
84
|
|
|
53
|
-
> "
|
|
85
|
+
> "Is Tesco PLC compliant with ECCTA director verification, and who still needs to verify?"
|
|
54
86
|
|
|
55
|
-
> "
|
|
87
|
+
> "Pull the last filed financials for 00445790 and tell me if turnover grew."
|
|
56
88
|
|
|
57
|
-
> "
|
|
89
|
+
> "Who ultimately owns Rolls-Royce Holdings? Trace the ownership chain."
|
|
58
90
|
|
|
59
|
-
> "
|
|
91
|
+
> "Which companies share directors with Barratt Developments?"
|
|
92
|
+
|
|
93
|
+
> "Search for 'Monzo' and show me status, incorporation date and directors."
|
|
60
94
|
|
|
61
95
|
---
|
|
62
96
|
|
|
63
97
|
## Plans
|
|
64
98
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
| Free | £0 | 50 |
|
|
68
|
-
| Pro | £49/mo | 2,000 |
|
|
69
|
-
| Enterprise | £149/mo | 10,000 |
|
|
99
|
+
Free tier is 50 calls/month with every core endpoint. Paid tiers add volume,
|
|
100
|
+
PSC chain traversal and the ECCTA compliance endpoint.
|
|
70
101
|
|
|
71
|
-
[
|
|
102
|
+
Prices and quotas are served live from [`GET /v1/plans`](https://api.registrum.co.uk/v1/plans) —
|
|
103
|
+
that endpoint is the source of truth, so this README does not duplicate the
|
|
104
|
+
numbers and cannot go stale against them. Human-readable version at
|
|
105
|
+
[registrum.co.uk](https://registrum.co.uk/?utm_source=mcp&utm_campaign=readme#pricing).
|
|
72
106
|
|
|
73
107
|
---
|
|
74
108
|
|
|
75
|
-
##
|
|
76
|
-
|
|
77
|
-
Full API docs at [api.registrum.co.uk/docs](https://api.registrum.co.uk/docs)
|
|
109
|
+
## Notes
|
|
78
110
|
|
|
79
|
-
|
|
111
|
+
- Company numbers are zero-padded 8-character strings: `00445790`, `SC000268`.
|
|
112
|
+
- Responses are JSON, cached server-side (24h profiles/directors, 7d financials).
|
|
113
|
+
- Every call sends `User-Agent: @registrum/mcp/<version>` so we can see which
|
|
114
|
+
features developers actually use. No telemetry runs on your machine.
|
|
80
115
|
|
|
81
|
-
[support@registrum.co.uk](mailto:support@registrum.co.uk)
|
|
116
|
+
[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)
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,eAAO,MAAM,QAAQ,mCAAmC,CAAC;AAEzD,wBAAsB,OAAO,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAiB,GACzB,OAAO,CAAC,OAAO,CAAC,CAclB;AAeD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAiB,GACzB,SAAS,CAoRX"}
|
package/dist/server.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
+
import { VERSION, USER_AGENT } from "./version.js";
|
|
3
4
|
export const API_BASE = "https://api.registrum.co.uk/v1";
|
|
4
|
-
const VERSION = "1.0.0";
|
|
5
5
|
export async function callApi(path, apiKey, baseUrl = API_BASE) {
|
|
6
6
|
if (!apiKey) {
|
|
7
7
|
throw new Error("REGISTRUM_API_KEY is not set. Get a free key at https://registrum.co.uk/?utm_source=mcp&utm_campaign=server and set it in your MCP client config.");
|
|
8
8
|
}
|
|
9
9
|
const res = await fetch(`${baseUrl}${path}`, {
|
|
10
|
-
headers: { "X-API-Key": apiKey },
|
|
10
|
+
headers: { "X-API-Key": apiKey, "User-Agent": USER_AGENT },
|
|
11
11
|
});
|
|
12
12
|
if (!res.ok) {
|
|
13
13
|
const body = await res.text();
|
|
@@ -33,8 +33,8 @@ export function createServer(apiKey, baseUrl = API_BASE) {
|
|
|
33
33
|
instructions: "Use these tools to look up UK companies registered at Companies House. " +
|
|
34
34
|
"Company numbers are zero-padded 8-digit strings (e.g. '00445790' for Tesco PLC). " +
|
|
35
35
|
"When a user gives you a company name, use search_company first to find the number, " +
|
|
36
|
-
"then use get_company, get_financials, get_directors, get_psc, get_psc_chain, or get_network as needed. " +
|
|
37
|
-
"Use get_psc for a flat view of who controls a company. " +
|
|
36
|
+
"then use get_company, get_financials, get_directors, get_psc, get_psc_chain, get_compliance, or get_network as needed. " +
|
|
37
|
+
"Use get_psc for a flat view of who controls a company. Use get_compliance for ECCTA identity-verification status - note 'pending' means the deadline has not passed and is not a failure. " +
|
|
38
38
|
"Use get_psc_chain to trace corporate ownership upward and find the ultimate beneficial owners (UBOs) " +
|
|
39
39
|
"— it follows corporate entity PSCs recursively until reaching natural persons or foreign entities.",
|
|
40
40
|
});
|
|
@@ -133,6 +133,34 @@ export function createServer(apiKey, baseUrl = API_BASE) {
|
|
|
133
133
|
return err(String(e));
|
|
134
134
|
}
|
|
135
135
|
});
|
|
136
|
+
server.registerTool("get_compliance", {
|
|
137
|
+
title: "Check ECCTA identity-verification compliance",
|
|
138
|
+
description: "Check a UK company's ECCTA identity-verification status - who has verified their " +
|
|
139
|
+
"identity with Companies House, who is still pending, and who is overdue. " +
|
|
140
|
+
"The Economic Crime and Corporate Transparency Act requires every director and PSC to " +
|
|
141
|
+
"verify their identity; enforcement begins 18 November 2026, after which unverified " +
|
|
142
|
+
"officers can block filings. " +
|
|
143
|
+
"Returns per-company counts (directors_total, directors_verified, directors_pending, " +
|
|
144
|
+
"directors_overdue) and the same for PSCs, plus unverified_persons with each person's " +
|
|
145
|
+
"name, role, status and their individual deadline. " +
|
|
146
|
+
"IMPORTANT: 'pending' means the deadline has not yet passed - it is NOT a failure and " +
|
|
147
|
+
"must not be reported as one. Only 'overdue' means a deadline was missed. " +
|
|
148
|
+
"Requires a Pro plan or above. Cached for 24 hours.",
|
|
149
|
+
inputSchema: {
|
|
150
|
+
company_number: z
|
|
151
|
+
.string()
|
|
152
|
+
.regex(/^[A-Z0-9]{1,8}$/)
|
|
153
|
+
.describe("Companies House company number, e.g. '00445790' for Tesco PLC"),
|
|
154
|
+
},
|
|
155
|
+
}, async ({ company_number }) => {
|
|
156
|
+
try {
|
|
157
|
+
const data = await api(`/company/${company_number}/compliance`);
|
|
158
|
+
return text(data);
|
|
159
|
+
}
|
|
160
|
+
catch (e) {
|
|
161
|
+
return err(String(e));
|
|
162
|
+
}
|
|
163
|
+
});
|
|
136
164
|
server.registerTool("get_psc", {
|
|
137
165
|
title: "Get persons with significant control",
|
|
138
166
|
description: "Get the PSC (Persons with Significant Control) register for a UK company. " +
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const VERSION: string;
|
|
2
|
+
export declare const PACKAGE_NAME: string;
|
|
3
|
+
/** Sent on every API call so MCP-driven usage is distinguishable from direct
|
|
4
|
+
* API traffic. Without it, adoption of this package is invisible server-side. */
|
|
5
|
+
export declare const USER_AGENT: string;
|
|
6
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC;AAC3C,eAAO,MAAM,YAAY,EAAE,MAAiB,CAAC;AAE7C;iFACiF;AACjF,eAAO,MAAM,UAAU,QAA0D,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
/**
|
|
3
|
+
* Single source of truth for the version we report to MCP clients.
|
|
4
|
+
*
|
|
5
|
+
* This was previously a literal `const VERSION = "1.0.0"` in server.ts, which
|
|
6
|
+
* stayed frozen while the package shipped 1.1.0 and 1.2.x - so every client
|
|
7
|
+
* was told the wrong version for five months. Same drift class as server.json
|
|
8
|
+
* vs package.json; both are now pinned by tests.
|
|
9
|
+
*/
|
|
10
|
+
const require = createRequire(import.meta.url);
|
|
11
|
+
const pkg = require("../package.json");
|
|
12
|
+
export const VERSION = pkg.version;
|
|
13
|
+
export const PACKAGE_NAME = pkg.name;
|
|
14
|
+
/** Sent on every API call so MCP-driven usage is distinguishable from direct
|
|
15
|
+
* API traffic. Without it, adoption of this package is invisible server-side. */
|
|
16
|
+
export const USER_AGENT = `${PACKAGE_NAME}/${VERSION} (+https://registrum.co.uk)`;
|
|
17
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAsC,CAAC;AAE5E,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,YAAY,GAAW,GAAG,CAAC,IAAI,CAAC;AAE7C;iFACiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,YAAY,IAAI,OAAO,6BAA6B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@registrum/mcp",
|
|
3
3
|
"mcpName": "io.github.vdmeu/registrum-mcp",
|
|
4
|
-
"version": "1.2.
|
|
5
|
-
"description": "MCP server for the Registrum Companies House API
|
|
4
|
+
"version": "1.2.3",
|
|
5
|
+
"description": "MCP server for the Registrum Companies House API — search UK companies, get financials, directors, beneficial ownership (PSC), and director networks",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"mcp",
|
|
8
8
|
"mcp-server",
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
"dev": "tsc --watch",
|
|
37
37
|
"start": "node dist/index.js",
|
|
38
38
|
"test": "vitest run",
|
|
39
|
-
"prepublishOnly": "npm run build && npm test"
|
|
39
|
+
"prepublishOnly": "npm run build && npm test",
|
|
40
|
+
"version": "node scripts/sync-server-json.mjs && git add server.json"
|
|
40
41
|
},
|
|
41
42
|
"dependencies": {
|
|
42
43
|
"@modelcontextprotocol/sdk": "^1.27.1",
|