You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Tools tab: form rows for array-of-object inputs (currently JSON editor only) #2561
Tool inputs that are an array of objects — e.g. a list of line items — always render as a raw JSON editor in the Tools tab (SchemaForm sends any array that isn't a string-enum or const-option array to the JSON fallback). The editor gives no hint of the item shape: no field names, types, required fields or descriptions, although all of them are in the schema. You have to read the schema elsewhere to know what to type, and these list-shaped inputs are often a tool's most important argument.
Example input schema (as emitted by Rust schemars; Pydantic and reused Zod schemas produce the same $defs/$ref shape):
Today items shows as an empty JSON editor. Seen on @modelcontextprotocol/inspector 2.8.0 (web), over both stdio and Streamable HTTP.
Solution you have in mind (optional)
Render an array whose items is an object schema (inline or via a local $ref) as a list of rows with add/remove, each row using the same indented sub-form SchemaForm already renders for nested objects — field labels, types, required markers and descriptions.
If a full row editor is too much for a first step, either of these would already help:
show the resolved item schema (fields, types, required, descriptions) alongside the JSON editor, or
pre-fill the editor with a template built from the item schema, e.g. [{"sku": "", "quantity": 0}].
Alternatives or workarounds you have tried
Hand-writing the JSON array after reading the input schema in the Protocol tab or in the server's source. It works, but it is slow and error-prone, especially for required nested fields.
Already built it locally?
No
Before you submit
I searched existing issues and this is not a duplicate.
This is a request for the Inspector itself, not for the MCP specification or an SDK.
Activity
cliffhall commentedon Oct 12, 2026
Triage: Priority Low (total 5)
Board: #28, Status
Incoming(awaiting maintainer review — no milestone yet).fix(web): seed array-of-object rows together and name each row (#2561)
fix(web): seed array-of-object rows recursively and per branch (#2561)
cliffhall commentedon Oct 12, 2026
Shipped in #2707 (merged to
v2/main).ashokjayaprakash commentedon Oct 14, 2026
@cliffhall Thank you for the prompt solution and fixes. Appreciate your support!!!
feat(web): form rows for array-of-object tool inputs (modelcontextpro…