# yoelbassin/gnuradioMCP [Health: Active]

**Category:** 📟 Embedded System  
**Repository:** https://github.com/yoelbassin/gnuradioMCP  
**GitHub Stars:** 49  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/yoelbassin-gnuradiomcp

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

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "gnuradiomcp": {
    "command": "npx",
    "args": ["-y","yoelbassin-gnuradiomcp"],
    "env": {
      "MARCONI_WORKSPACE": ""
    }
  }
}
```

**Requires environment variables:** `MARCONI_WORKSPACE` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation & README

# 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`](https://docs.astral.sh/uv/) and Python ≥ 3.13
- [GNU Radio](https://www.gnuradio.org/) 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](https://github.com/yoelbassin/gnuradioMCP/blob/HEAD/LICENSE).

