Skip to main content
Glama
sandraschi

SDR MCP Server

SDR MCP-сервер

Управление программно-определяемой радиосистемой (SDR) с помощью разговорного ИИ через протокол Model Context Protocol.

Управляйте оборудованием RTL-SDR с помощью естественного диалога — запрашивайте спектр, настраивайте частоты, просматривайте базы данных станций и визуализируйте «водопад» в реальном времени. Работает с Claude Desktop, любым MCP-клиентом или включенной в комплект веб-панелью управления.


Быстрый старт

# Install
pip install sdr-mcp

# Check hardware
sdr-mcp check

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

Для веб-панели управления:

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 МГц — 1,766 ГГц), усиления (автоматическое или ручное)

  • Захват IQ-выборок в реальном времени и обработка спектра

Анализ спектра

  • 2048-точечное БПФ (FFT) с окном Хэмминга

  • Обнаружение пиков и анализ уровня сигнала

  • История «водопада» (100 строк) для сигналов, изменяющихся во времени

База данных частот

  • 11 предустановленных станций в диапазонах ДВ/СВ/КВ/УКВ

  • Программы передач с информацией о текущем эфире

  • Онлайн-поиск через radio-browser.info (более 25 тыс. станций)

Потоковая передача через WebSocket

  • Трансляция спектра в реальном времени для веб-клиентов

  • Удаленное управление частотой/усилением через команды WebSocket

  • Визуализация спектра и «водопада» на базе Canvas

Веб-панель управления

  • Анализатор спектра — график БПФ в реальном времени с элементами управления частотой/усилением

  • Отображение «водопада» — цветовая визуализация времени и частоты

  • Браузер станций — поиск, избранное, фильтры по диапазонам

  • Онлайн-база данных — запрос к radio-browser.info по названию/стране/жанру

  • Идентификация сигналов — поиск типов сигналов в SigID Wiki


Оборудование

Рекомендуется: RTL-SDR Blog v4 (~$35)

  • Непрерывный охват 24 МГц — 1,766 ГГц

  • 0,5 ppm TCXO для стабильности частоты

  • Разъем SMA, алюминиевый корпус, bias tee

Работает любой SDR на базе RTL2832U с тюнером 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

Интерфейс

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