返回市场
卫星追踪-mcp-服务器

卫星追踪-mcp-服务器

作者:Cyreslab-AI2 星标更新:2025-04-26

项目介绍

卫星跟踪MCP服务器

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

特性

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

工具

  • get_satellite_position: 根据NORAD ID获取卫星的实时位置
  • get_satellite_tle: 根据NORAD ID获取卫星的TLE(两行元素)数据
  • predict_visual_passes: 预测卫星在特定位置的可见通过
  • predict_radio_passes: 预测卫星在特定位置的无线电频率通过
  • get_satellites_above: 获取当前位于指定位置上方的卫星
  • search_satellites: 按名称或类别搜索卫星

资源

  • satellite://{norad_id}: 根据NORAD ID获取卫星信息
  • satellites://category/{category_id}: 获取特定类别的卫星列表
  • satellites://above/{lat}/{lon}/{radius}: 获取位于指定位置上方的卫星列表

安装

先决条件

  • Node.js 18 或更高版本
  • N2YO API密钥(可从N2YO API服务获得)

设置

  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伽利略
6GLO-OPS
7GPS-OPS
8军事
9雷达
10资源
11SARSAT
12科学
13TDRSS
14天气
15XM/Sirius
16Iridium-NEXT
17Globalstar
18Intelsat
19SES
20Telesat
21Orbcomm
22Gorizont
23Raduga
24Molniya
25DMC
26Argos
27Planet
28Spire
29Starlink
30OneWeb

API密钥限制

N2YO API根据您的订阅计划有不同的使用限制。免费层级允许:

  • 每小时1,000次请求
  • 所有端点的基本功能

请注意这些限制以避免超出配额。

故障排除

  • API密钥错误:确保您的N2YO API密钥有效,并且正确设置在环境变量中。
  • 速率限制:如果您遇到速率限制错误,服务器会自动重试并采用指数退避策略,但您可能需要等待一段时间后再进行额外请求。
  • 未找到数据:某些卫星可能没有实时跟踪数据可用,特别是较旧或不活跃的卫星。

许可证

本项目根据ISC许可证授权。