mcpField
N
N2YO Satellite Tracker MCP Server

N2YO Satellite Tracker MCP Server

本地服务
github.com/MaxwellCalkin科研与教育074 周前更新

关于 N2YO Satellite Tracker MCP Server

N2YO Satellite Tracker MCP Server 通过 N2YO.com API 向 MCP 客户端提供卫星追踪数据,支持自然语言查询以及位置、过境和轨迹检索,适合观测者和卫星爱好者。

主要功能

  1. 01自然语言卫星查询
  2. 02TLE 查询与类别搜索
  3. 03当前位置与上空卫星查询
  4. 04目视及无线电过境预测
  5. 05名称搜索、发射记录与碎片追踪
  6. 06轨迹数据

适用场景

  1. 01查找某地点可见的卫星
  2. 02获取卫星的 TLE 或当前位置
  3. 03规划目视或业余无线电观测时段
  4. 04追踪近期发射和附近碎片

MCP 相关

该服务提供卫星搜索、追踪和预测工具,以及 API 状态、类别、国家和使用限制等资源。MCP 客户端通过 stdio 连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

N2YO 卫星跟踪 MCP 服务

一个 Model Context Protocol(MCP)服务,可访问 N2YO 卫星跟踪数据,包括 TLE(两行根数)数据、卫星位置和过境预测。

概述

此 MCP 服务集成 N2YO.com API,提供卫星跟踪功能。N2YO 是一项实时卫星跟踪服务,提供有关卫星的全面数据,包括军用、气象、GPS、业余无线电和商用卫星。

主要功能
  • 自然语言查询:询问“今晚 6:00 会有哪些卫星经过法国上空?”
  • TLE 数据访问:按 NORAD ID 获取任意卫星的两行根数数据
  • 按类别搜索:按类型查找卫星(军用、气象、GPS 等)
  • 国家筛选:按国家或组织筛选卫星
  • 实时定位:获取卫星相对于观测者的当前位置
  • 过境预测:预测卫星何时会出现在你所在位置的上空
  • 天顶跟踪:查找当前位于特定地点上空的所有卫星
  • ⭐ 无线电过境优化:为业余无线电操作员提供通信时段
  • ⭐ 按名称搜索卫星:按卫星名称而非 NORAD ID 查找卫星
  • ⭐ 最新发射跟踪:监控新部署的卫星
  • ⭐ 太空碎片监控:跟踪碎片以避免碰撞
  • ⭐ 轨迹可视化:获取卫星随时间变化的路径

安装

git clone <repository-url>
cd n2yo-satellite-tracker-mcp
npm install
npm run build

设置

  1. 获取 N2YO API 密钥:在 N2YO.com 注册,并从个人资料中生成 API 密钥
  2. 配置服务:
    • 选项 A(推荐):设置环境变量 N2YO_API_KEY=your-api-key
    • 选项 B:在运行时使用 set_n2yo_api_key 工具配置 API 密钥
  3. 开始跟踪:使用各种工具跟踪卫星

使用方法

# Option A: Set API key via environment variable (recommended)
N2YO_API_KEY=your-api-key npm start

# Option B: Start server and set API key via tool later
npm start

此服务通过 stdio 传输连接到兼容 MCP 的客户端。

可用工具

set_n2yo_api_key

配置用于访问卫星数据的 N2YO API 密钥。

参数:

  • apiKey(必填):你的 N2YO API 密钥
query_satellites_natural

回答有关卫星的自然语言问题(🌟 新功能)。

参数:

  • query(必填):自然语言查询,例如“今晚 6:00 会有哪些卫星经过法国上空?”
  • categoryFilter(可选):按类别筛选:“all”、“military”、“weather”、“gps”、“amateur”、“starlink”、“space-stations”

支持的查询模式:

  • 位置:国家(France、Germany、USA)、城市(Paris、London、New York)
  • 时间:“tonight”、“6:00 PM”、“tomorrow morning”、“in 2 hours”、“now”
  • 类别:可在查询中指定,也可通过 categoryFilter 参数指定
query_satellites_with_tle

通过自然语言查询查找卫星,并返回包含名称和 TLE 的结构化数据(🌟 新功能)。

