refactor(agents): share bundle MCP config merging

This commit is contained in:
Peter Steinberger
2026-04-25 21:36:18 +01:00
parent c3a3ceefbe
commit dcfd5913fd
11 changed files with 486 additions and 269 deletions

View File

@@ -384,6 +384,11 @@ Important behavior:
milliseconds of idle time (default 10 minutes; set `0` to disable) and
one-shot embedded runs clean them up at run end
Runtime adapters may normalize this shared registry into the shape their
downstream client expects. For example, embedded Pi consumes OpenClaw
`transport` values directly, while Claude Code and Gemini receive CLI-native
`type` values such as `http`, `sse`, or `stdio`.
## Saved MCP server definitions
OpenClaw also stores a lightweight MCP server registry in config for surfaces

View File

@@ -164,6 +164,18 @@ OPENCLAW_LIVE_CLI_BACKEND=1 \
pnpm test:live src/gateway/gateway-cli-backend.live.test.ts
```
Cheap Gemini MCP config smoke:
```bash
OPENCLAW_LIVE_TEST=1 \
pnpm test:live src/agents/cli-runner/bundle-mcp.gemini.live.test.ts
```
This does not ask Gemini to generate a response. It writes the same system
settings OpenClaw gives Gemini, then runs `gemini --debug mcp list` to prove a
saved `transport: "streamable-http"` server is normalized to Gemini's HTTP MCP
shape and can connect.
Docker recipe:
```bash