get_top_inventors
Identify leading inventors in specific technology fields using patent data. Search by keywords or IPC classification to evaluate top performers or find potential recruits.
Instructions
Shows the top inventors in the technology field. Evaluate top performers or identify potential recruits. Returns up to the top 10 inventors. Note: Search must contain either keywords or IPC. If both are provided, IPC is prioritized.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | No | Keywords to search within patent title and abstract/summary. Supports AND, OR, NOT logic. Example: "mobile phone AND (screen OR battery)" | |
| ipc | No | Patent IPC classification code. Used to specify a particular technology field. | |
| apply_start_time | No | Patent application start year (yyyy format). Filters by application filing date. | |
| apply_end_time | No | Patent application end year (yyyy format). Filters by application filing date. | |
| public_start_time | No | Patent publication start year (yyyy format). Filters by publication date. | |
| public_end_time | No | Patent publication end year (yyyy format). Filters by publication date. | |
| authority | No | Patent authority code (e.g., CN, US, EP, JP). Filters by patent office. Use OR for multiple, e.g., "US OR EP". |
Implementation Reference
- src/index.ts:253-257 (handler)The handler function implementing the core logic for the 'get_top_inventors' tool. It constructs search parameters from input args and delegates to the callPatsnapApi helper for the 'inventor-ranking' endpoint.async function getTopInventors(args: BasePatentArgs): Promise<ServerResult> { const params = buildCommonSearchParams(args); // No 'lang' parameter for this endpoint return callPatsnapApi('inventor-ranking', params, 'get top inventors'); }
- src/index.ts:362-365 (schema)Tool schema registration in the ListToolsRequest handler, defining the name, description, and inputSchema for 'get_top_inventors'.name: 'get_top_inventors', description: 'Shows the top inventors in the technology field. Evaluate top performers or identify potential recruits. Returns up to the top 10 inventors. Note: Search must contain either keywords or IPC. If both are provided, IPC is prioritized.', inputSchema: basePatentInputSchema },
- src/index.ts:399-399 (registration)Registration of the tool handler in the toolImplementations dispatch map used by the CallToolRequest handler.'get_top_inventors': getTopInventors,
- src/index.ts:303-316 (schema)Shared basePatentInputSchema object referenced as inputSchema for the 'get_top_inventors' tool and others.const basePatentInputSchema = { type: 'object' as const, // Use 'as const' for stricter type checking properties: { keywords: { type: 'string', description: 'Keywords to search within patent title and abstract/summary. Supports AND, OR, NOT logic. Example: "mobile phone AND (screen OR battery)"' }, ipc: { type: 'string', description: 'Patent IPC classification code. Used to specify a particular technology field.' }, apply_start_time: { type: 'string', description: 'Patent application start year (yyyy format). Filters by application filing date.' }, apply_end_time: { type: 'string', description: 'Patent application end year (yyyy format). Filters by application filing date.' }, public_start_time: { type: 'string', description: 'Patent publication start year (yyyy format). Filters by publication date.' }, public_end_time: { type: 'string', description: 'Patent publication end year (yyyy format). Filters by publication date.' }, authority: { type: 'string', description: 'Patent authority code (e.g., CN, US, EP, JP). Filters by patent office. Use OR for multiple, e.g., "US OR EP".' } }, // Add a note about requiring keywords or IPC for most tools description: "Requires either 'keywords' or 'ipc' to be specified for a meaningful search. If both are provided, IPC is prioritized by the API." };
- src/index.ts:213-213 (schema)TypeScript type definition for BasePatentArgs used as parameter type in the getTopInventors handler.type BasePatentArgs = { keywords?: string; ipc?: string; apply_start_time?: string; apply_end_time?: string; public_start_time?: string; public_end_time?: string; authority?: string };