search_by_scientific_name
Find organisms by their scientific name in the ITIS database. Retrieve detailed taxonomic information, specify pagination, and access hierarchical data for precise results.
Instructions
Search for organisms by their scientific name in ITIS database.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Scientific name to search for (e.g., "Homo sapiens", "Quercus") | |
| rows | No | Number of results to return (default: 10) | |
| start | No | Starting index for pagination (default: 0) |
Implementation Reference
- src/tools.ts:289-305 (handler)MCP tool handler for 'search_by_scientific_name'. Extracts arguments (name, rows, start), calls ITISClient.searchByScientificName, and returns JSON-formatted response with search results.case 'search_by_scientific_name': { const { name, rows, start } = args as any; const result = await itisClient.searchByScientificName(name, { rows, start }); return { content: [ { type: 'text', text: JSON.stringify({ searchTerm: name, totalResults: result.response.numFound, start: result.response.start, results: result.response.docs, }, null, 2), }, ], }; }
- src/tools.ts:50-66 (schema)Input schema defining parameters for the 'search_by_scientific_name' tool: required 'name' (string), optional 'rows' and 'start' (numbers).inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Scientific name to search for (e.g., "Homo sapiens", "Quercus")', }, rows: { type: 'number', description: 'Number of results to return (default: 10)', }, start: { type: 'number', description: 'Starting index for pagination (default: 0)', }, }, required: ['name'],
- src/tools.ts:47-68 (registration)Tool registration in the tools array used for listing available tools. Includes name, description, and input schema.{ name: 'search_by_scientific_name', description: 'Search for organisms by their scientific name in ITIS database.', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Scientific name to search for (e.g., "Homo sapiens", "Quercus")', }, rows: { type: 'number', description: 'Number of results to return (default: 10)', }, start: { type: 'number', description: 'Starting index for pagination (default: 0)', }, }, required: ['name'], }, },
- src/itis-client.ts:153-158 (helper)Helper method in ITISClient that performs the actual SOLR search for scientific name by constructing query 'nameWInd:"{name}" and delegating to general search method.async searchByScientificName(name: string, options: Partial<ITISSearchOptions> = {}): Promise<ITISResponse> { return this.search({ ...options, query: `nameWInd:"${name}"`, }); }