feat: optional shared/external MemPalace + fix validate.yml false-red on base changes
Added: - generate-config.py registers mempalace as a remote MCP endpoint when MEMPALACE_REMOTE_URL is set (MEMPALACE_REMOTE_TOKEN -> Bearer), else the local stdio command as before. Same env contract as pi-devbox's bridge. - docker-compose.mempalace.yml: optional shared server (mempalace-mcp --transport http), loopback-bound by default. - compose (both) + .env.example(.shared): MEMPALACE_REMOTE_URL/TOKEN + local-vs-external docs. Fixed: - validate.yml: skip validate-base/validate-omos on base-changing commits (base-change-warning now exports base_changed). Previously a commit that changed the base AND tightened smoke-test.sh in lockstep (v2.4.0 nano/micro) hard-failed against the stale base-latest until the release rebuilt it. actionlint clean. README + CHANGELOG (Unreleased).
This commit is contained in:
@@ -594,6 +594,28 @@ Add mempalace as an MCP server in your `opencode.jsonc` (inside `~/.config/openc
|
||||
|
||||
This gives opencode access to 29 MCP tools for searching memory, querying the knowledge graph, managing wings/rooms/drawers, and agent diaries.
|
||||
|
||||
### Sharing one palace across containers (external server)
|
||||
|
||||
By default each container runs its own local `mempalace-mcp`. To share **one**
|
||||
palace across several containers/harnesses (pi + opencode + native), run the
|
||||
bundled server and point clients at it:
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.mempalace.yml up -d # serves mempalace-mcp over HTTP
|
||||
```
|
||||
|
||||
Then set in each client's `.env`:
|
||||
|
||||
```bash
|
||||
MEMPALACE_REMOTE_URL=http://<reachable-host>:8765/mcp
|
||||
# MEMPALACE_REMOTE_TOKEN=... # optional; sent as Authorization: Bearer
|
||||
```
|
||||
|
||||
`generate-config.py` then registers mempalace as a `remote` MCP endpoint instead
|
||||
of the local stdio command — no local `mempalace-mcp` is spawned and the
|
||||
`devbox-palace` volume is irrelevant. ⚠ The HTTP transport is **unauthenticated**;
|
||||
keep it on a trusted network or behind a reverse proxy that enforces the token.
|
||||
|
||||
### Basic usage
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user