Satellite Tracking MCP Server
Description
# Satellite Tracking MCP Server A Model Context Protocol (MCP) server that provides access to satellite tracking data using the N2YO API. ## Features This MCP server provides the following capabilities: ### Tools - **get_satellite_position**: Get real-time position of a…
About
# Satellite Tracking MCP Server A Model Context Protocol (MCP) server that provides access to satellite tracking data using the N2YO API. ## Features This MCP server provides the following capabilities: ### Tools - **get_satellite_position**: Get real-time position of a satellite by NORAD ID - **get_satellite_tle**…
Details
- Author
- Cyreslab-AI
- Downloads
- 120
- Categories
- Other
Jump to
- Real-time satellite position by NORAD ID
- TLE data retrieval for any satellite
- Predict visible passes over a location
- Predict radio frequency passes over a location
- List satellites currently above a location
- Search satellites by name or category
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Satellite Tracking MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install prerequisites (Node.js 18+ and a N2YO API key), clone the repository, install dependencies with npm install, build with npm run build, then configure the server in your MCP settings file (Claude Desktop or VSCode extension) using the environment variable N2YO_API_KEY. Once configured, invoke tools like get_satellite_position, get_satellite_tle, predict_visual_passes, predict_radio_passes, get_satellites_above, and search_satellites, or access resources via URIs like satellite://{norad_id}.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"satellite tracking mcp server": {
"satellite-tracking": {
"command": "node",
"args": [
"/path/to/satellite-tracking-server/build/index.js"
],
"env": {
"N2YO_API_KEY": ""
}
}
}
}
}
McpServers
{
"satellite-tracking": {
"command": "node",
"args": [
"/path/to/satellite-tracking-server/build/index.js"
],
"env": {
"N2YO_API_KEY": ""
}
}
}
Satellite Tracking MCP Server
A Model Context Protocol (MCP) server that provides access to satellite tracking data using the N2YO API.
Features
This MCP server provides the following capabilities:
Tools
- get_satellite_position: Get real-time position of a satellite by NORAD ID
- get_satellite_tle: Get TLE (Two-Line Element) data for a satellite by NORAD ID
- predict_visual_passes: Predict visible passes of a satellite over a location
- predict_radio_passes: Predict radio frequency passes of a satellite over a location
- get_satellites_above: Get satellites currently above a specified location
- search_satellites: Search for satellites by name or category
Resources
- satellite://{norad_id}: Information about a satellite by NORAD ID
- satellites://category/{category_id}: List of satellites in a specific category
- satellites://above/{lat}/{lon}/{radius}: List of satellites above a specified location
Installation
Prerequisites
- Node.js 18 or higher
- A N2YO API key (available from N2YO API Services)
Setup
1. Clone this repository or download the source code
2. Install dependencies:
cd satellite-tracking-server
npm install
3. Build the server:
npm run build
Configuration
The server requires a N2YO API key to function. You can provide this through the environment variable N2YO_API_KEY.
MCP Settings Configuration
To use this server with Claude, add it to your MCP settings configuration file:
For Claude Desktop App (macOS)
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"satellite-tracking": {
"command": "node",
"args": ["/path/to/satellite-tracking-server/build/index.js"],
"env": {
"N2YO_API_KEY": "your-api-key-here"
},
"disabled": false,
"autoApprove": []
}
}
}
For Claude VSCode Extension
Edit ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
{
"mcpServers": {
"satellite-tracking": {
"command": "node",
"args": ["/path/to/satellite-tracking-server/build/index.js"],
"env": {
"N2YO_API_KEY": "your-api-key-here"
},
"disabled": false,
"autoApprove": []
}
}
}
Usage Examples
Once the server is configured and running, you can use it with Claude to access satellite tracking data:
Get Satellite Position
<use_mcp_tool>
<server_name>satellite-tracking</server_name>
<tool_name>get_satellite_position</tool_name>
<arguments>
{
"norad_id": 25544,
"observer_lat": 40.7128,
"observer_lng": -74.0060
}
</arguments>
</use_mcp_tool>
Get Satellite TLE Data
<use_mcp_tool>
<server_name>satellite-tracking</server_name>
<tool_name>get_satellite_tle</tool_name>
<arguments>
{
"norad_id": 25544
}
</arguments>
</use_mcp_tool>
Predict Visual Passes
<use_mcp_tool>
<server_name>satellite-tracking</server_name>
<tool_name>predict_visual_passes</tool_name>
<arguments>
{
"norad_id": 25544,
"observer_lat": 40.7128,
"observer_lng": -74.0060,
"days": 7
}
</arguments>
</use_mcp_tool>
Search for Satellites
<use_mcp_tool>
<server_name>satellite-tracking</server_name>
<tool_name>search_satellites</tool_name>
<arguments>
{
"query": "ISS"
}
</arguments>
</use_mcp_tool>
Get Satellites Above Location
<use_mcp_tool>
<server_name>satellite-tracking</server_name>
<tool_name>get_satellites_above</tool_name>
<arguments>
{
"observer_lat": 40.7128,
"observer_lng": -74.0060,
"search_radius": 45
}
</arguments>
</use_mcp_tool>
Access Satellite Resource
<access_mcp_resource>
<server_name>satellite-tracking</server_name>
<uri>satellite://25544</uri>
</access_mcp_resource>
Satellite Categories
The server supports the following satellite categories:
| Category ID | Description |
| ----------- | ------------ |
| 0 | All |
| 1 | Amateur |
| 2 | CubeSat |
| 3 | Education |
| 4 | Engineering |
| 5 | Galileo |
| 6 | GLO-OPS |
| 7 | GPS-OPS |
| 8 | Military |
| 9 | Radar |
| 10 | Resource |
| 11 | SARSAT |
| 12 | Science |
| 13 | TDRSS |
| 14 | Weather |
| 15 | XM/Sirius |
| 16 | Iridium-NEXT |
| 17 | Globalstar |
| 18 | Intelsat |
| 19 | SES |
| 20 | Telesat |
| 21 | Orbcomm |
| 22 | Gorizont |
| 23 | Raduga |
| 24 | Molniya |
| 25 | DMC |
| 26 | Argos |
| 27 | Planet |
| 28 | Spire |
| 29 | Starlink |
| 30 | OneWeb |
API Key Limitations
The N2YO API has usage limits based on your subscription plan. The free tier allows:
- 1,000 requests per hour
- Basic functionality across all endpoints
Be aware of these limits when using the server to avoid exceeding your quota.
Troubleshooting
- API Key Errors: Ensure your N2YO API key is valid and correctly set in the environment variables.
- Rate Limiting: If you encounter rate limiting errors, the server will automatically retry with exponential backoff, but you may need to wait before making additional requests.
- No Data Found: Some satellites may not have real-time tracking data available, especially older or inactive satellites.
License
This project is licensed under the ISC License.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



