search_people
Find LinkedIn professionals using advanced filters such as keywords, name, company, job title, location, industry, and education. Ideal for targeted networking and research.
Instructions
Search LinkedIn professionals with advanced filters and criteria
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | No | Current company name | |
| firstName | No | First name | |
| industry | No | Industry | |
| keywords | No | Search keywords | |
| lastName | No | Last name | |
| location | No | Location | |
| school | No | School/university | |
| title | No | Job title |
Implementation Reference
- src/server.ts:68-82 (registration)Registers the MCP tool 'search-people' with description, input schema, and an async handler that delegates to clientService.searchPeople and formats the response.this.server.tool( 'search-people', 'Search for LinkedIn profiles based on various criteria', linkedinApiSchemas.searchPeople, async (params) => { this.logger.info('Executing LinkedIn People Search', { keywords: params.keywords }) try { const results = await this.clientService.searchPeople(params) return this.createResourceResponse(results) } catch (error) { this.logger.error('LinkedIn People Search Failed', error) throw error } } )
- src/services/client.service.ts:96-113 (handler)Core implementation of the people search logic: builds query parameters from input and makes authenticated GET request to LinkedIn /search/people endpoint.public async searchPeople(params: SearchPeopleParams): Promise<SearchPeopleResult> { const queryParams = new URLSearchParams() const paramMapping: Record<string, string | undefined> = { keywords: params.keywords, location: params.location } Object.entries(paramMapping) .filter(([_, value]) => value !== undefined) .forEach(([key, value]) => queryParams.append(key, value as string)) this.appendArrayParams(queryParams, { 'current-company': params.currentCompany, 'facet-industry': params.industries }) return this.makeRequest<SearchPeopleResult>('get', `/search/people?${queryParams.toString()}`)
- src/schemas/linkedin.schema.ts:18-23 (schema)Zod schema defining the input parameters for the search_people tool, used for validation in MCP.searchPeople: { currentCompany: z.array(z.string()).optional().describe('Filter by current company'), industries: z.array(z.string()).optional().describe('Filter by industries'), keywords: z.string().optional().describe('Keywords to search for LinkedIn Profiles'), location: z.string().optional().describe('Filter by location') },
- src/types/linkedin.d.ts:5-10 (helper)TypeScript interface defining the SearchPeopleParams used in the service method signature.export interface SearchPeopleParams { keywords?: string location?: string currentCompany?: string[] industries?: string[] }
- src/types/linkedin.d.ts:88-95 (helper)TypeScript interface defining the expected SearchPeopleResult from LinkedIn API.export interface SearchPeopleResult { people: LinkedInProfile[] paging: { count: number start: number total: number } }