From 7a2c718c2784c4a22d70b273348dd3e938380b68 Mon Sep 17 00:00:00 2001 From: Angelo Giacco Date: Tue, 7 Apr 2026 16:23:53 +0100 Subject: [PATCH] fix: migrate remaining examples to nested _meta.ui.resourceUri format --- examples/map-server/server.ts | 3 +-- examples/qr-server/server.py | 2 +- examples/transcript-server/server.ts | 3 +-- src/server/index.ts | 2 +- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/examples/map-server/server.ts b/examples/map-server/server.ts index b36db931f..24b5c7825 100644 --- a/examples/map-server/server.ts +++ b/examples/map-server/server.ts @@ -18,7 +18,6 @@ import { registerAppTool, registerAppResource, RESOURCE_MIME_TYPE, - RESOURCE_URI_META_KEY, } from "@modelcontextprotocol/ext-apps/server"; import { startServer } from "./server-utils.js"; @@ -173,7 +172,7 @@ export function createServer(): McpServer { .optional() .describe("Optional label to display on the map"), }, - _meta: { [RESOURCE_URI_META_KEY]: RESOURCE_URI }, + _meta: { ui: { resourceUri: RESOURCE_URI } }, }, async ({ west, south, east, north, label }): Promise => ({ content: [ diff --git a/examples/qr-server/server.py b/examples/qr-server/server.py index 3866f9bdc..8db9c5c47 100644 --- a/examples/qr-server/server.py +++ b/examples/qr-server/server.py @@ -20,7 +20,7 @@ mcp = FastMCP("QR Server", port=PORT, stateless_http=True) -@mcp.tool(meta={"ui/resourceUri": WIDGET_URI}) +@mcp.tool(meta={"ui": {"resourceUri": WIDGET_URI}}) def generate_qr( text: str, box_size: int = 10, diff --git a/examples/transcript-server/server.ts b/examples/transcript-server/server.ts index b4cdd09d4..14429f213 100644 --- a/examples/transcript-server/server.ts +++ b/examples/transcript-server/server.ts @@ -10,7 +10,6 @@ import { registerAppTool, registerAppResource, RESOURCE_MIME_TYPE, - RESOURCE_URI_META_KEY, } from "@modelcontextprotocol/ext-apps/server"; import { startServer } from "./server-utils.js"; @@ -35,7 +34,7 @@ export function createServer(): McpServer { description: "Opens a live speech transcription interface using the Web Speech API.", inputSchema: {}, - _meta: { [RESOURCE_URI_META_KEY]: RESOURCE_URI }, + _meta: { ui: { resourceUri: RESOURCE_URI } }, }, async (): Promise => { return { diff --git a/src/server/index.ts b/src/server/index.ts index df7a36e5d..6ed73df2a 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -94,7 +94,7 @@ export interface McpUiAppResourceConfig extends ResourceMetadata { * description: "Get current weather for a location", * inputSchema: { location: z.string() }, * _meta: { - * [RESOURCE_URI_META_KEY]: "ui://weather/widget.html", + * ui: { resourceUri: "ui://weather/widget.html" }, * }, * }, async (args) => { * const weather = await fetchWeather(args.location);