Skip to main content
Glama
sandraschi

SDR MCP Server

SDR MCP 服务器

通过模型上下文协议 (MCP) 对软件定义无线电进行对话式 AI 控制。

通过自然对话控制 RTL-SDR 硬件 — 查询频谱、调谐频率、浏览电台数据库以及可视化实时瀑布图。适用于 Claude Desktop、任何 MCP 客户端或随附的 Web 仪表板。


快速开始

# Install
pip install sdr-mcp

# Check hardware
sdr-mcp check

# Start server (STDIO mode for Claude Desktop)
sdr-mcp serve

对于 Web 仪表板:

cd web_sota
npm install
npm run dev

文档

文档

涵盖内容

INSTALL.md

完整设置、驱动程序、配置

ARCHITECTURE.md

系统设计、数据流、传输

MCP_SERVER.md

所有 17 个 MCP 工具及示例

SDR_TECHNOLOGY.md

初学者无线电基础知识

RTL_SDR_V4.md

推荐硬件规格


功能特性

硬件控制

  • 自动检测 RTL-SDR 设备,进行初始化和配置

  • 设置频率 (24 MHz — 1.766 GHz)、增益(自动或手动)

  • 实时 IQ 采样捕获和频谱处理

频谱分析

  • 2048 点 FFT,带汉明窗

  • 峰值检测和信号强度分析

  • 瀑布图历史记录(100 行),用于时变信号

频率数据库

  • 预加载了 11 个涵盖 LW/MW/SW/VHF 波段的电台

  • 节目时间表及当前播放信息

  • 通过 radio-browser.info 进行在线搜索(2.5 万+ 电台)

WebSocket 流媒体

  • 向 Web 客户端广播实时频谱

  • 通过 WebSocket 命令进行远程频率/增益控制

  • 基于 Canvas 的频谱和瀑布图可视化

Web 仪表板

  • 频谱分析仪 — 实时 FFT 绘图,带频率/增益控制

  • 瀑布图显示 — 颜色编码的时间-频率可视化

  • 电台浏览器 — 搜索、收藏、波段过滤

  • 在线数据库 — 按名称/国家/流派查询 radio-browser.info

  • 信号识别 — 在 SigID Wiki 上查找信号类型


硬件

推荐: RTL-SDR Blog v4 (~$35)

  • 24 MHz — 1.766 GHz 连续覆盖

  • 0.5 ppm TCXO,确保频率稳定性

  • SMA 接口、铝制外壳、偏置器 (bias tee)

任何基于 RTL2832U 的 SDR(带 R820T2 调谐器)均可使用。完整规格请参阅 RTL_SDR_V4.md


项目结构

sdr-mcp/
├── README.md              # This file
├── docs/                  # Documentation
│   ├── INSTALL.md         # Setup guide
│   ├── ARCHITECTURE.md    # System design
│   ├── MCP_SERVER.md      # Tool reference
│   ├── SDR_TECHNOLOGY.md  # Radio primer
│   └── RTL_SDR_V4.md      # Hardware specs
├── pyproject.toml         # Python package config
├── justfile               # Lint, fix, security recipes
├── start.ps1              # Launch backend + webapp
├── src/sdr_mcp/           # Python backend
│   ├── server.py          # FastMCP server, 17 tools
│   ├── capture.py         # RTL-SDR hardware interface
│   ├── processor.py       # FFT / spectrum processing
│   ├── frequency_db.py    # Station database
│   ├── online_db.py       # radio-browser.info API
│   ├── websocket_server.py # Real-time WebSocket stream
│   ├── transport.py       # STDIO / HTTP transport
│   └── cli.py             # Command-line interface
├── web_sota/              # React/TypeScript webapp
│   └── src/
│       ├── pages/         # Spectrum, Waterfall, Stations, etc.
│       └── components/    # Layout, UI components
└── tests/                 # Pytest test suite

技术栈

层级

技术

协议

FastMCP 3.2, MCP 2.14+

后端

Python 3.12, asyncio

硬件

pyrtlsdr, RtlSdr

信号

numpy, scipy (FFT)

流媒体

websockets (RFC 6455)

前端

React 19, TypeScript, Vite

UI

Tailwind CSS, Radix UI, Lucide 图标

标准

Fleet SOTA, ruff, Biome, just


许可证

MIT

F
license - not found
-
quality - not tested
C
maintenance

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandraschi/sdr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server