main - fix: Update README to add UV support

This commit is contained in:
Yoel Bassin 2025-04-28 09:48:56 +03:00
parent 80c0a1f32a
commit 2dc21b5363
3 changed files with 29 additions and 22 deletions

View File

@ -26,39 +26,42 @@
### Requirements ### Requirements
- Python >= 3.13 - Python >= 3.13
- GNURadio (Tested with GNURadio Companion v3.10.12.0) - GNURadio (Tested with GNURadio Companion v3.10.12.0)
- UV
### Installation
1. [**Install GNURadio**](https://wiki.gnuradio.org/index.php/InstallingGR)
2. **Set up a Python virtual environment**
```bash
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 ### Usage
1. **Clone the repository**
Start the MCP server:
```bash ```bash
python main.py git clone https://github.com/yoelbassin/gnuradioMCP
``` ```
Connect your LLM or automation tool with: 2. [**Install GNURadio**](https://wiki.gnuradio.org/index.php/InstallingGR)
3. **Set up a UV environment**
```bash
cd gnuradioMCP
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 ```json
"mcpServers": { "mcpServers": {
"GnuradioMCP": { "GnuradioMCP": {
"url": "http://localhost:8000/sse" "command": "uv",
"args": [
"--directory",
"/path/to/gnuradioMCP",
"run",
"main.py"
]
}
} }
}
``` ```
## Development ## Development
Install development dependencies and run tests with: Install development dependencies and run tests with:
```bash ```bash
pip install -e .[dev] pip install -e ".[dev]"
pytest pytest
``` ```

View File

@ -24,4 +24,5 @@ app: FastMCP = FastMCP(
McpPlatformProvider.from_platform_middleware(app, PlatformMiddleware(platform)) McpPlatformProvider.from_platform_middleware(app, PlatformMiddleware(platform))
app.run(transport="sse") if __name__ == "__main__":
app.run()

View File

@ -9,7 +9,10 @@ description = "A FastMCP server for gnuradio."
requires-python = ">=3.13" requires-python = ">=3.13"
dependencies = [ dependencies = [
"pydantic", "pydantic",
"fastmcp" "fastmcp",
# for gnuradio
"mako",
"pyyaml",
] ]
[project.optional-dependencies] [project.optional-dependencies]