Skip to main content
Glama
MaxwellCalkin

N2YO Satellite Tracker MCP Server

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
NameRequiredDescriptionDefault
queryYesSearch 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"], }, },
  • Handler function that validates input, calls N2YOClient.searchSatellitesByName, and formats the CallToolResult response
    private 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), }, ], }; }
  • 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) ); }
  • TypeScript interface defining the structure of satellite search results
    export interface SatelliteSearchResult { satid: number; satname: string; intDesignator: string; launchDate: string; }

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