ext-apps/examples/debug-server
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Olivier Chafik 5bbf277882
chore: bump ext-apps to 1.1.0 (#485)
* chore: bump ext-apps to 1.1.0

Features:
- registerAppResource now returns the registered resource (#370)
- Accept UIResourceMeta in both resources/list and resources/read (#410)
- callServerTool throws helpful error when called with a string (#449)
- Add double-connect guard to prevent protocol message handling errors (#450)

Bug fixes:
- Only ignore messages that lack jsonrpc 2.0 in message-transport (#448)
- Align basic-host dark mode styles (#438)

Spec:
- Change Host <> Sandbox communication protocol to SHOULD (#435)
- Clarify UIResourceMeta in both list and read responses (#410)

* fix(debug-server): add missing npm package config (main, bin, types, exports)

Align debug-server package.json with all other server examples:
- main: dist/server.js (was server.ts)
- types: dist/server.d.ts
- bin: mcp-server-debug -> dist/index.js
- exports with types
- files: only dist (remove source server.ts)
2026-02-22 01:18:47 +00: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 server startup functions 2026-01-24 09:27:54 -06:00
mcp-app.html feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00:00
package.json chore: bump ext-apps to 1.1.0 (#485) 2026-02-22 01:18:47 +00: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 feat(debug-server): add interactive debug server example (#321) 2026-01-23 12:39:40 +00: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.