N2YO Satellite Tracker MCP Server
Provides access to satellite tracking data from N2YO, allowing users to query satellite positions, predict passes, and access TLE data through natural language requests.
README
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
Installation
git clone <repository-url>
cd n2yo-satellite-tracker-mcp
npm install
npm run build
Setup
- Get N2YO API Key: Register at N2YO.com and generate an API key from your profile
- Configure the server: Use the
set_n2yo_api_keytool to configure your API key - Start tracking: Use the various tools to track satellites
Usage
npm start
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
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")
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
{
"tool": "set_n2yo_api_key",
"arguments": {
"apiKey": "YOUR-N2YO-API-KEY"
}
}
Natural Language Queries (🌟 NEW)
{
"tool": "query_satellites_natural",
"arguments": {
"query": "What satellites will be over France at 6:00 tonight?"
}
}
{
"tool": "query_satellites_natural",
"arguments": {
"query": "Show me military satellites above Germany now",
"categoryFilter": "military"
}
}
{
"tool": "query_satellites_natural",
"arguments": {
"query": "What Starlink satellites are over New York right now?",
"categoryFilter": "starlink"
}
}
Get ISS TLE Data
{
"tool": "get_satellite_tle",
"arguments": {
"noradId": "25544"
}
}
Find Military Satellites
{
"tool": "get_satellites_by_category",
"arguments": {
"category": "military",
"country": "usa"
}
}
Track ISS Position
{
"tool": "get_satellite_position",
"arguments": {
"noradId": "25544",
"observerLat": 40.7128,
"observerLng": -74.0060,
"observerAlt": 0
}
}
Get ISS Pass Predictions
{
"tool": "get_visual_passes",
"arguments": {
"noradId": "25544",
"observerLat": 40.7128,
"observerLng": -74.0060,
"days": 7
}
}
Find Satellites Overhead
{
"tool": "get_satellites_above",
"arguments": {
"observerLat": 40.7128,
"observerLng": -74.0060,
"searchRadius": 80,
"categoryFilter": "military"
}
}
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
Development
# Watch mode for development
npm run dev
# Build for production
npm run build
# Start the server
npm start
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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。