ext-apps/examples/debug-server
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Olivier Chafik 1a713173cc
Migrate to MCP SDK 2.0 with official Protocol and isolated role peers (#720)
App and AppBridge extend the public Protocol from @modelcontextprotocol/client; the iframe wire protocol (ui/initialize only) is unchanged. Peers move to the split SDK 2.0 packages with client and server as optional role peers. Fixups (lockfile, peer ranges, restored handler guards, docs, wire-compat tests) follow in a separate PR.

Co-authored-by: Andrew Khadder <andrew@manufact.com>
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
Closes #702
2026-09-08 12:44:49 +01:00
..
src feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00:00
.gitignore feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00:00
grid-cell.png feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00:00
main.ts refactor: finish MCP SDK v2 migration 2026-07-14 17:07:30 -07:00
mcp-app.html feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00:00
package.json Migrate to MCP SDK 2.0 with official Protocol and isolated role peers (#720) 2026-09-08 12:44:49 +01:00
README.md feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00:00
screenshot.png feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00:00
server.ts refactor: finish MCP SDK v2 migration 2026-07-14 17:07:30 -07:00
tsconfig.json feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00:00
tsconfig.server.json feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00:00
vite.config.ts feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00:00

Debug Server

A comprehensive testing/debugging tool for the MCP Apps SDK that exercises every capability, callback, and result format combination.

Tools

debug-tool

Configurable tool for testing all result variations:

Parameter Type Default Description
contentType "text" | "image" | "audio" | "resource" | "resourceLink" | "mixed" "text" Content block type to return
multipleBlocks boolean false Return 3 content blocks
includeStructuredContent boolean true Include structuredContent in result
includeMeta boolean false Include _meta in result
largeInput string - Large text input (tests tool-input-partial)
simulateError boolean false Return isError: true
delayMs number - Delay before response (ms)

debug-refresh

App-only tool (hidden from model) for polling server state. Returns current timestamp and call counter.

App UI

The debug app provides a dashboard with:

  • Event Log: Real-time log of all SDK events with filtering
  • Host Info: Context, capabilities, container dimensions, styles
  • Callback Status: Table of all callbacks with call counts
  • Actions: Buttons to test every SDK method:
    • Send messages (text/image)
    • Logging (debug/info/warning/error)
    • Model context updates
    • Display mode requests
    • Link opening
    • Resize controls
    • Server tool calls
    • File operations

Usage

# Build
npm run --workspace examples/debug-server build

# Run standalone
npm run --workspace examples/debug-server serve

# Run with all examples
npm start

Then open http://localhost:8080/basic-host/ and select "Debug MCP App Server" from the dropdown.