mcp-opencorporates
mcp-opencorporates
MCP-Server für OpenCorporates – die weltweit größte offene Datenbank für Unternehmen. Durchsuchen Sie Unternehmen, Führungskräfte und Einreichungshistorien in über 140 Rechtsgebieten weltweit.
Installation
npx -y @gonzih/mcp-opencorporatesRelated MCP server: mcp-open-corporates
Claude Desktop Konfiguration
Fügen Sie dies zu ~/Library/Application Support/Claude/claude_desktop_config.json hinzu:
{
"mcpServers": {
"opencorporates": {
"command": "npx",
"args": ["-y", "@gonzih/mcp-opencorporates"],
"env": {
"OPENCORPORATES_API_KEY": "your_api_key_here"
}
}
}
}Der OPENCORPORATES_API_KEY ist optional – ohne ihn wird die kostenlose Stufe verwendet (mit Ratenbegrenzung). Einen API-Schlüssel erhalten Sie unter opencorporates.com.
Tools
search_companies
Suchen Sie nach Unternehmen anhand des Namens in allen Rechtsgebieten oder innerhalb eines bestimmten Gebiets.
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | Firmenname oder Suchbegriff |
| string | nein | Nach Rechtsgebiet filtern (z. B. |
| number | nein | Seitennummer für die Paginierung |
get_company
Abrufen vollständiger Details zu einem Unternehmen anhand des Rechtsgebiet-Codes und der Registrierungsnummer.
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | Rechtsgebiet-Code (z. B. |
| string | ja | Firmenregistrierungsnummer |
search_officers
Suchen Sie nach Führungskräften (Direktoren, Anteilseigner, Vertreter) in allen Unternehmen.
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | Name der Führungskraft oder Suchbegriff |
| string | nein | Nach Rechtsgebiet filtern |
| number | nein | Seitennummer für die Paginierung |
get_company_officers
Abrufen aller Führungskräfte für ein bestimmtes Unternehmen.
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | Rechtsgebiet-Code |
| string | ja | Firmenregistrierungsnummer |
| number | nein | Seitennummer für die Paginierung |
get_company_filings
Abrufen der Einreichungshistorie für ein Unternehmen.
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | Rechtsgebiet-Code |
| string | ja | Firmenregistrierungsnummer |
| number | nein | Seitennummer für die Paginierung |
Rechtsgebiet-Codes
Gebräuchliche Codes:
Code | Rechtsgebiet |
| Delaware, USA |
| Kalifornien, USA |
| New York, USA |
| Vereinigtes Königreich |
| Deutschland |
| Frankreich |
| Australien |
| Ontario, Kanada |
Vollständige Liste: opencorporates.com/jurisdictions
API-Schlüssel Einrichtung
Die kostenlose Stufe funktioniert ohne API-Schlüssel, ist jedoch ratenbegrenzt. Für höhere Limits:
Registrieren Sie sich unter opencorporates.com
Setzen Sie die Umgebungsvariable
OPENCORPORATES_API_KEYin Ihrer Claude Desktop-Konfiguration
API-Referenz
Vollständige API-Dokumentation: api.opencorporates.com/documentation/API-Reference
Lizenz
MIT
Available Tools
5 toolsget_companyA
Get full details for a specific company by jurisdiction code and company number. Returns name, status, incorporation date, registered address, officers, and filings.
| Name | Required | Description | Default |
|---|---|---|---|
| jurisdiction_code | Yes | Jurisdiction code (e.g. 'us_de', 'gb', 'de') | |
| company_number | Yes | Company registration number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns company details (name, status, etc.) which implies a read operation. However, it does not explicitly state read-only, authentication needs, or potential limitations. The listed return fields add moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and resource, followed by return fields. No extraneous information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 well-defined parameters (100% schema coverage), no output schema, and no annotations, the description provides essential information: purpose, required identifiers, and typical return fields. It could mention error handling or potential missing data, but the information is sufficient for a simple tool with clear siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both parameters well. The tool description echoes the parameter purpose ('by jurisdiction code and company number') but doesn't add new syntax or meaning beyond the schema. The description compensates slightly by linking parameters to the returned data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and specifies the resource as 'full details for a specific company' with precise identifiers (jurisdiction code and company number). It lists key return fields, distinguishing itself from sibling tools like get_company_filings and get_company_officers which are more focused.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description instructs when to use the tool (by providing jurisdiction_code and company_number). It implicitly differentiates from sibling search tools and sub-detail tools, but doesn't explicitly state alternatives or when not to use it. Overall context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_filingsA
Get the filing history for a specific company. Returns filings with dates, types, and descriptions.
| Name | Required | Description | Default |
|---|---|---|---|
| jurisdiction_code | Yes | Jurisdiction code (e.g. 'us_de', 'gb', 'de') | |
| company_number | Yes | Company registration number | |
| page | No | Page number for pagination (default 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states return content but omits details like read-only nature (likely safe), pagination via the 'page' parameter, or error conditions. This is adequate but lacks depth for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no fluff. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains return format but omits pagination behavior and error handling. For a simple list tool, it's minimally viable but could include details on the page parameter's effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the existing parameter descriptions are sufficient. The tool description adds no extra meaning beyond what's in the input schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'filing history for a specific company', and explicitly mentions returned fields (dates, types, descriptions). This distinguishes it from siblings like get_company (single company info) and get_company_officers (officers list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining filing history of a specific company, but no explicit when-not or alternative tools are mentioned. An agent must infer from tool names alone; no guidance on when to prefer this over search_companies or get_company is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_officersA
Get all officers for a specific company. Returns current and historical officers with positions and dates.
| Name | Required | Description | Default |
|---|---|---|---|
| jurisdiction_code | Yes | Jurisdiction code (e.g. 'us_de', 'gb', 'de') | |
| company_number | Yes | Company registration number | |
| page | No | Page number for pagination (default 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states that it returns current and historical officers with positions and dates, indicating a read operation. However, it does not mention pagination behavior, rate limits, or prerequisites beyond the required parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose and return content, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input (3 parameters) and no output schema, the description covers the main return content (current and historical officers with positions and dates). It lacks details on pagination handling, which is relevant given the 'page' parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no parameter-specific details beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets all officers for a specific company. This distinguishes it from siblings like 'search_officers' (which searches across companies) and 'get_company' (which gets company details).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: for a specific company using jurisdiction and company number. However, it does not explicitly exclude cases or compare with alternatives like 'search_officers' or 'get_company_filings'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_companiesB
Search companies by name in the OpenCorporates database. Returns matching companies with name, number, jurisdiction, status, incorporation date, and registered address.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Company name or search query | |
| jurisdiction_code | No | Jurisdiction code to filter results (e.g. 'us_de' for Delaware, 'gb' for UK, 'de' for Germany) | |
| page | No | Page number for pagination (default 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully convey behavioral traits. It only mentions that matching companies are returned, omitting details on pagination, data freshness, rate limits, or side effects. The list of return fields adds some value but insufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with two sentences that efficiently convey the primary action and return fields. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description adequately lists return fields. However, it misses details on pagination behavior (the 'page' parameter is present but not explained) and does not address error handling or empty results. It is minimally adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are described in the input schema (100% coverage). The description adds marginal context by linking the search action to the 'q' parameter, but does not provide additional semantics beyond what the schema already offers. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for companies by name and lists the fields returned. However, it does not explicitly differentiate itself from sibling tools like get_company or search_officers, leaving the agent to infer distinctions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description only states the search action and filter options without context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_officersB
Search for officers (directors, shareholders, agents) across all companies in OpenCorporates.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Officer name or search query | |
| jurisdiction_code | No | Jurisdiction code to filter results (e.g. 'us_de', 'gb') | |
| page | No | Page number for pagination (default 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the purpose. It does not disclose behavioral traits such as authentication requirements, rate limits, result format, or error handling. The description is too brief for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, very concise and to the point. However, it could be slightly more detailed without losing conciseness, e.g., mentioning the return type. Still, it earns its place without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is incomplete. It does not explain what the search returns, how results are structured, or provide usage context beyond the basic purpose. The tool is simple, but more context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no additional meaning beyond the schema. The baseline of 3 is appropriate as it does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'search', the resource 'officers', and provides specific types (directors, shareholders, agents) and scope 'across all companies'. It distinguishes from siblings like get_company_officers which returns officers for a specific company.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for global officer search, but it does not explicitly state when to use it vs. alternatives like get_company_officers. No when-not-to-use or prerequisite guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.1- First observed
get_company - First observed
get_company_filings - First observed
get_company_officers - First observed
search_companies - First observed
search_officers
TDQS
Scored across 5 tools
Each tool targets a distinct aspect: single company, filings, officers, company search, and officer search. No overlap in functionality.
All tools follow a consistent verb_noun pattern: get_company, get_company_filings, get_company_officers, search_companies, search_officers. Perfectly uniform.
5 tools is well-scoped for a corporate data lookup server, covering both retrieval and search without being excessive.
The tool set covers the main operations for corporate data: retrieve a company, its filings and officers, and search across companies and officers. No obvious gaps for the domain.
Maintenance
Related MCP Connectors
OpenCorporates MCP — Global company registry data (BYO key)
Official company and director data: search, profiles, filings, and name normalization.
Live data from 27 official national company registries. Unmodified. For KYB and due diligence.
Background check any company in the world: registration, executives, courts and finances.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to search and retrieve UK Companies House data including company profiles, officers, and filing history via the official API.4170 npm1MIT
- AlicenseNot gradedqualityBmaintenanceOpenCorporates MCP provides free, no-auth access to global company registry data with rate limiting, enabling AI agents to look up company information.178 npmMIT
- AlicenseAqualityBmaintenanceExposes 29 official business-registry actors as MCP tools for KYC/AML, beneficial-owner (UBO), credit-risk and adverse-media workflows across 11 jurisdictions (EU, US, UAE). Sourced via Apify; pay-per-result.386MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying UK company data including search, profiles, officers, filings, and persons with significant control via Companies House API.170 npmMIT