SDR MCP Server

SDR MCP Server

Conversational AI control for Software Defined Radio via the Model Context Protocol.

Category
Visit Server

README

SDR MCP Server

Conversational AI control for Software Defined Radio via the Model Context Protocol.

Control RTL-SDR hardware through natural dialogue — query spectrum, tune frequencies, browse station databases, and visualize real-time waterfall displays. Works with Claude Desktop, any MCP client, or the included web dashboard.


Quick Start

# Install
pip install sdr-mcp

# Check hardware
sdr-mcp check

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

For the web dashboard:

cd web_sota
npm install
npm run dev

Documentation

Document What it covers
INSTALL.md Full setup, drivers, configuration
ARCHITECTURE.md System design, data flow, transport
MCP_SERVER.md All 17 MCP tools with examples
SDR_TECHNOLOGY.md Radio basics for beginners
RTL_SDR_V4.md Recommended hardware specs

Features

Hardware Control

  • Auto-detect RTL-SDR devices, initialize and configure
  • Set frequency (24 MHz — 1.766 GHz), gain (auto or manual)
  • Real-time IQ sample capture and spectrum processing

Spectrum Analysis

  • 2048-point FFT with Hamming window
  • Peak detection and signal strength analysis
  • Waterfall history (100 lines) for time-varying signals

Frequency Database

  • 11 pre-loaded stations across LW/MW/SW/VHF bands
  • Program schedules with current-playing info
  • Online search via radio-browser.info (25k+ stations)

WebSocket Streaming

  • Real-time spectrum broadcast to web clients
  • Remote frequency/gain control via WebSocket commands
  • Canvas-based spectrum and waterfall visualizations

Web Dashboard

  • Spectrum Analyzer — live FFT plot with frequency/gain controls
  • Waterfall Display — color-coded time-frequency visualization
  • Station Browser — search, favorites, band filters
  • Online DB — query radio-browser.info by name/country/genre
  • Signal ID — lookup signal types on SigID Wiki

Hardware

Recommended: RTL-SDR Blog v4 (~$35)

  • 24 MHz — 1.766 GHz continuous coverage
  • 0.5 ppm TCXO for frequency stability
  • SMA connector, aluminum enclosure, bias tee

Any RTL2832U-based SDR with R820T2 tuner works. See RTL_SDR_V4.md for full specs.


Project Structure

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

Tech Stack

Layer Technology
Protocol FastMCP 3.2, MCP 2.14+
Backend Python 3.12, asyncio
Hardware pyrtlsdr, RtlSdr
Signal numpy, scipy (FFT)
Streaming websockets (RFC 6455)
Frontend React 19, TypeScript, Vite
UI Tailwind CSS, Radix UI, Lucide icons
Standards Fleet SOTA, ruff, Biome, just

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured