search_companiesLABSCO SUMMARY
It returns the registry's own response — field names, status codes and raw filing bytes intact.
There is no aggregator re-shaping the data and no cache layer that can go stale, so what you read is what the government's system emits at the moment you ask. The trade is that you deal with each jurisdiction's own field names rather than a single normalized schema — which is exactly what makes the answer traceable back to the source record.
What it is
A hosted MCP endpoint that queries 30 official government company registries in real time — UK Companies House, France RNE, Spain BORME, Poland KRS, Korea OpenDART and more — and returns each registry's own response unmodified.
What you get
- Company search and profiles across 30 national registries — search_companies, list_jurisdictions
- Ownership: get_shareholders and get_persons_with_significant_control, chainable across jurisdictions
- Raw filings: fetch_document returns the government's own XHTML iXBRL, PDF or XBRL bytes
- live_company_accounts_xbrl for financial-statement data
- search_specialised_records for registries that do not expose the standard concepts
- Prebuilt workflows: ubo_cross_border_chain_walker, shell_company_detector, director_search_pep_screening, corporate_filing_monitor
- Identifiers preserved, so any response can be traced back to the government's own URL
Requirements
Nothing to install and no API key to paste: the hosted endpoint at https://openregistry.sophymarine.com/mcp speaks Streamable HTTP and uses OAuth 2.1 with Dynamic Client Registration, so your client registers itself. The free tier allows 30 requests per minute across 6 core tools and every jurisdiction; paid keys raise quota and depth.
Setup effort
One command — claude mcp add --transport http openregistry https://openregistry.sophymarine.com/mcp
USE CASES
Walking ownership up to a real person
Follow shareholders through holding companies across jurisdictions in one conversation.
Reading the filing itself, not a summary of it
Fetch the government's own document bytes for the record you are looking at.
Running due diligence that crosses borders
Search in one registry and follow the chain into the next without leaving the thread.
Checking who legally controls a UK company
Pull the persons with significant control as the registry records them.
8 tools
Listed in project docs. Your client may show a different list.
list_jurisdictionsget_shareholdersget_persons_with_significant_controllist_filingsget_financialsfetch_documentsearch_specialised_recordsBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation.
Requires
A client that can reach a remote MCP server over HTTP
INSTALLATION
Connect your client
Server setup
claude mcp add
Claude Code
claude mcp add --transport http openregistry https://openregistry.sophymarine.com/mcpHosted endpoint
https://openregistry.sophymarine.com/mcpAdd this hosted endpoint to your MCP client.
MCP Clients
Claude Desktop
{
"mcpServers": {
"openregistry": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://openregistry.sophymarine.com/mcp"
]
}
}
}Gemini CLI
{
"mcpServers": {
"openregistry": {
"httpUrl": "https://openregistry.sophymarine.com/mcp"
}
}
}ChatGPT
Connectors: https://openregistry.sophymarine.com/mcp
Perplexity
Custom remote connector: https://openregistry.sophymarine.com/mcp
Cursor, Other MCP clients
{
"mcpServers": {
"openregistry": {
"url": "https://openregistry.sophymarine.com/mcp"
}
}
}VS Code
{
"servers": {
"openregistry": {
"type": "http",
"url": "https://openregistry.sophymarine.com/mcp"
}
}
}Microsoft 365 Copilot
Model Context Protocol: https://openregistry.sophymarine.com/mcp
Authentication: OAuth 2.0 → Dynamic discovery
Cline
{
"mcpServers": {
"openregistry": {
"url": "https://openregistry.sophymarine.com/mcp",
"type": "streamableHttp"
}
}
}Windsurf
{
"mcpServers": {
"openregistry": {
"serverUrl": "https://openregistry.sophymarine.com/mcp"
}
}
}