Koskamo

CompanyVerify MCP

Provides UK counterparty evidence for agents by assembling Companies House registry records, GLEIF LEI candidates, and sanctions-list evidence into a single structured response with source provenance and review flags.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

CompanyVerify MCP logo, by CompanyVerifyCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by CompanyVerify
You need:No account, API key or payment needed
MCP endpoint (Streamable HTTP)
https://api.companyverify.uk/mcp
Vendor documentation

What its tools do

21 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

21 of 21 have a description · 0 of 21 declare behavior hints · 21 of 21 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search UK Companies House register by name or number
  • Resolve legal entities to LEIs via GLEIF API
  • Screen names against OFAC and UK sanctions lists
  • Assemble counterparty evidence packs with review flags

Source and maintenance

Community listingRegistry 0.1.1

Protocol and capabilities

Server
companyverify 0.1.0
MCP protocol negotiated in check
2025-11-25
Tools
21 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

21 advertised

uk_company_search — UK company search
Advertised by the server during the last successful anonymous check.

Search the UK Companies House register by name or number. Returns candidate companies with number, status, type, incorporation date and registered address, with provenance. Primary source with retrieval timestamp; cached for up to 24 hours.

uk_company_search input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Company name or company number"
    },
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Max results"
    }
  }
}
uk_company_profile — UK company profile with officers
Advertised by the server during the last successful anonymous check.

Full Companies House profile for a company number: status, SIC codes, registered office, accounts and confirmation statement dates, plus the first page of officers (up to 35), with explicit total/coverage metadata. Primary source, cached for up to 24 hours, provenance attached.

uk_company_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "company_number"
  ],
  "properties": {
    "company_number": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Companies House number"
    }
  }
}
lei_lookup — LEI lookup (GLEIF)
Advertised by the server during the last successful anonymous check.

Resolve a legal entity to its Legal Entity Identifier via the GLEIF API. Supply identifier_type as lei or name, and identifier_value accordingly. Returns LEI, legal name, jurisdiction, status and registration dates. CC0 source data, provenance attached.

lei_lookup input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "identifier_type",
    "identifier_value"
  ],
  "properties": {
    "identifier_type": {
      "enum": [
        "lei",
        "name"
      ],
      "type": "string",
      "description": "Whether identifier_value is a 20-character LEI or a legal name"
    },
    "identifier_value": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "20-character LEI or legal entity name"
    }
  }
}
sanctions_screen — Sanctions screen (primary lists)
Advertised by the server during the last successful anonymous check.

Screen a person or entity name against sanctions lists loaded directly from primary government sources (configurable: OFAC SDN and consolidated, the UK Sanctions List). Returns match verdict, candidate hits with scores, list versions and retrieval timestamps. Not a PEP or adverse-media screen.

sanctions_screen input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Person or entity name to screen"
    },
    "threshold": {
      "type": "number",
      "maximum": 1,
      "minimum": 0,
      "description": "Match threshold 0..1"
    }
  }
}
entity_match — Entity match verdict
Advertised by the server during the last successful anonymous check.

Compare two company references using supplied company-number/LEI equality and normalised name similarity. When one reference has a UK company number and the other only a name, optionally corroborates against Companies House. LEIs are compared as supplied, not validated against GLEIF by this tool. Returns a verdict, heuristic confidence and signal provenance.

entity_match input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "a",
    "b"
  ],
  "properties": {
    "a": {
      "type": "object",
      "description": "First reference: {name, company_number?, lei?}",
      "propertyNames": {
        "type": "string",
        "maxLength": 100
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 200
      }
    },
    "b": {
      "type": "object",
      "description": "Second reference: {name, company_number?, lei?}",
      "propertyNames": {
        "type": "string",
        "maxLength": 100
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 200
      }
    }
  }
}
counterparty_evidence — UK counterparty evidence pack
Advertised by the server during the last successful anonymous check.

In one call, assemble a Companies House candidate and profile with optional GLEIF and sanctions evidence. Supply a company number for a direct lookup, or a name and optional registered postcode for candidate resolution. Exact title matches are preferred; ambiguous or fuzzy-only matches are flagged for review. This is evidence assembly, not identity verification, a KYB decision, or sanctions clearance.

counterparty_evidence input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "include_lei": {
      "type": "boolean",
      "description": "Include GLEIF name candidates"
    },
    "company_name": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Registered or supplied company name to resolve or compare"
    },
    "company_number": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Companies House number for a direct lookup"
    },
    "include_sanctions": {
      "type": "boolean",
      "description": "Include screening against the configured sanctions lists"
    },
    "registered_postcode": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Optional postcode to compare with the register address"
    }
  }
}
uk_psc_ubo — UK beneficial ownership (PSC) resolution
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: resolved beneficial-ownership chain for a UK company from PSC data, entity-resolved across registries. Calling this records your requirement and returns a structured not-covered response.

uk_psc_ubo input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "company_number"
  ],
  "properties": {
    "company_number": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "company_number"
    }
  }
}
cross_registry_resolve — Cross-registry entity resolution
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: resolve a company across Companies House, GLEIF, OpenOwnership and sanctions lists into one entity record with per-assertion provenance. Calling records the ask and returns not-covered.

