卫星追踪服务器

一个基于N2YO API的卫星追踪数据服务,提供实时卫星位置、轨道预测和卫星搜索功能。

  • by Cyreslab-AI
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 Cyreslab-AI/satellitetracking-mcp-server

使用说明

卫星跟踪MCP服务器

一种模型上下文协议(MCP)服务器,使用N2YO API提供对卫星跟踪数据的访问。

特性

此MCP服务器提供以下功能:

工具

  • get_卫星_位置:通过NORAD ID获取卫星的实时位置
  • get_卫星_tle:通过NORAD ID获取卫星的TLE(双线元素)数据
  • 预测视觉通行证:预测卫星在某一位置的可见经过
  • 预测_无线电路径:预测卫星在某一位置的射频通过情况
  • get_卫星_以上:获取当前位于指定位置上方的卫星
  • 搜索卫星:按名称或类别搜索卫星

资源

  • 卫星://{norad_id}:NORAD ID提供的卫星信息
  • satellites://category/{category_id}:特定类别的卫星列表
  • satellites://above/{lat}/{lon}/{radius}:指定位置上方的卫星列表

安装

先决条件

设置

  1. 克隆此存储库或下载源代码
  2. 安装依赖项:
cd satellite-tracking-server
npm install
  1. 构建服务器:
npm run build

配置

服务器需要一个N2YO API密钥才能运行。您可以通过环境变量提供此信息 N2YO_API_KEY.

MCP设置配置

要将此服务器与Claude一起使用,请将其添加到MCP设置配置文件中:

适用于Claude桌面应用程序(macOS)

编辑 ~/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": []
    }
  }
}

适用于Claude VSCode扩展

编辑 ~/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": []
    }
  }
}

使用示例

配置并运行服务器后,您可以将其与Claude一起使用,以访问卫星跟踪数据:

获取卫星位置

<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>

获取卫星TLE数据

<use_mcp_tool>
<server_name>satellite-tracking</server_name>
<tool_name>get_satellite_tle</tool_name>
<arguments>
{
  "norad_id": 25544
}
</arguments>
</use_mcp_tool>

预测视觉通行

<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>

搜索卫星

<use_mcp_tool>
<server_name>satellite-tracking</server_name>
<tool_name>search_satellites</tool_name>
<arguments>
{
  "query": "ISS"
}
</arguments>
</use_mcp_tool>

获取位置上方的卫星

<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_mcp_resource>
<server_name>satellite-tracking</server_name>
<uri>satellite://25544</uri>
</access_mcp_resource>

卫星类别

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

类别ID 描述
0 全部
1 业余
2 立方体卫星
3 教育
4 工程
5 伽利略
6 手套
7 GPS-OPS
8 军事
9 雷达
10 资源
11 萨尔萨特
12 科学
13 TDRSS
14 天气
15 XM/天狼星
16 铱下一页
17 环球之星
18 国际通信卫星组织
19秒
20 卫星电视
21 Orbcomm
22 大猩猩
23 拉杜加
24 莫尔尼亚
25 DMC
26 阿尔戈斯
27 星球
28 尖塔
29 星联
30 OneWeb

API关键限制

N2YO API的使用限制取决于您的订阅计划。免费等级允许:

  • 每小时1000个请求
  • 所有端点的基本功能

使用服务器时请注意这些限制,以避免超出配额。

故障排除

  • API密钥错误:确保您的N2YO API密钥有效,并在环境变量中正确设置。
  • 速率限制:如果遇到速率限制错误,服务器将自动以指数回退方式重试,但您可能需要等待才能发出其他请求。
  • 未找到数据:有些卫星可能没有实时跟踪数据,特别是较旧或不活动的卫星。

许可证

该项目根据ISC许可证获得许可。