opencorporates_search
Search OpenCorporates for company information using a company name query to support OSINT investigations and security research.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Company name to search for in OpenCorporates |
Implementation Reference
- src/tools/corporate.ts:13-25 (handler)The actual implementation of the OpenCorporates search logic, which executes an API request to OpenCorporates.
async searchCompanies(query: string): Promise<any[]> { const apiKey = process.env.OPENCORPORATES_API_KEY; // OpenCorporates works without a key but is very limited const url = `https://api.opencorporates.com/v0.4/companies/search?q=${encodeURIComponent(query)}${apiKey ? `&api_token=${apiKey}` : ""}`; try { const response = await fetch(url); const data = await response.json() as any; return data.results?.companies || []; } catch (error) { throw new McpError(ErrorCode.InternalError, `OpenCorporates error: ${(error as Error).message}`); } } - src/index.ts:709-718 (registration)Registration of the "opencorporates_search" tool in the MCP server.
server.tool( "opencorporates_search", { query: z.string().describe("Company name to search for in OpenCorporates") }, async ({ query }) => { const result = await corpClient.searchCompanies(query); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; } );