The community fix wave, rebased onto 0.50.0.0: every open community PR triaged and every open issue verified against master. 21 contributor pull requests adopted or reworked with credit, 35 verified open issues fixed directly, and a hostile review pass over the composed branch (composite review of the wave, /ship review army with 8 specialists + Claude adversarial, five Codex structured-review rounds until 0 findings). Every adopted fix carries a regression test proven red before the fix; the composed collector ran the full unit suite, `verify`, and the e2e lane, and CI is green on the merged head. Behavior changes (38, all listed under "Behavior changes" in the CHANGELOG): sync --json emits one JSON document with cost_gate nested; sweep-only sync reports synced/deleted; dream --dry-run skips the take/grade/calibration phases; context_pack/delta honor budget_tokens on the rendered text and delta never budget-drops threads; codex rollouts import one page per thread; config set registers exactly the search.* keys the search path reads; remote search/query report degraded: [safe_index_pending] before reindex; syncEnabled: false sources are no longer auto-synced; new sync.include_hidden key; migrateFactsToCanonical renumbers past the canonical page's max row_num; stall-aborted embed drains fail the phase. No new schema migration. Follow-ups filed in TODOS.md under "Community fix wave follow-ups". Co-Authored-By: IvanPham03 <IvanPham03@users.noreply.github.com> Co-Authored-By: Jey2311 <Jey2311@users.noreply.github.com> Co-Authored-By: LongPV <LongPV@users.noreply.github.com> Co-Authored-By: Masashi-Ono0611 <Masashi-Ono0611@users.noreply.github.com> Co-Authored-By: chris-conte <chris-conte@users.noreply.github.com> Co-Authored-By: dov-kela <dov-kela@users.noreply.github.com> Co-Authored-By: ethanbeard <ethanbeard@users.noreply.github.com> Co-Authored-By: garrytan-agents <garrytan-agents@users.noreply.github.com> Co-Authored-By: howardpark <howardpark@users.noreply.github.com> Co-Authored-By: janusch <janusch@users.noreply.github.com> Co-Authored-By: javieraldape <javieraldape@users.noreply.github.com> Co-Authored-By: jeanpierre121 <jeanpierre121@users.noreply.github.com> Co-Authored-By: markkasdorf <markkasdorf@users.noreply.github.com> Co-Authored-By: morven-ai <morven-ai@users.noreply.github.com> Co-Authored-By: ofroiland <ofroiland@users.noreply.github.com> Co-Authored-By: ozp <ozp@users.noreply.github.com> Co-Authored-By: pavelpp-topia <pavelpp-topia@users.noreply.github.com> Co-Authored-By: proxynico <proxynico@users.noreply.github.com> Co-Authored-By: sheelcheyne <sheelcheyne@users.noreply.github.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2.9 KiB
Connect GBrain to OpenClaw
This page is the MCP-registration reference card. For the full brain install — CLI, engine, skills, dream cycle — follow INSTALL_FOR_AGENTS.md; the README covers the bootstrap and connect paths.
Two supported shapes, both stdio.
Option 1: ClawHub bundle plugin
GBrain ships openclaw.plugin.json at the repo
root. Installing the bundle plugin registers the MCP server for you — the
manifest carries an mcpServers.gbrain entry that runs the bundled
.agents/gbrain-launcher serve (the same launcher the Codex and Claude Code
plugins use; it resolves your installed gbrain via GBRAIN_BIN, then
~/.bun/bin/gbrain, then PATH, so it works under launchd's bare PATH and
never needs a build step) plus the bundled skills — and declares the
gbrain-context context engine. To route OpenClaw's context-engine slot
through gbrain, two steps, in this order:
-
Install and enable the plugin by its own id,
gbrain-context-engine(theidinopenclaw.plugin.json). -
Set the slot to the engine id the plugin registers:
plugins.slots.contextEngine = gbrain-context
The slot value is the engine id, not the plugin id, so setting the slot alone does not activate the plugin — and an unregistered engine falls back to OpenClaw's default silently. Do step 1 first.
Option 2: openclaw mcp add
OpenClaw keeps MCP servers under mcp.servers in ~/.openclaw/openclaw.json
(openclaw config schema shows the key path). Register gbrain with the CLI:
openclaw mcp add gbrain --command "$(command -v gbrain)" --arg serve --env GBRAIN_HOME=$HOME
Use an absolute --command path: the launchd-started gateway's PATH does
not include ~/.bun/bin, so a bare gbrain fails to spawn. --env is
optional: a PGLite brain needs no DATABASE_URL
(--env DATABASE_URL=postgresql://... for Postgres), and GBRAIN_HOME only
matters when the brain home isn't ~/.gbrain. For the seven-verb memory
protocol (MEMORY_VERBS v1) instead of the
full operation catalog, pass --surface verbs as additional --arg values
(check openclaw mcp add --help for your version's spelling).
Leave GBRAIN_SOURCE unset in the MCP env unless you deliberately want
single-source retrieval: a pin scopes every tool (search, get_brain_identity
counts, …) to that one source, and nothing warns on reads.
Verify
openclaw mcp list should show gbrain. Then start an agent turn and ask it
to use the brain:
Call get_brain_identity, then search my brain for [topic].
If the tools respond, the wiring works. list_skills shows everything the
brain can do (gated by mcp.publish_skills on the host).
Remove
Delete mcp.servers.gbrain from ~/.openclaw/openclaw.json (or run
openclaw mcp remove gbrain if your version has it), or uninstall the bundle
plugin.