get_satellite_position
Calculate current satellite positions relative to observer coordinates using NORAD ID, latitude, and longitude for real-time tracking.
Instructions
Get current position of a satellite relative to an observer location
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| noradId | Yes | NORAD catalog number of the satellite | |
| observerLat | Yes | Observer latitude in degrees | |
| observerLng | Yes | Observer longitude in degrees | |
| observerAlt | No | Observer altitude in meters above sea level | |
| seconds | No | Number of seconds in the future for prediction (max 300) |
Implementation Reference
- src/server.ts:922-941 (handler)The handler function that validates the input arguments and retrieves the satellite position data from the N2YOClient, returning the positions as a JSON-formatted result.private async getSatellitePosition(args: any): Promise<CallToolResult> { SatelliteValidator.validatePositionRequest(args); const positions = await this.n2yoClient.getPositions( args.noradId, args.observerLat, args.observerLng, args.observerAlt || 0, args.seconds || 0 ); return { content: [ { type: "text", text: JSON.stringify({ positions, count: positions.length }, null, 2), }, ], }; }
- src/server.ts:136-174 (schema)The input schema defining the parameters for the tool, including noradId, observer location (lat, lng, alt), and optional seconds for prediction.{ name: "get_satellite_position", description: "Get current position of a satellite relative to an observer location", inputSchema: { type: "object", properties: { noradId: { type: "string", description: "NORAD catalog number of the satellite", }, observerLat: { type: "number", description: "Observer latitude in degrees", minimum: -90, maximum: 90, }, observerLng: { type: "number", description: "Observer longitude in degrees", minimum: -180, maximum: 180, }, observerAlt: { type: "number", description: "Observer altitude in meters above sea level", default: 0, }, seconds: { type: "number", description: "Number of seconds in the future for prediction (max 300)", default: 0, maximum: 300, }, }, required: ["noradId", "observerLat", "observerLng"], }, },
- src/server.ts:447-448 (registration)The switch case in callTool method that routes calls to the getSatellitePosition handler.case "get_satellite_position": return await this.getSatellitePosition(args);