- Base image: continuumio/miniconda3 (conda + python 3 out of the box)
- Java: installed via SDKMAN (sdk install java) — latest LTS by default
- Node.js: nvm install kept from previous change
- All tool envs (nvm, sdkman) sourced before exec so Python and all
child processes (exec-tool, jobs) inherit the full PATH
Replaces the inline bash -c "..." command in docker-compose with a dedicated
startup.sh script that installs system packages, pip deps, and starts the server.
Add custom setup steps (apt, pip, curl, etc.) in the marked section.
WORKSPACE_DIR env var was never set in docker-compose.yml, so the
default always applied anyway. The container-internal mount point
is always /workspace, so there's no reason to make it configurable.
Replace custom REST API with standard MCP protocol so clients
like Claude Desktop/Code can connect via the streamable_http transport.
Handles initialize, tools/list, tools/call, ping, notifications.