search_satellites_by_name
Use this tool to locate satellites by entering their name or international designator, enabling precise tracking and identification based on search queries.
Instructions
Search for satellites by name or international designator
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search term (satellite name or international designator) |
Implementation Reference
- src/server.ts:262-275 (registration)Tool registration in getTools() including name, description, and input schema{ name: "search_satellites_by_name", description: "Search for satellites by name or international designator", inputSchema: { type: "object", properties: { query: { type: "string", description: "Search term (satellite name or international designator)", }, }, required: ["query"], }, },
- src/server.ts:1027-1055 (handler)Handler function that validates input, calls N2YOClient.searchSatellitesByName, and formats the CallToolResult responseprivate async searchSatellitesByName(query: string): Promise<CallToolResult> { if (!query || query.trim().length === 0) { return { content: [ { type: "text", text: "Search query cannot be empty", }, ], isError: true, }; } const results = this.n2yoClient.searchSatellitesByName(query.trim()); return { content: [ { type: "text", text: JSON.stringify({ query: query.trim(), satellites: results, count: results.length, note: "Use the NORAD ID (satid) to get more detailed information about specific satellites" }, null, 2), }, ], }; }
- src/n2yo-client.ts:495-512 (helper)Supporting method in N2YOClient that performs the satellite name search using mock data (filters by name or designator)searchSatellitesByName(query: string): SatelliteSearchResult[] { // Mock search - in real implementation this would query N2YO or use a satellite database const mockSatellites = [ { satid: 25544, satname: "ISS (ZARYA)", intDesignator: "1998-067A", launchDate: "1998-11-20" }, { satid: 20580, satname: "HST", intDesignator: "1990-037B", launchDate: "1990-04-24" }, { satid: 43013, satname: "STARLINK-1007", intDesignator: "2017-073A", launchDate: "2017-12-23" }, { satid: 43014, satname: "STARLINK-1002", intDesignator: "2017-073B", launchDate: "2017-12-23" }, { satid: 28654, satname: "NOAA 18", intDesignator: "2005-018A", launchDate: "2005-05-20" }, { satid: 32786, satname: "AQUA", intDesignator: "2002-022A", launchDate: "2002-05-04" }, { satid: 41866, satname: "GEOSAT FOLLOW-ON 2", intDesignator: "2016-064A", launchDate: "2016-08-19" }, ]; const searchTerm = query.toLowerCase(); return mockSatellites.filter(sat => sat.satname.toLowerCase().includes(searchTerm) || sat.intDesignator.toLowerCase().includes(searchTerm) ); }
- src/n2yo-client.ts:79-84 (schema)TypeScript interface defining the structure of satellite search resultsexport interface SatelliteSearchResult { satid: number; satname: string; intDesignator: string; launchDate: string; }