Skip to main content
Glama
MaxwellCalkin

N2YO Satellite Tracker MCP Server

get_satellites_above

Find satellites currently visible from your location by entering latitude and longitude coordinates. Filter results by satellite category to identify specific types overhead.

Instructions

Get all satellites currently above an observer location

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
observerLatYesObserver latitude in degrees
observerLngYesObserver longitude in degrees
observerAltNoObserver altitude in meters above sea level
searchRadiusNoSearch radius in degrees (max 90)
categoryFilterNoFilter results by satellite categoryall

Implementation Reference

  • src/server.ts:354-392 (registration)
    Tool registration in getTools() method, defining the name, description, and input schema for 'get_satellites_above'
    { name: "get_satellites_above", description: "Get all satellites currently above an observer location", inputSchema: { type: "object", properties: { 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, }, searchRadius: { type: "number", description: "Search radius in degrees (max 90)", default: 70, maximum: 90, }, categoryFilter: { type: "string", enum: ["all", "military", "weather", "gps", "amateur"], default: "all", description: "Filter results by satellite category", }, }, required: ["observerLat", "observerLng"], }, },
  • Primary handler function for executing the 'get_satellites_above' tool: validates arguments, maps category filter, calls N2YO client, and returns formatted JSON response.
    private async getSatellitesAbove(args: any): Promise<CallToolResult> { SatelliteValidator.validateAboveRequest(args); const categoryId = args.categoryFilter && args.categoryFilter !== "all" ? this.n2yoClient.getCategoryId(args.categoryFilter) : 0; const satellites = await this.n2yoClient.getSatellitesAbove( args.observerLat, args.observerLng, args.observerAlt || 0, args.searchRadius || 70, categoryId ); return { content: [ { type: "text", text: JSON.stringify( { satellites, count: satellites.length }, null, 2 ), }, ], }; }
  • Core helper method in N2YOClient that performs the actual API request to retrieve satellites above the specified location and returns raw data.
    async getSatellitesAbove( observerLat: number, observerLng: number, observerAlt: number = 0, searchRadius: number = 70, categoryFilter: number = 0 ): Promise<SatelliteAbove[]> { const response = await this.makeRequest(`/above/${observerLat}/${observerLng}/${observerAlt}/${searchRadius}/${categoryFilter}`, { observer_lat: observerLat, observer_lng: observerLng, observer_alt: observerAlt, search_radius: searchRadius, category_filter: categoryFilter, }); return response.above || []; }
  • TypeScript interface defining the structure of satellite data returned by getSatellitesAbove.
    export interface SatelliteAbove { satid: number; satname: string; intDesignator: string; launchDate: string; satlat: number; satlng: number; satalt: number; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MaxwellCalkin/N2YO-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server