search_people
Find individuals in Crunchbase by name, job title, or company to gather professional insights and connections for research or networking purposes.
Instructions
Search for people based on various criteria
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Filter by company name | |
| limit | No | Maximum number of results to return (default: 10) | |
| query | No | Search query (e.g., person name) | |
| title | No | Filter by job title |
Implementation Reference
- src/index.ts:390-409 (handler)MCP tool handler for 'search_people' in the switch statement of CallToolRequestSchema. Parses input arguments into SearchPeopleInput, calls CrunchbaseAPI.searchPeople, and returns JSON response.case 'search_people': { if (!args || typeof args !== 'object') { throw new McpError(ErrorCode.InvalidParams, 'Invalid parameters'); } const params: SearchPeopleInput = { query: typeof args.query === 'string' ? args.query : undefined, company: typeof args.company === 'string' ? args.company : undefined, title: typeof args.title === 'string' ? args.title : undefined, limit: typeof args.limit === 'number' ? args.limit : undefined }; const people = await this.crunchbaseApi.searchPeople(params); return { content: [ { type: 'text', text: JSON.stringify(people, null, 2), }, ], }; }
- src/index.ts:279-302 (registration)Tool registration in ListToolsRequestSchema response, defining name, description, and inputSchema matching SearchPeopleInput.name: 'search_people', description: 'Search for people based on various criteria', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search query (e.g., person name)', }, company: { type: 'string', description: 'Filter by company name', }, title: { type: 'string', description: 'Filter by job title', }, limit: { type: 'number', description: 'Maximum number of results to return (default: 10)', }, }, }, },
- src/crunchbase-api.ts:163-189 (helper)Core implementation of searchPeople in CrunchbaseAPI class. Builds Crunchbase search query for /searches/people endpoint and handles API response/error.async searchPeople(params: SearchPeopleInput): Promise<Person[]> { try { // Build the query string based on the provided parameters let query = params.query || ''; if (params.company) { query += ` AND featured_job_organization_name:${params.company}`; } if (params.title) { query += ` AND featured_job_title:${params.title}`; } const response = await this.client.get<CrunchbaseApiResponse<Person[]>>('/searches/people', { params: { query, limit: params.limit || 10, order: 'rank DESC' } }); return response.data.data; } catch (error) { console.error('Error searching people:', error); throw this.handleError(error); } }
- src/types.ts:139-144 (schema)TypeScript interface defining the input parameters for search_people tool.export interface SearchPeopleInput { query?: string; company?: string; title?: string; limit?: number; }