Add MCP injection support to Jupyter backend

- start_kernel() now accepts injection_code and bridge_socket_path
- Bridge Unix domain socket mounted as volume in container
- Injection code executed once on kernel startup (silent, no history)
- New _execute_injection_code() helper method with error handling
- Parameters passed through SessionManager.create_session()
- Parameters passed through JupyterBackend.execute()
- Updated JUPYTER_IMPLEMENTATION_STATUS.md

This mirrors the MCP injection pattern from the simple executor,
allowing MCP tools to be available in Jupyter sessions.
This commit is contained in:
Hans Aschauer 2026-02-07 08:13:40 +01:00
parent ed58c6ad5a
commit 9cc43e4166
4 changed files with 106 additions and 13 deletions

View file

@ -48,7 +48,14 @@
- `cleanup_idle_kernels()`: Time-based cleanup
- Activity timestamp updates
6. **Dependencies**
6. **MCP Integration**
- `start_kernel()` accepts `injection_code` and `bridge_socket_path`
- Bridge socket mounted as volume in container (Unix domain socket)
- Injection code executed once on kernel startup (silent, no history)
- Error handling for injection failures
- Passed through SessionManager and JupyterBackend
7. **Dependencies**
- `jupyter-client>=8.8.0` added to server dependencies
- `ipykernel` removed from server (will be in container image)
- `pyzmq>=27.1.0` for ZMQ support
@ -57,6 +64,7 @@
- [architecture1.md](../docs/architecture1.md) updated with Jupyter Backend section
- [todo.md](../docs/todo.md) Phase 2.2.1 updated with architecture details
- Architecture flow diagram and session mapping explanation
- [JUPYTER_IMPLEMENTATION_STATUS.md](../docs/JUPYTER_IMPLEMENTATION_STATUS.md) tracking document
### 🚧 In Progress / TODO