get_satellites_by_category
Retrieve satellites by specific categories such as military, weather, GPS, or space stations. Filter by country or organization to access relevant satellite data for tracking and analysis.
Instructions
Get satellites by predefined categories (military, weather, GPS, etc.)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Satellite category to retrieve | |
| country | No | Filter by country or organization (e.g., 'usa', 'china', 'russia') |
Implementation Reference
- src/server.ts:104-135 (registration)Registration of the 'get_satellites_by_category' tool in the getTools() method, including name, description, and input schema definition.{ name: "get_satellites_by_category", description: "Get satellites by predefined categories (military, weather, GPS, etc.)", inputSchema: { type: "object", properties: { category: { type: "string", enum: [ "military", "weather", "gps", "navigation", "amateur", "geostationary", "noaa", "starlink", "space-stations", "earth-resources", ], description: "Satellite category to retrieve", }, country: { type: "string", description: "Filter by country or organization (e.g., 'usa', 'china', 'russia')", }, }, required: ["category"], }, },
- src/server.ts:441-446 (handler)Dispatcher case in callTool() method that routes calls to the getSatellitesByCategory handler.case "get_satellites_by_category": return await this.getSatellitesByCategory( args.category, args.country );
- src/server.ts:893-920 (handler)Main handler implementation: validates category and country, fetches category info from n2yoClient, constructs response with website link for actual satellite listing.private async getSatellitesByCategory( category: string, country?: string ): Promise<CallToolResult> { SatelliteValidator.validateCategory(category); SatelliteValidator.validateCountry(country); const categories = this.n2yoClient.getAvailableCategories(); const categoryInfo = categories.find((cat) => cat.name === category); const result = { category: categoryInfo, country_filter: country, note: "Use the N2YO website to browse satellites by category and country, then use get_satellite_tle with specific NORAD IDs", website_url: `https://www.n2yo.com/satellites/?c=${ categoryInfo?.id || 0 }`, }; return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }
- src/server.ts:108-134 (schema)Input schema defining parameters for the tool: required 'category' enum and optional 'country' string.inputSchema: { type: "object", properties: { category: { type: "string", enum: [ "military", "weather", "gps", "navigation", "amateur", "geostationary", "noaa", "starlink", "space-stations", "earth-resources", ], description: "Satellite category to retrieve", }, country: { type: "string", description: "Filter by country or organization (e.g., 'usa', 'china', 'russia')", }, }, required: ["category"], },