91a442cdf9
tests: add RuntimeProvider coverage (82% → 94%)
...
Unit tests (35):
- Mocked DockerMiddleware and XmlRpcMiddleware
- Full coverage of orchestration logic, preconditions, state tracking
Integration tests (6):
- Real Docker containers with gnuradio-runtime image
- End-to-end: launch → connect → control variables → stop
- Skip gracefully when Docker/image unavailable
Total: 112 tests, 94% coverage
2026-01-27 10:16:47 -07:00
2084c41228
runtime: Phase 1 Docker + XML-RPC control
...
Add RuntimeProvider with 17 MCP tools for controlling running flowgraphs:
- Container lifecycle: launch, list, stop, remove
- Connection: connect by URL or container name
- Variable control: list, get, set via XML-RPC introspection
- Flowgraph execution: start, stop, lock, unlock
- Visual feedback: screenshot capture, container logs
Docker is optional - 10 tools work without it for external flowgraphs.
Includes:
- DockerMiddleware wrapping docker.DockerClient
- XmlRpcMiddleware wrapping xmlrpc.client.ServerProxy
- Dockerfile with Xvfb + ImageMagick + VNC for headless QT
- 29 new unit tests (71 total)
2026-01-27 09:48:44 -07:00
2bef80a47a
Add XML-RPC runtime integration design thread
...
Agent-to-agent discussion between gr-mcp and gnuradio-codebase agents:
- 001: gnuradio-agent proposes RuntimeProvider for XML-RPC control
- 002: gr-mcp-agent initial response with architecture ideas
- 003: gnuradio-agent provides technical details (lock/unlock, types, ControlPort)
- 004: gr-mcp-agent responds with Docker-based architecture proposal
Key design decisions:
- Docker container for GNU Radio runtime (librespace/gnuradio)
- Xvfb for headless QT GUI rendering
- Support both XML-RPC and ControlPort/Thrift transports
- OOT block generation via epy_block and full modules
2026-01-26 16:46:14 -07:00
fdc42c9bed
Upgrade to FastMCP 3.0 and Python 3.14
...
- Bump version to 0.2.0
- Require Python 3.14+
- Update to FastMCP 3.0.0b1 with new Client API
- Update tests for FastMCP 3.0 (Pydantic models in .data)
- Pin modern dependency versions
2026-01-26 16:46:05 -07:00
Yoel bassin
1c704af06d
update FastMCP instructions
2026-01-05 21:12:50 +02:00
Yoel bassin
664c2adedc
add tests for FastMCP integration and update pre-commit
2026-01-05 20:52:48 +02:00
Yoel bassin
24c442d5c4
fix FastMCP version update that broke api
2026-01-05 20:43:16 +02:00
Julius
35067e9fec
Merge pull request #1 from Matvey-Kuk/add-mcp-badge
...
MCP Trust Score
2025-08-16 11:48:15 +03:00
Matvey-Kuk
4ac473de1c
Add MCP Catalog Trust Score badge
2025-08-15 21:29:16 +01:00
Julius
7ed5e25435
main - feat: Add LICENSE
2025-05-12 23:40:42 +03:00
Yoel Bassin
3df548e684
main - fix: Change repository name to gr-mcp
2025-05-05 20:12:24 +03:00
Yoel Bassin
2dc21b5363
main - fix: Update README to add UV support
2025-04-28 09:49:49 +03:00
Yoel Bassin
80c0a1f32a
main - fix: Update README and pyproject.toml
2025-04-27 22:35:21 +03:00
Yoel Bassin
2ade89408e
main - fix: Update README
2025-04-27 22:20:31 +03:00
Yoel Bassin
425b308556
main - feat: Imlement basic MCP server
2025-04-27 22:16:58 +03:00
Yoel Bassin
f5a0629da7
main - fix: Fix using already populated GRC file and connection of hidden ports
2025-04-27 20:51:48 +03:00
Yoel Bassin
6d6e4d0fc2
main - fix: Change BlockModel key to name
2025-04-27 17:16:13 +03:00
Yoel Bassin
ac4105b210
main - feat: Create new BlockTypeModel and allow named ports
2025-04-27 16:58:50 +03:00
Yoel Bassin
42484d6c7d
main - feat: Implement gnuradio element validation and errors
2025-04-27 12:33:29 +03:00
Yoel Bassin
0be8e77596
main - feat: Add mypy.ini
2025-04-27 11:07:35 +03:00
Yoel Bassin
7fd80477f1
main - fix: Update README
2025-04-27 00:32:21 +03:00
Yoel Bassin
f8174d07a1
main - feat: Implement block params update
2025-04-27 00:18:18 +03:00
Yoel Bassin
5485413efd
main - feat: Implement block connection
2025-04-27 00:02:19 +03:00
Yoel Bassin
73bf514fc1
main - feat: Implement default block naming
2025-04-26 22:05:06 +03:00
Yoel Bassin
185e68f809
main - feat: Add pre-commit and fix all files
2025-04-26 21:52:32 +03:00
Yoel Bassin
37cb51f056
main - fiat: Implement BlockMiddleware and reorganize tests
2025-04-26 21:25:28 +03:00
Yoel Bassin
c5b4be6950
main - feat: Implement flowgraph block removal
2025-04-26 16:40:39 +03:00
Yoel Bassin
a4a3d124bd
main - feat: Implement basic flowgraph
2025-04-26 16:35:43 +03:00
Yoel Bassin
eb0d9fd6be
main - feat: Add real gnuradio data to tests
2025-04-26 16:08:09 +03:00
Yoel Bassin
377dab4ff9
main - feat: Create initial structure
2025-04-26 15:47:56 +03:00
Yoel Bassin
43ad41495a
main - feat: Remove everything for clean start
2025-04-26 15:46:42 +03:00
Yoel Bassin
9f96402e02
main - feat: Make some initial MCP server work
2025-04-26 04:18:02 +03:00
Yoel Bassin
61309d9b57
main - feat: Create inital README
2025-04-25 16:39:51 +03:00
Yoel Bassin
05f092e2e4
main - feat: Inital project structure
2025-04-25 16:39:02 +03:00
Yoel Bassin
1c3acd7922
main - feat: copy GRC from latest stable GNURadio
2025-04-25 16:36:21 +03:00