Back to MCP Servers

GnuradioMCP

An MCP server for GNU Radio that enables LLMs to autonomously create and modify RF `.grc` flowcharts.

embedded-systemllm
By yoelbassin
4410Updated 2 weeks agoPythonGPL-3.0

Installation

npx -y gnuradioMCP

Configuration

{
  "mcpServers": {
    "gnuradioMCP": {
      "command": "npx",
      "args": ["-y", "gnuradioMCP"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes

Marconi 🤖

        o)))
        |
    .-------.
    | o   o |
    |   v   |
    '-------'

    Hi! I'm Marco.

LLM-driven RF for Claude Code. Describe what you want on the air and I survey the spectrum, build and run the receiver, look at the signal, and leave a reproducible RF project behind — SigMF captures, YAML pipelines, and .grc flowgraphs you own.

Early development — v1.0 is simulation-only (no hardware yet). See ROADMAP.md.

Proviously known as GNURadio/GR-MCP.

Requirements

  • uv and Python ≥ 3.13
  • GNU Radio 3.10+ installed system-wide (conda-forge, your distro's package manager, or Homebrew) — needed to run pipelines and simulate. Analyzing existing IQ files doesn't require it.

Install

In Claude Code:

/plugin marketplace add yoelbassin/gr-mcp
/plugin install marconi

That's it — uv starts the MCP server on first use and loads the skills. Nothing else to configure.

Use it

Ask in plain language:

"Simulate an FM station at 100.3 MHz and build me a receiver."

"Here's a capture, mystery.wav — survey what's on the air, then decode the strongest carrier."

I pick the right skill and drive the workflow end to end:

  • survey-spectrum — what's present (PSD, signal detection, spectrogram)
  • simulate-scene — register a simulated device from a description
  • build-receiver — channelize, demodulate, validate, run, verify, save
  • debug-no-signal — locate the fault when a receiver outputs nothing
  • tx-experiment — closed-loop transmit-then-receive in simulation
  • escape-hatch — drop to the Python library when no tool fits

Artifacts land under artifacts/ in the server's working directory; set MARCONI_WORKSPACE to put them elsewhere.

License

GPL-3.0-or-later.

View source on GitHub