ADS-B数据服务

一个模型上下文协议(MCP)服务器,提供实时飞机数据、接收器统计和搜索功能,适用于航空监控和数据分析场景。

  • by dirkhh
  • JavaScript
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 dirkhh/adsb-mcp-server

使用说明

ADS-B MCP服务器

一种模型上下文协议(MCP)服务器,它公开典型ADS-B馈线实例的数据,供Claude(可能还有其他LLM)内部使用。

这最初是为了提供一个连接到的MCP服务器而编写的 ADS-B馈线图像 运行一个Ultrafeeder容器,但它可以与任何提供通常与readsb/tar1090相关的API的给料机配合使用。

特性

到目前为止,此MCP服务器提供以下访问:

  • 航空器数据:实时飞机位置、呼号、高度和跟踪信息,以及商业航班的可选路线信息(如有)
  • 接收器统计:性能指标、消息计数和系统状态
  • 搜索功能:通过呼号、十六进制代码或航班号查找特定飞机
  • 范围统计:覆盖区域和信号范围信息

安装

先决条件

  • Node.js 18.0或更高版本
  • npm(附带Node.js)
  • 接入ADS-B馈线

再进行

# Clone the repository
git clone https://github.com/dirkhh/adsb-mcp-server.git
cd adsb-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

MCP客户端设置指南

本指南将帮助您将各种MCP客户端连接到ADS-B MCP服务器。

先决条件

  1. 运行ADS-B馈线:确保您的ADS-B馈线正在运行且可访问——最简单的方法可能是运行ADS-B馈线映像
  2. Python MCP服务器:readsb MCP服务器应正常工作
  3. 网络接入:客户端需要访问您的馈送器的API端点

选项1:克劳德桌面(推荐)

步骤1:配置Claude桌面

建议:使用自动设置脚本:

npm run build
node dist/setup_remote_config.js

此脚本将:

  • 提示您输入ADS-B馈线主机和端口
  • 自动创建正确的配置
  • 与现有的Claude Desktop配置合并(如果存在)
  • 为下一步提供明确的说明

步骤2:重新启动Claude Desktop(如果您的Claude Desktop版本支持,请重新加载MCP配置)

关闭并重新打开Claude Desktop以加载新配置。在撰写本文时,并非所有版本的克劳德 可以选择重新加载其配置。

步骤3:测试连接

在Claude Desktop中,尝试询问:

  • “离我的喂食器最近的5架飞机是什么?”
  • “向我展示我所在位置以东的飞机”

选项2:MCP检查员

安装MCP检查器

npm install -g @modelcontextprotocol/inspector

与ADS-B MCP服务器一起运行

npm run build
npx @modelcontextprotocol/inspector node dist/src/readsb_mcp_server.js --base-url http://adsb-feeder.local

这将打开一个web界面,您可以在其中测试MCP服务器工具。

创建MCP捆绑包

您可以创建MCP捆绑包(.mcpb 文件),以便使用官方MCPB工具轻松分发:

# Install the official MCPB tool (Node.js required)
npm install -g @anthropic-ai/mcpb

# Build the project
npm run build

# Create bundle using official tool
mcpb pack .

该捆绑包将创建为 adsb-mcp-server.mcpb 并且可以在MCP兼容客户端中分发和安装。该捆绑包包括用于自包含操作的所有Node.js依赖项。

选项3:自定义Node.js客户端

使用附带的简单MCP客户端:

npm run build
node dist/test/remote_mcp_client.js

这提供了一个交互式命令行界面来测试所有MCP工具。

选项4:测试脚本

运行基本连接测试:

npm run build
node dist/test/test_remote_connection.js

这将验证ADS-B MCP服务器是否正常工作。

配置选项

基本URL配置

调整 --base-url 基于您的设置的参数:

  • 典型ADS-B馈线图像:(默认情况下 adsb-feeder.local 用作主机)
  • 具有已知IP地址的馈线 --base-url http://192.168.123.45
  • 本地馈线在此系统上运行: --base-url http://localhost
  • 在ADS-B Feeder镜像adsb_im_bridge Docker网络中的容器中运行: --base-url http://ultrafeeder

端口配置

服务器连接到这些readsb端点:

  • 端口8080:REST API(/data/aircraft.json, /data/stats.json)

确保这些端口可以从MCP客户端访问。如果你 tar1090 在不同的端口上运行,相应地调整命令行,例如。 --base-url http://100.99.98.97:6543

故障排除

连接问题

  1. 检查是否可以手动获取ADS-B数据:
    curl http://adsb-feeder.local:8080/data/aircraft.json
    

Claude配置问题

  1. 检查Claude MCP日志:

例如。, ~/Library/Logs/Claude/mcp-server-readsb.log 在macOS上

性能问题

  1. 限制结果计数 避免压倒性的反应
  2. 使用距离过滤器 减少数据处理
  3. 监控内存使用情况 用于大型飞机数据集

查询示例

连接后,您可以问自然语言问题,如:

  • “离我的喂食器最近的5架飞机是哪一架?”
  • “让我看看50英里以内往东的所有飞机”
  • “北方有飞机吗?”
  • “离南边最近的飞机是哪架?”
  • “在东北象限找到飞机”
  • “搜索UAL123航班”
  • “显示接收器统计信息”

高级配置

自定义自动审批

配置哪些工具需要批准:

{
  "autoApprove": [
    "get_aircraft_data",
    "get_receiver_stats"
  ]
}

不在autoApprove中的工具需要在Claude Desktop中手动批准。

支持

如果您遇到问题:

许可证

该项目包含一些人工智能生成的代码(可能存在可疑的IP问题);总体而言,该项目根据GPLv3获得许可。