get_acquisitions
Retrieve acquisition data for a specific company from Crunchbase. Input a company name or UUID and set a result limit to get details on acquisitions made by or of the company.
Instructions
Get acquisitions made by or of a specific company
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| company_name_or_id | No | Company name or UUID | |
| limit | No | Maximum number of results to return (default: 10) |
Implementation Reference
- src/index.ts:371-388 (handler)MCP tool handler for 'get_acquisitions': validates input arguments, constructs params, calls crunchbaseApi.getAcquisitions, and returns JSON stringified response.case 'get_acquisitions': { if (!args || typeof args !== 'object') { throw new McpError(ErrorCode.InvalidParams, 'Invalid parameters'); } const params: GetAcquisitionsInput = { company_name_or_id: typeof args.company_name_or_id === 'string' ? args.company_name_or_id : undefined, limit: typeof args.limit === 'number' ? args.limit : undefined }; const acquisitions = await this.crunchbaseApi.getAcquisitions(params); return { content: [ { type: 'text', text: JSON.stringify(acquisitions, null, 2), }, ], }; }
- src/crunchbase-api.ts:128-157 (handler)Core implementation of getAcquisitions: resolves company UUID if needed, builds search query for acquisitions where the company is acquirer or acquiree, calls Crunchbase API /searches/acquisitions, returns results.async getAcquisitions(params: GetAcquisitionsInput): Promise<Acquisition[]> { try { let companyId: string | undefined; if (params.company_name_or_id) { // Get the company UUID const company = await this.getCompanyDetails({ name_or_id: params.company_name_or_id }); companyId = company.uuid; } // Build the query let query = ''; if (companyId) { query = `acquirer_identifier.uuid:${companyId} OR acquiree_identifier.uuid:${companyId}`; } // Get the acquisitions const response = await this.client.get<CrunchbaseApiResponse<Acquisition[]>>('/searches/acquisitions', { params: { query, limit: params.limit || 10, order: 'announced_on DESC' } }); return response.data.data; } catch (error) { console.error('Error getting acquisitions:', error); throw this.handleError(error); }
- src/index.ts:261-277 (registration)Tool registration in ListTools response: defines name 'get_acquisitions', description, and inputSchema.{ name: 'get_acquisitions', description: 'Get acquisitions made by or of a specific company', inputSchema: { type: 'object', properties: { company_name_or_id: { type: 'string', description: 'Company name or UUID', }, limit: { type: 'number', description: 'Maximum number of results to return (default: 10)', }, }, }, },
- src/types.ts:134-137 (schema)TypeScript interface defining input parameters for getAcquisitions tool.export interface GetAcquisitionsInput { company_name_or_id?: string; limit?: number; }