Used for package management and running scripts for the MCP server installation and operation.
Integrates with the N2YO.com API to provide satellite tracking capabilities, including TLE data access, real-time positioning, pass predictions, and category-based satellite searches.
N2YO Satellite Tracker MCP Server
A Model Context Protocol (MCP) server that provides access to N2YO satellite tracking data, including TLE (Two-Line Element) data, satellite positions, and pass predictions.
Overview
This MCP server integrates with the N2YO.com API to provide satellite tracking capabilities. N2YO is a real-time satellite tracking service that offers comprehensive data on satellites, including military, weather, GPS, amateur radio, and commercial satellites.
Key Features
- Natural Language Queries: Ask questions like "What satellites will be over France at 6:00 tonight?"
- TLE Data Access: Get Two-Line Element data for any satellite by NORAD ID
- Category-based Search: Find satellites by type (military, weather, GPS, etc.)
- Country Filtering: Filter satellites by country or organization
- Real-time Positioning: Get current satellite positions relative to observer
- Pass Predictions: Predict when satellites will be visible from your location
- Overhead Tracking: Find all satellites currently above a specific location
- ⭐ Radio Pass Optimization: Communication windows for amateur radio operators
- ⭐ Satellite Name Search: Find satellites by name instead of NORAD ID
- ⭐ Recent Launch Tracking: Monitor newly deployed satellites
- ⭐ Space Debris Monitoring: Track debris for collision avoidance
- ⭐ Trajectory Visualization: Get satellite paths over time
Installation
Setup
- Get N2YO API Key: Register at N2YO.com and generate an API key from your profile
- Configure the server:
- Option A (Recommended): Set environment variable
N2YO_API_KEY=your-api-key
- Option B: Use the
set_n2yo_api_key
tool to configure your API key during runtime
- Option A (Recommended): Set environment variable
- Start tracking: Use the various tools to track satellites
Usage
The server connects to MCP-compatible clients via stdio transport.
Tools Available
set_n2yo_api_key
Configure your N2YO API key for accessing satellite data.
Parameters:
apiKey
(required): Your N2YO API key
query_satellites_natural
Answer natural language questions about satellites (🌟 NEW FEATURE).
Parameters:
query
(required): Natural language query like "What satellites will be over France at 6:00 tonight?"categoryFilter
(optional): Filter by category: "all", "military", "weather", "gps", "amateur", "starlink", "space-stations"
Supported Query Patterns:
- Location: Countries (France, Germany, USA), cities (Paris, London, New York)
- Time: "tonight", "6:00 PM", "tomorrow morning", "in 2 hours", "now"
- Categories: Can be specified in query or categoryFilter parameter
query_satellites_with_tle
Find satellites by natural language query and return structured data with Name and TLE (🌟 NEW FEATURE).
Parameters:
query
(required): Natural language query about satellites (e.g., 'ISS', 'Starlink satellites over California', 'military satellites')categoryFilter
(optional): Filter by category: "all", "military", "weather", "gps", "amateur", "starlink", "space-stations"maxResults
(optional): Maximum number of satellites to return (default: 10)
Returns structured JSON with:
- Satellite names and NORAD IDs
- Complete TLE data for each satellite
- Position information
- Query metadata
get_satellite_tle
Get Two-Line Element (TLE) data for a specific satellite.
Parameters:
noradId
(required): NORAD catalog number (e.g., "25544" for ISS)
get_satellites_by_category
Browse satellites by predefined categories.
Parameters:
category
(required): One of: "military", "weather", "gps", "navigation", "amateur", "geostationary", "noaa", "starlink", "space-stations", "earth-resources"country
(optional): Country code filter (e.g., "usa", "china", "russia")
get_satellite_position
Get current position of a satellite relative to an observer location.
Parameters:
noradId
(required): NORAD catalog numberobserverLat
(required): Observer latitude (-90 to 90)observerLng
(required): Observer longitude (-180 to 180)observerAlt
(optional): Observer altitude in meters (default: 0)seconds
(optional): Seconds in future for prediction (0-300, default: 0)
get_visual_passes
Get upcoming visual passes of a satellite for an observer location.
Parameters:
noradId
(required): NORAD catalog numberobserverLat
(required): Observer latitude (-90 to 90)observerLng
(required): Observer longitude (-180 to 180)observerAlt
(optional): Observer altitude in meters (default: 0)days
(optional): Days to look ahead (1-10, default: 10)minVisibility
(optional): Minimum visibility in seconds (1-300, default: 300)
get_satellites_above
Get all satellites currently above an observer location.
Parameters:
observerLat
(required): Observer latitude (-90 to 90)observerLng
(required): Observer longitude (-180 to 180)observerAlt
(optional): Observer altitude in meters (default: 0)searchRadius
(optional): Search radius in degrees (1-90, default: 70)categoryFilter
(optional): Filter by category or "all" (default: "all")
get_radio_passes
⭐ NEW
Get upcoming radio communication passes optimized for amateur radio operators.
Parameters:
noradId
(required): NORAD catalog numberobserverLat
(required): Observer latitude (-90 to 90)observerLng
(required): Observer longitude (-180 to 180)observerAlt
(optional): Observer altitude in meters (default: 0)days
(optional): Days to look ahead (1-10, default: 10)minElevation
(optional): Minimum elevation in degrees (1-90, default: 10)
search_satellites_by_name
⭐ NEW
Search for satellites by name or international designator.
Parameters:
query
(required): Search term (satellite name or international designator)
Example queries: "ISS", "Starlink", "NOAA", "GPS", "1998-067A"
get_recent_launches
⭐ NEW
Get satellites launched in the last 30 days.
Parameters: None
get_space_debris
⭐ NEW
Track space debris above an observer location for collision avoidance.
Parameters:
observerLat
(required): Observer latitude (-90 to 90)observerLng
(required): Observer longitude (-180 to 180)observerAlt
(optional): Observer altitude in meters (default: 0)searchRadius
(optional): Search radius in degrees (1-90, default: 70)
get_satellite_trajectory
⭐ NEW
Get satellite trajectory over time for visualization and planning.
Parameters:
noradId
(required): NORAD catalog numberobserverLat
(required): Observer latitude (-90 to 90)observerLng
(required): Observer longitude (-180 to 180)observerAlt
(optional): Observer altitude in meters (default: 0)seconds
(optional): Time period in seconds (1-3600, default: 300)
Resources Available
n2yo://api/status
Current N2YO API configuration and usage status including:
- API key configuration status
- Transaction counts for each endpoint
- Daily API limits
n2yo://categories/list
Available satellite categories for searching:
- Military satellites
- Weather satellites
- GPS operational satellites
- Amateur radio satellites
- And more...
n2yo://countries/list
Available countries and organizations for satellite filtering.
n2yo://limits/info
Information about N2YO API transaction limits and current usage.
Natural Language Query Capabilities
The query_satellites_natural
tool can understand and parse various natural language patterns:
Supported Locations (100+ countries and cities)
- Countries: France, Germany, USA, China, Russia, Japan, UK, Canada, Australia, etc.
- Major Cities: Paris, London, New York, Tokyo, Berlin, Moscow, Sydney, etc.
- Query Examples:
- "over France"
- "above Germany"
- "in New York"
Supported Time Expressions
- Relative Times: "tonight", "tomorrow", "now", "right now"
- Specific Times: "6:00 PM", "18:00", "6:00 tonight"
- Future Times: "in 2 hours", "tomorrow morning"
- Query Examples:
- "at 6:00 tonight"
- "tomorrow morning"
- "in 3 hours"
Example Natural Language Queries
- "What satellites will be over France at 6:00 tonight?"
- "Show me military satellites above Germany now"
- "What Starlink satellites are over New York right now?"
- "Which satellites will be above Tokyo tomorrow morning?"
- "Find weather satellites over London in 2 hours"
Satellite Categories
The server supports the following satellite categories:
- military (30): Military satellites
- weather (3): Weather satellites
- gps (20): GPS operational satellites
- navigation (24): Navy Navigation Satellite System
- amateur (18): Amateur radio satellites
- geostationary (10): Geostationary satellites
- noaa (4): NOAA satellites
- starlink (52): Starlink constellation
- space-stations (2): International Space Station and others
- earth-resources (6): Earth observation satellites
Example Usage
Configure API Key
Natural Language Queries (🌟 NEW)
Get ISS TLE Data
Find Military Satellites
Track ISS Position
Get ISS Pass Predictions
Find Satellites Overhead
Radio Communication Passes ⭐ NEW
Search Satellites by Name ⭐ NEW
Recent Launches ⭐ NEW
Space Debris Tracking ⭐ NEW
Satellite Trajectory ⭐ NEW
API Limits
N2YO provides free API access with the following daily limits:
- TLE requests: 1,000 per day
- Position requests: 1,000 per day
- Visual passes: 100 per day
- Radio passes: 100 per day ⭐
- Above requests: 100 per day
- Launch date requests: 100 per day ⭐
Development
Popular Satellites
Some commonly tracked satellites you can use for testing:
- ISS: 25544
- Hubble Space Telescope: 20580
- GPS satellites: Use category "gps"
- Starlink: Use category "starlink"
- Weather satellites: Use category "weather"
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
Related Links
- N2YO.com - Real-time satellite tracking
- N2YO API Documentation
- Model Context Protocol - Learn about MCP
- NORAD Catalog - Satellite catalog information
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Provides access to satellite tracking data from N2YO, allowing users to query satellite positions, predict passes, and access TLE data through natural language requests.
Related MCP Servers
- AsecurityAlicenseAqualityThis server allows users to interact with their Zotero library through the Model Context Protocol, providing tools for searching items, retrieving metadata, and accessing full text using natural language queries.Last updated -361PythonMIT License
- -securityAlicense-qualityA feature-rich NASA data query tool that supports various NASA API services including astronomy pictures, Mars rover photos, Earth satellite images, near-Earth objects data, and space weather information through natural language queries.Last updated -47JavaScriptMIT License
- -securityAlicense-qualityA server that integrates the MCP library with OpenAI's API, allowing users to interact with various tools, such as the weather tool, through natural language queries.Last updated -PythonMIT License
- -security-license-qualityA simple server that implements the Model Context Protocol, allowing AI models like Claude to fetch real-time weather information for any location using the wttr.in API.Last updated -JavaScript