GNURadio MCP Server

Python Version

GNURadio MCP Server is a modern, extensible Machine Control Protocol (MCP) server for GNURadio, enabling programmatic, automated, and AI-driven creation of GNURadio flowgraphs. Designed for seamless integration with Large Language Models (LLMs), automation frameworks, and custom clients, it empowers you to generate .grc files and control SDR workflows at scale.

Why GNURadio MCP Server?

  • Automate SDR workflows and flowgraph generation
  • Integrate with LLMs, bots, and custom tools
  • Build, modify, and validate flowgraphs programmatically
  • Save time and reduce manual errors in SDR prototyping

Features

  • 🌐 MCP API: Exposes a robust MCP interface for GNURadio
  • 🛠️ Programmatic Flowgraph Creation: Build, edit, and save .grc files from code or automation
  • 🤖 LLM & Automation Ready: Designed for AI and automation integration
  • 🧩 Extensible: Modular architecture for easy extension and customization
  • 📝 Example Flowgraphs: Includes ready-to-use .grc examples in the misc/ directory
  • 🧪 Tested: Comprehensive unit tests with pytest

Quickstart

Requirements

  • Python >= 3.13
  • GNURadio (Tested with GNURadio Companion v3.10.12.0)

Installation

  1. Install GNURadio

  2. Set up a Python virtual environment

    python3.13 -m venv --system-site-packages venv
    source venv/bin/activate
    pip install -e .
    

    The --system-site-packages flag is required because GNURadio installs the gnuradio Python package globally.

Usage

Start the MCP server:

python main.py

Connect your LLM or automation tool with:

"mcpServers": {
  "GnuradioMCP": {
    "url": "http://localhost:8000/sse"
  }
}

Development

Install development dependencies and run tests with:

pip install -e .[dev]
pytest

Project Status

In active development. Core server functionality is available, but the API and features are evolving. Your feedback and contributions are highly valued!

Description
No description provided
Readme MIT 13 MiB
Languages
Python 98.6%
Shell 0.9%
C++ 0.5%