73 lines
2.5 KiB
Markdown
73 lines
2.5 KiB
Markdown
# GR-MCP: A gnuradio MCP Server
|
|
|
|
[](https://www.python.org/downloads/release/python-3130/)
|
|
|
|
[](https://archestra.ai/mcp-catalog/yoelbassin__gnuradiomcp)
|
|
|
|
|
|
**GNURadio MCP Server** is a modern, extensible Machine Control Protocol (MCP) server for [GNURadio](https://www.gnuradio.org/), 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)
|
|
- UV
|
|
|
|
### Usage
|
|
1. **Clone the repository**
|
|
```bash
|
|
git clone https://github.com/yoelbassin/gr-mcp
|
|
```
|
|
|
|
2. [**Install GNURadio**](https://wiki.gnuradio.org/index.php/InstallingGR)
|
|
|
|
3. **Set up a UV environment**
|
|
```bash
|
|
cd gr-mcp
|
|
uv venv --system-site-packages
|
|
```
|
|
> The `--system-site-packages` flag is required because GNURadio installs the `gnuradio` Python package globally.
|
|
|
|
4. **Add the MCP server configuration to your client configuration.** For example, for Claude Desktop or Cursor:
|
|
```json
|
|
"mcpServers": {
|
|
"gr-mcp": {
|
|
"command": "uv",
|
|
"args": [
|
|
"--directory",
|
|
"/path/to/gr-mcp",
|
|
"run",
|
|
"main.py"
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
## Development
|
|
Install development dependencies and run tests with:
|
|
```bash
|
|
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!
|