@notcrippledgod/uk-business-intelligence-mcp
v2.2.1
Published
MCP server for UK company intelligence — search, directors, filings, financial accounts (iXBRL), website-vs-Companies-House legitimacy verification, and health scoring
Maintainers
Readme
UK Business Intelligence MCP Server
Search, profile, and risk-score any of 5M+ UK registered companies directly from your AI assistant. One-call due diligence reports, financial account parsing, and health scoring — all from Companies House data.
Quick Start
Hosted (zero config — recommended)
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on Mac, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"uk-business-intelligence": {
"url": "https://uk-mcp.ho35n.xyz/mcp"
}
}
}No API keys. No npm. Restart Claude Desktop and go.
Claude Code / Cursor / Windsurf (stdio)
{
"mcpServers": {
"uk-business-intelligence": {
"command": "npx",
"args": ["-y", "@notcrippledgod/uk-business-intelligence-mcp", "--stdio"],
"env": {
"COMPANIES_HOUSE_API_KEY": "your_key_here"
}
}
}
}Get a free API key (2 min): developer.company-information.service.gov.uk
Windows users: Replace "command": "npx" with "command": "cmd" and "args": ["/c", "npx", "-y", "@notcrippledgod/uk-business-intelligence-mcp", "--stdio"].
Smithery (one-click)
npx -y smithery mcp add notcrippledgod/uk-business-intelligenceTry it
Once connected, ask your AI:
- "Run a full due diligence report on Tesco"
- "Who are the directors of company 00445790?"
- "What's the health score for Deliveroo?"
- "Show me Tesco's latest financial accounts"
Tools
| Tool | Description |
|---|---|
| search_companies | Find UK companies by name or number |
| get_company_profile | Full profile — address, SIC codes, filing deadlines, status |
| get_officers | Directors and secretaries with appointment dates. Paginated (100/page) |
| get_filing_history | Recent Companies House filings. Paginated (100/page) |
| get_psc | Persons with Significant Control (beneficial owners, 25%+ stakes) |
| get_charges | Mortgages and secured debt — status, lender, creation date |
| check_company_health | Composite 0–100 health score with risk rating and plain-English summary |
| get_company_financials | Parse iXBRL annual accounts — turnover, profit, assets, employees |
| full_due_diligence | One call, full report. Runs all checks in parallel — profile, health, officers, ownership, charges, financials |
| verify_business_legitimacy | NEW in v2.2. Cross-validates a UK business website against Companies House — registered name, address, status, schema, visible company number. Returns 0-100 legitimacy score with itemized mismatches. Catches dormant/dissolved companies, fake addresses, name mismatches |
Health Score
Starts at 100. Deductions for risk signals:
| Signal | Deduction | |---|---| | Company not active | −50 | | Insolvency history | −30 | | Accounts overdue | −20 | | Confirmation statement overdue | −15 | | No filings in last 12 months | −15 | | No PSC registered | −10 |
Ranges: 80–100 low risk · 60–79 medium · 40–59 high · 0–39 critical
MCP Resources
Browse company data via URI templates:
companies://{company_number}/profilecompanies://{company_number}/officerscompanies://{company_number}/financialscompanies://{company_number}/health
MCP Prompts
due-diligence— Pre-built workflow prompt for comprehensive company assessment. Surfaces as a slash command in Claude Desktop.
CLI
npx @notcrippledgod/uk-business-intelligence-mcp --help
npx @notcrippledgod/uk-business-intelligence-mcp --version
npx @notcrippledgod/uk-business-intelligence-mcp --stdio # stdio mode for agents
npx @notcrippledgod/uk-business-intelligence-mcp # HTTP server (default)Environment Variables
| Variable | Required | Description |
|---|---|---|
| COMPANIES_HOUSE_API_KEY | Yes (local) | Free API key from Companies House |
| PORT | No | HTTP server port (default: 8080) |
| BIND_HOST | No | Bind address (default: 127.0.0.1, auto 0.0.0.0 on Cloud Run) |
| MCP_TOKEN | Required in production | Bearer token to protect the /mcp endpoint. Required when NODE_ENV=production and PORT is set; startup fails fast otherwise |
| ADMIN_TOKEN | No | Bearer token for /telemetry endpoint |
| NODE_ENV | No | Set to "production" to disable dev logging |
Distribution
- Hosted (free): uk-mcp.ho35n.xyz/mcp
- MCPize: mcpize.com/mcp/uk-business-intelligence
- Smithery: smithery.ai/servers/notcrippledgod/uk-business-intelligence
- npm: @notcrippledgod/uk-business-intelligence-mcp
Pricing (MCPize)
| Tier | Lookups/mo | Price | |------|-----------|-------| | Free | 50 | $0 | | Starter | 500 | $19/mo | | Pro | 2,500 | $49/mo | | Scale | 10,000 | $149/mo |
The hosted endpoint at uk-mcp.ho35n.xyz is free with rate limiting (60 requests/min per IP).
Data Source
Companies House public API — real-time data covering 5M+ UK registered companies.
Contains information from Companies House, made available under the Open Government Licence v3.0.
Security
- All origins bound to 127.0.0.1 by default
- SSRF protection on
verify_business_legitimacy— scheme allowlist (http/https only), DNS-resolved IP blocking for loopback, RFC1918, link-local, ULA, multicast, CGNAT, IPv6 loopback/link-local; manual redirect handling with re-validation per hop (max 5) - Streaming body cap — 1 MB enforced via
Content-Lengthpre-check + chunked read with abort on overflow - Untrusted-content wrapping — scraped website fields are wrapped (
«untrusted: ...») in LLM-facing text and prefaced with a do-not-execute notice - SSRF protection on Companies House document fetching (allowlisted hosts only)
- Per-IP rate limiting (60 req/min) with bounded eviction
trust proxyrestricted to loopback/linklocal/uniquelocal CIDRs (no spoofable upstream IPs)- Session cap (100 concurrent), expiry on inactivity (5 min)
- Request body limit (16KB MCP / 1 MB website fetch)
- Optional bearer token auth (
MCP_TOKEN) — required whenNODE_ENV=productionandPORTis set - Security headers (HSTS, X-Content-Type-Options, X-Frame-Options, Cache-Control)
- Retry with exponential backoff on transient API errors
License
MIT
