Describe the bug
In v1 Inspector, when a tool returns both content and structuredContent
(i.e. the tool registers an outputSchema), the Tools screen displayed both:
- the
content[] text/image blocks
- a dedicated collapsible JSON tree for
structuredContent, which was
extremely useful for inspecting deeply nested objects and arrays field by field
In v2, structuredContent is silently dropped from the UI. Only the
content[] blocks are rendered. There is no indication that structured output
exists, and no way to inspect it in the Tools screen.
To Reproduce
Steps to reproduce the behavior:
- Create a simple MCP server with a tool that has an
outputSchema and
returns both content and structuredContent, e.g.:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
const server = new McpServer({ name: "example", version: "1.0.0" });
const ItemSchema = z.object({
id: z.number(),
name: z.string(),
tags: z.array(z.string()),
});
const ResultSchema = z.object({
items: z.array(ItemSchema),
total: z.number(),
});
server.registerTool(
"list_items",
{
title: "List Items",
description: "Returns a list of items with structured output",
inputSchema: {},
outputSchema: ResultSchema.shape,
},
async () => {
const result = {
items: [
{ id: 1, name: "Item A", tags: ["foo", "bar"] },
{ id: 2, name: "Item B", tags: ["baz"] },
],
total: 2,
};
return {
content: [
{
type: "text",
text: "Found 2 items.",
},
],
structuredContent: result,
};
},
);
{
"items": [
{ "id": 1, "name": "Item A", "tags": ["foo", "bar"] },
{ "id": 2, "name": "Item B", "tags": ["baz"] }
],
"total": 2
}
Expected behavior
The result panel should display both:
The content[] text block: "Found 2 items."
A dedicated "Structured Output" section rendering structuredContent
as a collapsible / inspectable JSON tree, e.g.:
Actual behavior
Only the content[] text block ("Found 2 items.") is shown in the result
panel. structuredContent is not rendered anywhere. There is no label,
section, or hint that structured output was returned at all.
Describe the bug
In v1 Inspector, when a tool returns both
contentandstructuredContent(i.e. the tool registers an
outputSchema), the Tools screen displayed both:content[]text/image blocksstructuredContent, which wasextremely useful for inspecting deeply nested objects and arrays field by field
In v2,
structuredContentis silently dropped from the UI. Only thecontent[]blocks are rendered. There is no indication that structured outputexists, and no way to inspect it in the Tools screen.
To Reproduce
Steps to reproduce the behavior:
outputSchemaandreturns both
contentandstructuredContent, e.g.:{ "items": [ { "id": 1, "name": "Item A", "tags": ["foo", "bar"] }, { "id": 2, "name": "Item B", "tags": ["baz"] } ], "total": 2 }Expected behavior
The result panel should display both:
The content[] text block: "Found 2 items."
A dedicated "Structured Output" section rendering structuredContent
as a collapsible / inspectable JSON tree, e.g.:
Actual behavior
Only the content[] text block ("Found 2 items.") is shown in the result
panel. structuredContent is not rendered anywhere. There is no label,
section, or hint that structured output was returned at all.