Installation
GR-MCP requires Python 3.14+, GNU Radio with GRC, and optionally Docker for runtime control features.
Prerequisites
# GNU Radio and GRCsudo pacman -S gnuradio gnuradio-companion
# UV package manager (if not installed)curl -LsSf https://astral.sh/uv/install.sh | sh
# Docker (optional, for runtime control)sudo pacman -S docker docker-composesudo systemctl enable --now dockersudo usermod -aG docker $USER# GNU Radio and GRCsudo apt install gnuradio gnuradio-dev
# UV package managercurl -LsSf https://astral.sh/uv/install.sh | sh
# Docker (optional)sudo apt install docker.io docker-composesudo systemctl enable --now dockersudo usermod -aG docker $USER# GNU Radio and GRCsudo dnf install gnuradio gnuradio-devel
# UV package managercurl -LsSf https://astral.sh/uv/install.sh | sh
# Docker (optional)sudo dnf install docker docker-composesudo systemctl enable --now dockersudo usermod -aG docker $USERInstall GR-MCP
-
Clone the repository
Terminal window git clone https://git.supported.systems/MCP/gr-mcpcd gr-mcp -
Create a virtual environment with system site-packages
Terminal window uv venv --system-site-packages --python 3.14 -
Install dependencies
Terminal window uv sync -
Verify the installation
Terminal window uv run gnuradio-mcpYou should see the FastMCP server start. Press
Ctrl+Cto stop.
Configure Your MCP Client
Add GR-MCP to your MCP client configuration:
Edit ~/.config/claude/claude_desktop_config.json:
{ "mcpServers": { "gr-mcp": { "command": "uv", "args": ["--directory", "/path/to/gr-mcp", "run", "gnuradio-mcp"] } }}claude mcp add gr-mcp -- uv --directory /path/to/gr-mcp run gnuradio-mcpOr add to your project’s .mcp.json:
{ "mcpServers": { "gr-mcp": { "command": "uv", "args": ["--directory", "/path/to/gr-mcp", "run", "gnuradio-mcp"] } }}Edit your Cursor settings or .cursor/mcp.json:
{ "mcpServers": { "gr-mcp": { "command": "uv", "args": ["--directory", "/path/to/gr-mcp", "run", "gnuradio-mcp"] } }}Build Docker Images (Optional)
For runtime control features (launching flowgraphs in containers, visual feedback, code coverage):
cd gr-mcp
# Base runtime image with Xvfb + VNC + ImageMagickdocker build -f docker/Dockerfile.gnuradio-runtime \ -t gnuradio-runtime:latest docker/
# Coverage image (adds python3-coverage)docker build -f docker/Dockerfile.gnuradio-coverage \ -t gnuradio-coverage:latest docker/Next Steps
Now that GR-MCP is installed, try:
- Build your first flowgraph — Create and validate a complete signal chain
- Running in Docker — Launch flowgraphs with runtime control