参数:

  • query(必填):关于卫星的自然语言查询(例如,“ISS”、“加利福尼亚上空的 Starlink 卫星”、“军用卫星”)
  • categoryFilter(可选):按类别筛选:“all”、“military”、“weather”、“gps”、“amateur”、“starlink”、“space-stations”
  • maxResults(可选):返回的卫星数量上限(默认值:10)

返回的结构化 JSON 包含:

  • 卫星名称和 NORAD ID
  • 每颗卫星的完整 TLE 数据
  • 位置信息
  • 查询元数据
get_satellite_tle

获取特定卫星的两行根数(TLE)数据。

参数:

  • noradId(必填):NORAD 目录编号(例如,ISS 的编号为 "25544")
get_satellites_by_category

按预定义类别浏览卫星。

参数:

  • category(必填):以下类别之一:“military”、“weather”、“gps”、“navigation”、“amateur”、“geostationary”、“noaa”、“starlink”、“space-stations”、“earth-resources”
  • country(可选):国家代码筛选条件(例如,“usa”、“china”、“russia”)
get_satellite_position

获取卫星相对于观测者位置的当前方位。

参数:

  • noradId(必需):NORAD 目录编号
  • observerLat(必需):观测者纬度(-90 至 90)
  • observerLng(必需):观测者经度(-180 至 180)
  • observerAlt(可选):观测者海拔高度,单位为米(默认值:0)
  • seconds(可选):预测未来的秒数(0-300,默认值:0)
get_visual_passes

获取卫星即将经过观测者位置上空且肉眼可见的时段。

参数:

  • noradId(必需):NORAD 目录编号
  • observerLat(必需):观测者纬度(-90 至 90)
  • observerLng(必需):观测者经度(-180 至 180)
  • observerAlt(可选):观测者海拔高度,单位为米(默认值:0)
  • days(可选):向前查询的天数(1-10,默认值:10)
  • minVisibility(可选):最短可见时长,单位为秒(1-300,默认值:300)
get_satellites_above

获取当前位于观测者位置上空的所有卫星。

参数:

  • observerLat(必需):观测者纬度(-90 至 90)
  • observerLng(必需):观测者经度(-180 至 180)
  • observerAlt(可选):观测者海拔高度,单位为米(默认值:0)
  • searchRadius(可选):搜索半径,单位为度(1-90,默认值:70)
  • categoryFilter(可选):按类别筛选,或使用 "all"(默认值:"all")
get_radio_passes ⭐ 全新

获取即将发生的无线电通信过境时段,专为业余无线电操作员优化。

参数:

  • noradId(必需):NORAD 目录编号
  • observerLat(必需):观测者纬度(-90 至 90)
  • observerLng(必需):观测者经度(-180 至 180)
  • observerAlt(可选):观测者海拔高度,单位为米(默认值:0)
  • days(可选):向前查询的天数(1-10,默认值:10)
  • minElevation(可选):最小仰角,单位为度(1-90,默认值:10)
search_satellites_by_name ⭐ 全新

按名称或国际代号搜索卫星。

参数:

  • query(必需):搜索词(卫星名称或国际代号)

示例查询: "ISS"、"Starlink"、"NOAA"、"GPS"、"1998-067A"

get_recent_launches ⭐ 全新

获取过去 30 天内发射的卫星。

参数: 无

get_space_debris ⭐ 全新

追踪观测者位置上空的空间碎片,以避免碰撞。

参数:

  • observerLat(必需):观测者纬度(-90 至 90)
  • observerLng(必需):观测者经度(-180 至 180)
  • observerAlt(可选):观测者海拔高度,单位为米(默认值:0)
  • searchRadius(可选):搜索半径,单位为度(1-90,默认值:70)
get_satellite_trajectory ⭐ 全新

获取卫星随时间变化的轨迹,用于可视化和规划。

参数:

  • noradId(必需):NORAD 目录编号
  • observerLat(必需):观测者纬度(-90 至 90)
  • observerLng(必需):观测者经度(-180 至 180)
  • observerAlt(可选):观测者海拔高度,单位为米(默认值:0)
  • seconds(可选):时间段,单位为秒(1-3600,默认值:300)

可用资源

n2yo://api/status

当前 N2YO API 配置和使用状态,包括:

  • API 密钥配置状态
  • 各端点的事务计数
  • 每日 API 限额
n2yo://categories/list

可用于搜索的卫星类别:

  • 军用卫星
  • 气象卫星
  • GPS 运行卫星
  • 业余无线电卫星
  • 以及更多……
