TheDocumentation Index
Fetch the complete documentation index at: https://mcpjam-mintlify-docs-update-pr-1946-1777273189104.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
apps conformance command validates the server-side MCP Apps surface your server exposes through tools and ui:// resources.
The apps debug command executes one app tool and can drive the local Inspector App Builder to render the resulting UI. Together, these commands cover MCP Apps triage, CI checks, fast regression detection, and local render reproduction.
This is currently server-side MCP Apps conformance only. A passing run does
not prove full SEP-1865 host behavior such as
ui/initialize,
ui/notifications/tool-input ordering, sandbox proxy behavior, or host
display-mode handling.Quick start
What it checks
The current runner validates:- MCP Apps tools are present.
- Tool metadata uses valid
_meta.ui.resourceUriandvisibilityvalues. - Tool
inputSchemais a non-null JSON Schema object. - Listed UI resources use
ui://URIs andtext/html;profile=mcp-app. - Referenced UI resources can be fetched with
resources/read. - Resource contents provide exactly one HTML payload via
textorblob. _meta.ui.csp,permissions,domain, andprefersBorderuse valid shapes.
Example output
Suite runner
Useapps conformance-suite when you want a named CI matrix from a config file.
Example config:
target uses the same shared server shape as the rest of the CLI, so it can point at either:
- an HTTP target with
url - a stdio target with
command, optionalargs, optionalenv, and optionalcwd
Categories and check ids
Two categories are available:toolsresources
ui-tools-presentui-tool-metadata-validui-tool-input-schema-validui-listed-resources-validui-resources-readableui-resource-contents-validui-resource-meta-valid
--category to run a subset by category, or --check-id to run specific checks.
If you pass both
--category and --check-id, the explicit --check-id
selection wins.Debug one app render
Useapps debug when a conformance result is not enough and you need to inspect the output of one MCP App tool call.
Without --ui, the command executes the tool through the SDK and returns structured JSON with:
tools: how many tools were listed and whether the requested tool was foundtoolMetadataandui: the metadata used to identify MCP Apps or OpenAI Apps UI resourcesexecution: the actual tool result
--ui, the CLI starts or attaches to the local Inspector, connects the target server, opens App Builder, injects the already-completed tool result, and requests a UI snapshot.
apps debug --ui executes the server tool once. Inspector receives the
completed result through renderToolResult, so the UI render path does not
call the tool a second time.success: false with an error, check whether the failure came from execution or from inspectorRender. A render failure can coexist with a successful tool execution.
Large tool results can appear in execution, the render command result, and the final snapshot. Use --out <path> when sharing artifacts with agents, issue trackers, or CI logs.
Shared connection flags
apps conformance and apps debug use the same shared target flags as the rest of the CLI:
| Flag | Description |
|---|---|
--transport <transport> | Explicit transport type (http or stdio) |
--url <url> | HTTP MCP server URL |
--access-token <token> | Bearer access token |
--oauth-access-token <token> | OAuth bearer access token |
--refresh-token <token> | OAuth refresh token |
--client-id <id> | OAuth client ID (with --refresh-token) |
--client-secret <secret> | OAuth client secret (with --refresh-token) |
--header <header> | HTTP header in Key: Value format (repeatable) |
--client-capabilities <json> | Client capabilities JSON object |
--command <command> | Command for a stdio server |
--args <arg...> | Preferred stdio command arguments |
--command-args <arg> | Legacy stdio command argument (repeatable) |
-e, --env <env...> | Stdio environment KEY=VALUE values |
--cwd <path> | Working directory for the stdio child process |
-e/--env to add values or override inherited ones when the app server needs
project-specific configuration.
--transport is optional; without it, --url implies HTTP and --command
implies stdio.
Notes
- The runner always advertises the MCP Apps UI extension capability so servers do not hide their MCP Apps surface when custom client capabilities are provided.
- Deprecated
_meta["ui/resourceUri"]is accepted but reported as a warning. - Tool name SHOULD validations (length, character set, uniqueness) surface as warnings, not failures.
permissionsare validated against the SEP-1865 object shape, for examplegeolocation: {}instead of booleans.- Exit codes are CI-friendly:
0when all selected checks pass,1when any check fails, and2for invalid command usage or config files.
Related commands
- Server inspection for breadth-first connectivity and capability triage
- Tools, resources & prompts for direct connected checks
- Command reference for the full flag list

