返回市场
adsb-mcp-服务器

adsb-mcp-服务器

作者:dirkhh4 星标更新:2025-11-16

项目介绍

ADS-B MCP 服务器

这是一个模型上下文协议(MCP)服务器,用于暴露典型ADS-B馈送实例的数据,以便在Claude(以及其他可能的LLM)中使用。

最初编写此服务器是为了连接到<a href="https://github.com/dirkhh/adsb-feeder-image">ADS-B Feeder Image</a>运行Ultrafeeder容器,但它也可以与提供通常与readsb/tar1090相关的API的任何馈送器一起工作。

功能

目前,这个MCP服务器提供了对以下内容的访问:

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

安装

预备条件

  • Node.js 18.0 或更高版本
  • npm(随Node.js一起提供)
  • 访问ADS-B馈送器

安装依赖项

# 克隆仓库
git clone https://github.com/dirkhh/adsb-mcp-server.git
cd adsb-mcp-server

# 安装依赖项
npm install

# 构建项目
npm run build

MCP 客户端设置指南

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

预备条件

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

选项1:Claude桌面(推荐)

步骤1:配置Claude桌面

推荐:使用自动设置脚本:

npm run build
node dist/setup_remote_config.js

该脚本将:

  • 提示您输入ADS-B馈送器主机和端口
  • 自动创建正确的配置
  • 如果存在,则与现有的Claude桌面配置合并
  • 提供下一步操作的明确指示

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

关闭并重新打开Claude桌面以加载新配置。截至本文撰写时,并非所有版本的Claude都具有重新加载其配置的选项。

步骤3:测试连接

在Claude桌面中,尝试询问:

  • “我的馈送器附近最近的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捆绑包

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

# 安装官方的MCPB工具(需要Node.js)
npm install -g @anthropic-ai/mcpb

# 构建项目
npm run build

# 使用官方工具创建捆绑包
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馈送器镜像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日志:

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

性能问题

  1. 限制结果数量以避免过载响应
  2. 使用距离过滤器以减少数据处理
  3. 监控内存使用情况对于大型飞机数据集

示例查询

一旦连接,您可以提出自然语言问题,如:

  • “我的馈送器附近最近的5架飞机是什么?”
  • “显示我当前位置东边50英里内的所有飞机”
  • “北面有飞机吗?”
  • “南面最近的飞机是什么?”
  • “查找东北象限中的飞机”
  • “搜索航班UAL123”
  • “显示接收器统计信息”

高级配置

自定义自动批准

配置哪些工具需要批准:

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

不在autoApprove中的工具将在Claude桌面中需要手动批准。

支持

如果您遇到问题:

  • <a href="https://discord.gg/7buWAFA28H">SDR爱好者Discord</a>的#adsb-dot-im频道寻求帮助

许可证

该项目包含一些AI生成的代码(可能存在知识产权问题);总体而言,该项目根据GPLv3许可。