n2yo://countries/list

可用于筛选卫星的国家和组织。

n2yo://limits/info

N2YO API 事务限额和当前使用情况的信息。

自然语言查询功能

query_satellites_natural 工具可理解并解析各种自然语言表达:

支持的位置(100 多个国家和城市)
  • 国家:法国、德国、美国、中国、俄罗斯、日本、英国、加拿大、澳大利亚等。
  • 主要城市:巴黎、伦敦、纽约、东京、柏林、莫斯科、悉尼等。
  • 查询示例:
    • "over France"
    • "above Germany"
    • "in New York"
支持的时间表达
  • 相对时间:"tonight"、"tomorrow"、"now"、"right now"
  • 具体时间:"6:00 PM"、"18:00"、"6:00 tonight"
  • 未来时间:"in 2 hours"、"tomorrow morning"
  • 查询示例:
    • "at 6:00 tonight"
    • "tomorrow morning"
    • "in 3 hours"
自然语言查询示例
  • "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"

卫星类别

此服务支持以下卫星类别:

  • military(30):军事卫星
  • weather(3):气象卫星
  • gps(20):GPS 在轨卫星
  • navigation(24):海军导航卫星系统
  • amateur(18):业余无线电卫星
  • geostationary(10):地球静止轨道卫星
  • noaa(4):NOAA 卫星
  • starlink(52):Starlink 星座
  • space-stations(2):国际空间站及其他空间站
  • earth-resources(6):地球观测卫星

使用示例

配置 API 密钥
{
  "tool": "set_n2yo_api_key",
  "arguments": {
    "apiKey": "YOUR-N2YO-API-KEY"
  }
}
自然语言查询(🌟 全新)
{
  "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"
  }
}
获取 ISS TLE 数据
{
  "tool": "get_satellite_tle",
  "arguments": {
    "noradId": "25544"
  }
}
查找军事卫星
{
  "tool": "get_satellites_by_category",
  "arguments": {
    "category": "military",
    "country": "usa"
  }
}
跟踪 ISS 位置
{
  "tool": "get_satellite_position",
  "arguments": {
    "noradId": "25544",
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "observerAlt": 0
  }
}
获取 ISS 过境预测
{
  "tool": "get_visual_passes",
  "arguments": {
    "noradId": "25544",
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "days": 7
  }
}
查找头顶的卫星
{
  "tool": "get_satellites_above",
  "arguments": {
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "searchRadius": 80,
    "categoryFilter": "military"
  }
}
无线电通信过境 ⭐ 全新
{
  "tool": "get_radio_passes",
  "arguments": {
    "noradId": "25544",
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "days": 7,
    "minElevation": 15
  }
}
按名称搜索卫星 ⭐ 全新
{
  "tool": "search_satellites_by_name",
  "arguments": {
    "query": "ISS"
  }
}
最近发射 ⭐ 全新
{
  "tool": "get_recent_launches",
  "arguments": {}
}
太空碎片跟踪 ⭐ 全新
{
  "tool": "get_space_debris",
  "arguments": {
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "searchRadius": 85
  }
}
卫星轨迹 ⭐ 全新
{
  "tool": "get_satellite_trajectory",
  "arguments": {
    "noradId": "25544",
    "observerLat": 40.7128,
    "observerLng": -74.0060,
    "seconds": 600
  }
}

API 限额

N2YO 提供免费 API 访问,每日限额如下:

  • TLE 请求:每天 1,000 次
  • 位置请求:每天 1,000 次
  • 目视过境:每天 100 次
  • 无线电过境:每天 100 次 ⭐
  • 上空卫星请求:每天 100 次
  • 发射日期请求:每天 100 次 ⭐

开发

# Watch mode for development
npm run dev

# Build for production
npm run build

# Start the server
npm start

常用卫星

以下是一些可用于测试的常见跟踪卫星:

  • ISS:25544
  • 哈勃太空望远镜:20580
  • GPS 卫星:使用类别 "gps"
  • Starlink:使用类别 "starlink"
  • 气象卫星:使用类别 "weather"

贡献

  1. Fork 此仓库
  2. 创建功能分支
  3. 进行更改
  4. 在适用时添加测试
  5. 提交拉取请求

许可证

MIT 许可证——详情请参阅 LICENSE 文件。

相关链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。