Skip to main content
Once connected (with or without auth), the tools, resources, and prompts command groups let you explore and exercise what the server exposes.

Running commands as a host

Add --host <id> to any tools, resources, or prompts command to connect the way a real host would, sending that host’s clientInfo, advertised clientCapabilities, and protocol version in the MCP initialize handshake, exactly as the Inspector Playground does.
Valid host IDs match the presets in the Inspector: claude, chatgpt, cursor, copilot, codex, mcpjam. Tool visibility with --host: tools list --host hides tools whose _meta.ui.visibility is ["app"]. Those are app-only tools the host’s model cannot see. The output includes a host field and a toolsDroppedVisibility count. Hosts that opt out of visibility filtering (such as cursor) keep all tools. tools call --host rejects app-only tools with a usage error; omit --host to call them as an operator. Conflict with --client-capabilities: --host and --client-capabilities both set the exact advertised capabilities and cannot be combined. The CLI exits with a usage error if both are passed.

Tools

List tools

Returns every tool the server exposes, including names, descriptions, and input schemas.

Call a tool

Tool arguments can be inline JSON, @path, - for stdin, or --tool-args-stdin as a shorthand for stdin. The result includes the tool’s response content.
tools call supports --debug-out <path> to capture the full request/response trace for debugging. For stdio targets, the artifact records only the explicit env keys passed through -e/--env; inherited shell variables are not enumerated.

Render a tool result in Inspector

If tools list shows _meta.ui.resourceUri, deprecated _meta["ui/resourceUri"], or openai/outputTemplate in toolsMetadata, the tool has interactive UI. Add --ui to execute it once and render the completed result in Inspector’s Playground:
Without --ui, tools call returns the raw tool result. With --ui, it opens Inspector by default in a TTY and returns an envelope containing the raw result, inspectorBrowserUrl, and compact inspectorRender evidence. inspectorRender.status is the UI signal: rendered means Inspector accepted the render, skipped means the tool succeeded but the active browser client, a render precondition, or the render wait was missing, and error means a non-recoverable Inspector render command failed. inspectorRender.remediation is always present and is one of open_browser, retry, reconnect_server, or none. Skipped renders emit a stable root warning plus inspectorRender.warning with code, message, remediation, and optional browserUrl, hasActiveClient, and inspectorStarted fields. Stable skipped-render codes are no_active_client, timeout, disconnected_server, and unsupported_in_mode. Pass --require-render when a skipped render should become a hard error instead of a warning. Browser automation can open inspectorBrowserUrl itself and pass --no-open; --inspector-url is the local Inspector backend/API base URL. If you already know the Inspector browser/client URL, pass --frontend-url <url> to use it directly and skip health-advertised frontend checks and local dev port discovery. For agent/browser automation, either let --ui open Inspector automatically in a TTY, or open http://127.0.0.1:6274/#playground in the automation browser first and run tools call --ui --no-open --quiet --format json. Add --attach-only when startup, browser opening, and discovery should be disallowed. Agents should confirm inspectorRender.status === "rendered" before assuming the UI is visible, and use inspectorRender.remediation to recover from skipped renders. Default non-TTY --ui runs do not open a browser unless --open is passed. TTY stderr runs print the Playground URL and initial wait message unless --quiet is set; the elapsed-seconds heartbeat only appears when stderr is a TTY. The normal JSON output is compact; pass --debug-out <path> for the full render envelope. For a local stdio server:

Resources

List resources

Read a resource

Use resources read --resource-uri ui://... when you need to inspect raw widget HTML or other UI resources directly.

List resource templates

Prompts

List prompts

Get a prompt

Common patterns

Enumerate the full server surface

Test a specific tool end-to-end

For generated payloads, pipe JSON through stdin:
--tool-args-stdin is equivalent to --tool-args - and cannot be combined with --tool-args or --params in the same command:

Using a credentials file

Instead of passing --access-token to every command, save credentials once and reuse the file:

No-auth servers

For servers that don’t require authentication (like mcp.excalidraw.com/mcp), simply omit the auth flags:
Stdio child processes inherit the parent shell environment by default. Use -e/--env to add values or override inherited ones for local subprocesses.