Skip to main content

ukvet-mcp

MCP server for UK Companies House data. Gives Claude Desktop, Cursor and any other MCP client reliable, citable access to official company records: status, directors, controllers, charges, insolvency and filing history.

Part of ukvet (an AI due-diligence agent with an evaluation benchmark). This package is the data layer and works on its own.

ukvet-mcp demo

Why another Companies House server?

It focuses on correctness, not just endpoint coverage:

  • Every result is citable: {found, data, source, notes}, where source.url is the public Companies House page and retrieved_at says how fresh it is.
  • "No data" is not an error. A company with no charges returns found: false, and a 404 on a sub-endpoint is checked against the company profile so "no insolvency record" is never reported for a company that doesn't exist.
  • Computed facts, not LLM arithmetic: company age, status counts, outstanding-charge counts.
  • Data minimisation: no dates of birth, home addresses, nationality or occupation (UK GDPR).
  • Safe by construction: sliding-window rate limiter (never exceeds the 600/5 min limit), retries with backoff, hard pagination caps, short-lived cache, API key never logged.

Install

You need a free Companies House API key: create an application at https://developer.company-information.service.gov.uk/ and add a REST key for the live environment.

CH_API_KEY=your-key uvx ukvet-mcp --check     # verifies the key, prints OK

Claude Desktop

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop:

{
  "mcpServers": {
    "ukvet": {
      "command": "uvx",
      "args": ["ukvet-mcp"],
      "env": { "CH_API_KEY": "your-key" }
    }
  }
}

Try: "Is Tesco PLC active, who are its directors, and does it have any outstanding charges?"

Claude setup guide: ukvet\development\setup\claude-desktop-ukvet-setup.md

Cursor and other clients

Same command and environment variable: uvx ukvet-mcp, transport stdio.

Tools

Tool Answers
search_company Find a company number from a name
get_company_profile Status, age, overdue accounts / confirmation statement, flags
get_officers Current (or all) directors and secretaries, with appointment dates
get_officer_appointments A director's other companies and their statuses
get_persons_with_significant_control Who owns or controls the company
get_charges Secured debts, with outstanding / satisfied counts
get_insolvency Liquidation, administration, CVA, receivership cases
get_filing_history Filings with plain-English descriptions; address changes flagged

Configuration

Variable Default Meaning
CH_API_KEY (required) Companies House REST API key
UKVET_CACHE_ENABLED true Cache responses locally
UKVET_CACHE_TTL_HOURS 24 Cache lifetime
UKVET_CACHE_PATH ~/.cache/ukvet/ch_cache.sqlite Cache file
UKVET_RATE_LIMIT_REQUESTS / _WINDOW_SECONDS / _SAFETY 600 / 300 / 0.9 Client-side limit (90% of the API limit)
UKVET_MAX_ITEMS 100 Per-tool cap on records fetched
UKVET_MAX_ATTEMPTS 3 Attempts per request (429/5xx/timeouts retried)
UKVET_HTTP_TIMEOUT_SECONDS 20 Request timeout
UKVET_LOG_LEVEL WARNING Logs go to stderr

Limits (read these)

  • Data can be up to 24 hours old (cache); source.retrieved_at shows the real timestamp.
  • Results are capped (UKVET_MAX_ITEMS); truncation is always reported in notes.
  • The same real person can appear under several officer IDs, so director track records can be incomplete. Treat them as a lower bound.
  • PSC found: false does not prove a company has no owner (it may be exempt or have filed a statement, which this server does not cover).
  • Only Companies House API data: no Gazette, FCA register or filed-accounts contents.

Attribution and disclaimer

Contains public sector information licensed under the Open Government Licence v3.0 (Companies House). Not affiliated with or endorsed by Companies House. Informational only; not legal, financial or credit advice.

MIT licence.

Metadata

Release files for ukvet-mcp 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ukvet-mcp 0.0.1
File Size Uploaded
ukvet_mcp-0.0.1.tar.gz 24.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ukvet-mcp 0.0.1
File Interpreter ABI Platform
ukvet_mcp-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 54.0 kB

Release files / ukvet_mcp-0.0.1.tar.gz

Download URL ukvet_mcp-0.0.1.tar.gz
Size 24.7 kB
Tags Source
SHA-256 checksum
How to use checksums
c995f0a150486624dfb00a1f34dd1f22956e3d413b04586713e391cd4c37e30f
BLAKE2b-256 checksum
How to use checksums
bb4745c8ce8553cfe615325c2e4966a3f46422374148e551f729b549289ef9da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / ukvet_mcp-0.0.1-py3-none-any.whl

Download URL ukvet_mcp-0.0.1-py3-none-any.whl
Size 29.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a061df6516bd41289fe55b68d90e34a4a738d10ff90a418b860b2de16c256a52
BLAKE2b-256 checksum
How to use checksums
dda03c438885a078d6f800b0a93d7fa8f64f4620c14e50e177254e0fbcaa8252
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page