get_morphology
Retrieve detailed morphological and physiological data for marine species by inputting their scientific name. Designed to support marine biology research and species analysis.
Instructions
Get morphological and physiological data for a species
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| species_name | Yes | Scientific name of the species |
Implementation Reference
- src/fishbase-api.ts:100-114 (handler)Core handler function that implements the get_morphology tool logic: retrieves species SpecCode and filters morphology data from the 'morphdat' table.async getMorphology(speciesName: string): Promise<any[]> { try { const speciesData = await this.getSpecies(speciesName); if (speciesData.length === 0) { throw new Error(`Species not found: ${speciesName}`); } const specCode = speciesData[0].SpecCode; const morphData = await this.queryTable('morphdat'); return morphData.filter((row: any) => row.SpecCode === specCode); } catch (error) { throw new Error(`Failed to get morphology data: ${error}`); } }
- src/index.ts:96-109 (registration)Tool registration in the MCP server's ListTools response, defining name, description, and input schema for get_morphology.{ name: "get_morphology", description: "Get morphological and physiological data for a species", inputSchema: { type: "object", properties: { species_name: { type: "string", description: "Scientific name of the species", }, }, required: ["species_name"], }, },
- src/index.ts:215-227 (handler)MCP CallTool request handler for get_morphology, which calls the FishBaseAPI implementation and returns JSON-formatted response.case "get_morphology": return { content: [ { type: "text", text: JSON.stringify( await fishbaseAPI.getMorphology(args.species_name as string), null, 2 ), }, ], };
- src/index.ts:99-108 (schema)Input schema definition for the get_morphology tool, specifying the required 'species_name' parameter.inputSchema: { type: "object", properties: { species_name: { type: "string", description: "Scientific name of the species", }, }, required: ["species_name"], },