Skip to main content
Glama
MaxwellCalkin

N2YO Satellite Tracker MCP Server

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
NameRequiredDescriptionDefault
categoryYesSatellite category to retrieve
countryNoFilter 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"], }, },
  • 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 );
  • 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), }, ], }; }
  • 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"], },

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