N2YO卫星跟踪器MCP服务器
一种模型上下文协议(MCP)服务器,提供对N2YO卫星跟踪数据的访问,包括TLE(双线元素)数据、卫星位置和通过预测。
概述
此MCP服务器与N2YO.com API集成,以提供卫星跟踪功能。N2YO是一项实时卫星跟踪服务,提供有关卫星的全面数据,包括军事、天气、GPS、业余无线电和商业卫星。
主要特点
- 自然语言查询问“今晚6点法国上空有哪些卫星?”
- TLE数据访问:通过NORAD ID获取任何卫星的双线元素数据
- 基于类别的搜索:按类型查找卫星(军用、气象、GPS等)
- 国家筛选:按国家或组织过滤卫星
- 实时定位:获取相对于观察者的当前卫星位置
- 通过预测:预测从您的位置何时可以看到卫星
- 开销跟踪:查找当前位于特定位置上方的所有卫星
- ⭐ 无线电通道优化:业余无线电操作员的通信窗口
- ⭐ 卫星名称搜索:按名称而不是NORAD ID查找卫星
- ⭐ 最近发布跟踪:监测新部署的卫星
- ⭐ 空间碎片监测:轨道碎片以避免碰撞
- ⭐ 轨迹可视化:获取随时间变化的卫星路径
安装
git clone
cd n2yo-satellite-tracker-mcp
npm install
npm run build设置
- 获取N2YO API密钥:注册地址 N2YO.com 并根据您的配置文件生成API密钥
- 配置服务器:
- 选项A (推荐):设置环境变量 N2YO_API_KEY=your-api-key - 选项B:使用 set_n2yo_api_key 用于在运行时配置API密钥的工具
- 开始跟踪:使用各种工具跟踪卫星
用法
# 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点法国上空有哪些卫星?”categoryFilter(可选):按类别筛选:“所有”、“军事”、“天气”、“全球定位系统”、“业余”、“星库”、“空间站”
支持的查询模式:
- 位置:国家(法国、德国、美国)、城市(巴黎、伦敦、纽约)
- 时间:“今晚”、“下午6点”、“明天早上”、“2小时后”、“现在”
- 分类:可以在query或categoryFilter参数中指定
query_satellites_with_tle
通过自然语言查询查找卫星,并返回具有名称和TLE的结构化数据(🌟 新功能).
参数:
query(必填):关于卫星的自然语言查询(例如,“国际空间站”、“加利福尼亚上空的星链卫星”、“军用卫星”)categoryFilter(可选):按类别筛选:“所有”、“军事”、“天气”、“全球定位系统”、“业余”、“星库”、“空间站”maxResults(可选):返回的最大卫星数(默认值:10)
返回结构化JSON,其中包含:
- 卫星名称和NORAD ID
- 每颗卫星的完整TLE数据
- 位置信息
- 查询元数据
get_satellite_tle
获取特定卫星的双线元素(TLE)数据。
参数:
noradId(必填):北美防空司令部目录号(例如,国际空间站的“25544”)
get_satellites_by_category
按预定义类别浏览卫星。
参数:
category(必填):其中之一:“军事”、“气象”、“全球定位系统”、“导航”、“业余”、“地球静止”、“国家海洋和大气管理局”、“星库”、“空间站”、“土地资源”country(可选):国家代码过滤器(例如,“美国”、“中国”、“俄罗斯”)
get_satellite_position
获取卫星相对于观察者位置的当前位置。
参数:
noradId(必填):北美防空司令部目录号observerLat(必填):观察者纬度(-90至90)observerLng(必填):观察者经度(-180至180)observerAlt(可选):观察者高度,单位为米(默认值:0)seconds(可选):未来预测秒数(0-300,默认值:0)
get_visual_passes
获取观察者位置的卫星即将到来的视觉通行证。
参数:
noradId(必填):北美防空司令部目录号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(可选):按类别或“全部”筛选(默认:“全部”)
get_radio_passes ⭐ 新
获得为业余无线电操作员优化的即将到来的无线电通信通行证。
参数:
noradId(必填):北美防空司令部目录号observerLat(必填):观察者纬度(-90至90)observerLng(必填):观察者经度(-180至180)observerAlt(可选):观察者高度,单位为米(默认值:0)days(可选):展望未来的天数(1-10,默认值:10)minElevation(可选):最小标高(1-90度,默认值:10)
search_satellites_by_name ⭐ 新
按名称或国际代号搜索卫星。
参数:
query(必填):搜索词(卫星名称或国际标识符)
示例查询: “国际空间站”、“星链”、“美国国家海洋和大气管理局”、“全球定位系统”、“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(必填):北美防空司令部目录号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多个国家和城市)
- 国家:法国、德国、美国、中国、俄罗斯、日本、英国、加拿大、澳大利亚等。
- 主要城市:巴黎、伦敦、纽约、东京、柏林、莫斯科、悉尼等。
- 查询示例:
- “在法国” - “德国之上” - “在纽约”
支持的时间表达式
- 相对时间“今晚”、“明天”、“现在”、“马上”
- 特定时间:“下午6:00”、“18:00”、“今晚6:00”
- 未来时代:“2小时后”,“明天早上”
- 查询示例:
- “今晚6点” - “明天早上” - “3小时内”
自然语言查询示例
- “今晚6点,法国上空将有哪些卫星?”
- “现在给我看看德国上空的军用卫星”
- “现在纽约上空有哪些星链卫星?”
- “明天早上东京上空会有哪些卫星?”
- “2小时内找到伦敦上空的气象卫星”
卫星类别
服务器支持以下卫星类别:
- 军事 (30):军用卫星
- 天气 (3) :气象卫星
- 全球定位系统 (20) :全球定位系统业务卫星
- 导航 (24):海军导航卫星系统
- 业余爱好者 (18) :业余无线电卫星
- 地球静止的 (10) :地球静止卫星
- 诺阿 (4) :美国国家海洋和大气管理局卫星
- 星链 (52):星链星座
- 空间站 (2) :国际空间站和其他
- 地球资源 (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请求:每天1000
- 职位要求:每天1000
- 视觉通行证:每天100
- 无线电通行证:每天100⭐
- 上述请求:每天100
- 发布日期请求:每天100⭐
发展
# Watch mode for development
npm run dev
# Build for production
npm run build
# Start the server
npm start热门卫星
您可以使用一些常用的跟踪卫星进行测试:
- 国际空间站: 25544
- 哈勃太空望远镜: 20580
- GPS卫星:使用类别“gps”
- 星联:使用类别“starlink”
- 气象卫星:使用类别“天气”
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
相关链接
- N2YO.com -实时卫星跟踪
- N2YO API文件
- 模型上下文协议 -了解MCP
- NORAD目录 -卫星目录信息
