feat: switch sidecar transport from SSE to Streamable HTTP#624
feat: switch sidecar transport from SSE to Streamable HTTP#624TylerJNewman wants to merge 5 commits intobasicmachines-co:mainfrom
Conversation
Research documents covering Basic Memory's full architecture, a sidecar deployment strategy with R2 sync hub, and phased deployment plan for Railway with local bisync. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: TylerJNewman <tylerjnewman18@gmail.com>
Three sequential phases for deploying Basic Memory as a sidecar: - 00: Deploy sidecar container on Railway with persistent volume - 01: Set up Cloudflare R2 sync hub with rclone bisync - 02: Connect chat app agent with knowledge organization Each phase includes verification checklists, troubleshooting, confidence levels, and instructions to stop and ask if uncertain. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: TylerJNewman <tylerjnewman18@gmail.com>
- Add docker-compose.sidecar.yml for sidecar deployment pattern - Single volume at /app/data stores config, DB, and markdown files - Config dir override via BASIC_MEMORY_CONFIG_DIR=/app/data/.config - Semantic search disabled for local testing (sqlite_vec ARM compat) - Updated plan with all tasks completed and learnings documented Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: TylerJNewman <tylerjnewman18@gmail.com>
- Add Dockerfile.sidecar (root user for Railway volume compat, entrypoint) - Add entrypoint.sh to create config/data dirs before startup - Deploy to Railway: bm-sync service on exemplary-renewal project - Persistent volume at /app/data (50GB) - SSE endpoint live at robust-creation-production-70db.up.railway.app/mcp - Phase 00 fully complete with all tasks verified Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: TylerJNewman <tylerjnewman18@gmail.com>
SSE is deprecated in the MCP spec. Streamable HTTP is the current standard and is natively supported by Claude Code (`--transport http`). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: TylerJNewman <tylerjnewman18@gmail.com>
|
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5880a74c44
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "transport": "sse", | ||
| "url": "http://basic-memory-sidecar.railway.internal:8000/sse" |
There was a problem hiding this comment.
Use streamable HTTP settings in integration example
This client configuration still tells integrators to use "transport": "sse" at /sse, but the sidecar introduced in this commit is started with --transport streamable-http (see Dockerfile.sidecar and docker-compose.sidecar.yml), which serves MCP on /mcp with streamable HTTP semantics. Anyone following this example will fail MCP initialization against the deployed sidecar, so the integration guide now points to a non-working connection setup.
Useful? React with 👍 / 👎.
|
@TylerJNewman Thanks for the PR! Could you sign the CLA when you get a chance? The CLA assistant link should be in the checks below. Also, the Codex review caught that the integration example in the README still references |
Summary
Dockerfile.sidecaranddocker-compose.sidecar.yml--transport http), no proxy neededTest plan
claude mcp add --transport http basic-memory <url>/mcp🤖 Generated with Claude Code