You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/cli/mcp.md
+22-3Lines changed: 22 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -348,7 +348,8 @@ For broader testing context, see [Testing](/help/testing).
348
348
349
349
## OpenClaw as an MCP client registry
350
350
351
-
This is the `openclaw mcp list`, `show`, `set`, and `unset` path.
351
+
This is the `openclaw mcp list`, `show`, `status`, `probe`, `set`, `tools`,
352
+
and `unset` path.
352
353
353
354
These commands do not expose OpenClaw over MCP. They manage OpenClaw-owned MCP server definitions under `mcp.servers` in OpenClaw config.
354
355
@@ -357,10 +358,15 @@ Those saved definitions are for runtimes that OpenClaw launches or configures la
357
358
<AccordionGroup>
358
359
<Accordiontitle="Important behavior">
359
360
- these commands only read or write OpenClaw config
360
-
- they do not connect to the target MCP server
361
+
- `status`, `list`, `show`, `set`, `tools`, and `unset` do not connect to the target MCP server
362
+
- `probe` connects to the selected server or all configured servers, lists tools, and reports capabilities/diagnostics
361
363
- they do not validate whether the command, URL, or remote transport is reachable right now
362
364
- runtime adapters decide which transport shapes they actually support at execution time
363
365
- embedded OpenClaw exposes configured MCP tools in normal `coding` and `messaging` tool profiles; `minimal` still hides them, and `tools.deny: ["bundle-mcp"]` disables them explicitly
366
+
- per-server `toolFilter.include` and `toolFilter.exclude` filter discovered MCP tools before they become OpenClaw tools
367
+
- servers that advertise resources or prompts also expose utility tools for listing/reading resources and listing/fetching prompts; those generated utility names (`resources_list`, `resources_read`, `prompts_list`, `prompts_get`) use the same include/exclude filter
368
+
- dynamic MCP tool-list changes invalidate the cached catalog for that session; the next discovery/use refreshes from the server
369
+
- repeated MCP tool request/protocol failures pause that server briefly so one broken server does not consume the whole turn
364
370
- session-scoped bundled MCP runtimes are reaped after `mcp.sessionIdleTtlMs` milliseconds of idle time (default 10 minutes; set `0` to disable) and one-shot embedded runs clean them up at run end
-`show` without a name prints the full configured MCP server object.
406
+
-`status` classifies configured transports without connecting.
407
+
-`probe` connects and reports tool counts, resources/prompts support, list-change support, and diagnostics.
397
408
-`set` expects one JSON object value on the command line.
409
+
-`tools` updates per-server tool filters. Include/exclude entries are MCP tool names and simple `*` globs.
398
410
- Use `transport: "streamable-http"` for Streamable HTTP MCP servers. `openclaw mcp set` also normalizes CLI-native `type: "http"` to the same canonical config shape for compatibility.
399
411
-`unset` fails if the named server does not exist.
400
412
@@ -403,7 +415,10 @@ Examples:
403
415
```bash
404
416
openclaw mcp list
405
417
openclaw mcp show context7 --json
418
+
openclaw mcp status
419
+
openclaw mcp probe context7 --json
406
420
openclaw mcp set context7 '{"command":"uvx","args":["context7-mcp"]}'
0 commit comments