cross_registry_resolve input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "name"
    },
    "identifiers": {
      "type": "object",
      "description": "identifiers",
      "propertyNames": {
        "type": "string",
        "maxLength": 100
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 200
      }
    },
    "jurisdiction": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "jurisdiction"
    }
  }
}
pep_screen — PEP screen
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: politically exposed person screening. Calling records the requirement and returns a structured not-covered response. Sanctions-only screening is live at /v1/screen/sanctions.

pep_screen input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "name"
    },
    "country": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "country"
    }
  }
}
adverse_media — Adverse media screen
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: adverse media screening with citations. Calling records the requirement and returns not-covered.

adverse_media input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "name"
    }
  }
}
uk_director_changes — Director change monitoring
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: per-entity change feed for officer appointments and resignations, priced per delta. Calling records the requirement and returns not-covered.

uk_director_changes input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "company_number"
  ],
  "properties": {
    "company_number": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "company_number"
    }
  }
}
uk_insolvency_notices — Insolvency notice feed (Gazette)
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: structured Gazette insolvency notices for a monitored entity, per event. Calling records the requirement.

uk_insolvency_notices input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "identifier_type",
    "identifier_value"
  ],
  "properties": {
    "identifier_type": {
      "enum": [
        "company_number",
        "name"
      ],
      "type": "string",
      "description": "Whether identifier_value is a Companies House number or entity name"
    },
    "identifier_value": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Companies House number or entity name to monitor"
    }
  }
}
fca_register_check — FCA register check
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: authorisation status of a firm or individual on the FCA register. Calling records the requirement.

fca_register_check input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "identifier_type",
    "identifier_value"
  ],
  "properties": {
    "identifier_type": {
      "enum": [
        "frn",
        "name"
      ],
      "type": "string",
      "description": "Whether identifier_value is an FCA reference number or firm name"
    },
    "identifier_value": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "FCA reference number or firm name"
    }
  }
}
kyb_verdict — Full KYB verdict
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: single-call KYB verdict (exists, active, officers, PSC, sanctions, insolvency) with signed provenance receipt. Calling records the requirement and returns not-covered.

kyb_verdict input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "identifier_type",
    "identifier_value"
  ],
  "properties": {
    "jurisdiction": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "jurisdiction"
    },
    "identifier_type": {
      "enum": [
        "company_number",
        "name"
      ],
      "type": "string",
      "description": "Whether identifier_value is a Companies House number or company name"
    },
    "identifier_value": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Companies House number or company name"
    }
  }
}
vessel_sanctions — Vessel sanctions screen
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: screen a vessel (IMO, name, flag) against sanctions designations. Calling records the requirement.

vessel_sanctions input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "identifier_type",
    "identifier_value"
  ],
  "properties": {
    "identifier_type": {
      "enum": [
        "imo",
        "name"
      ],
      "type": "string",
      "description": "Whether identifier_value is an IMO number or vessel name"
    },
    "identifier_value": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "IMO number or vessel name"
    }
  }
}
uk_procurement_awards — UK procurement award lookup
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: contract awards for a supplier from Find a Tender OCDS data. Calling records the requirement.

uk_procurement_awards input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "supplier"
  ],
  "properties": {
    "supplier": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "supplier"
    }
  }
}
eu_vat_check — EU VAT number check
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: VIES VAT validation with provenance. Calling records the requirement.

eu_vat_check input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "vat"
  ],
  "properties": {
    "vat": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "vat"
    }
  }
}
registry_doc_fetch — Registry filing fetch
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: fetch and parse a specific Companies House filing into structured JSON. Calling records the requirement.

registry_doc_fetch input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "company_number"
  ],
  "properties": {
    "filing_type": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "filing_type"
    },
    "company_number": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "company_number"
    }
  }
}
charge_register — Charges register lookup
Advertised by the server during the last successful anonymous check.

Roadmap probe, not yet served: outstanding charges and security for a UK company. Calling records the requirement.

charge_register input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "company_number"
  ],
  "properties": {
    "company_number": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "company_number"
    }
  }
}
find_capability — Find a data capability
Advertised by the server during the last successful anonymous check.

Search live and honestly planned data capabilities. Searches inform build priority.

find_capability input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "What data or verdict you need"
    }
  }
}
request_data — Request a dataset or capability
Advertised by the server during the last successful anonymous check.

State a data requirement, intended use, expected monthly volume and acceptable price. Free and logged to inform build priority.

request_data input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "description"
  ],
  "properties": {
    "contact": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Optional contact for a future reply"
    },
    "use_case": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "use_case"
    },
    "description": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "The data or verdict you need"
    },
    "max_price_usd": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "max_price_usd"
    },
    "volume_per_month": {
      "type": "integer",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "volume_per_month"
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-07: 1 of 1 checks answered
  2. 2026-11-09: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
792 ms
95th percentile latency
792 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 792 ms · metadata changed · 21 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http companyverify-mcp https://api.companyverify.uk/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add companyverify-mcp --url https://api.companyverify.uk/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable companyverify-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "companyverify-mcp": {
      "url": "https://api.companyverify.uk/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "companyverify-mcp": {
      "type": "streamableHttp",
      "url": "https://api.companyverify.uk/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start companyverify-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "companyverify-mcp": {
      "type": "http",
      "url": "https://api.companyverify.uk/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http companyverify-mcp https://api.companyverify.uk/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://api.companyverify.uk/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "companyverify-mcp": {
      "serverUrl": "https://api.companyverify.uk/mcp"
    }
  }
}

Let your agent find its tools

Find servers like CompanyVerify MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.