Distinguishes server `id` (the unique map key in MCPConfig.mcpServers)
from `name` (display label) so containers can dispatch by id without
relying on display strings. ServerCard, ConnectionToggle, ServerListScreen,
and supporting stories all updated.
- ServerCard: add `id` prop; all action callbacks now `(id: string) => void`
- ConnectionToggle: collapse `onConnect`/`onDisconnect` into single `onToggle`
- ServerListScreen: lift `activeServer` to a prop; combine `onSetActive` +
`onToggleConnection` into a single `onToggleConnection(id)` callback
- Stories: use UUIDs for server ids so callbacks visibly carry ids, not names
Removes the "Direct"/"Via Proxy" connection mode concept, which is no
longer planned. ServerSettingsForm drops the section, ServerCard drops
the badge, InspectorServerSettings drops the field.
Removes the "Test Client Features" dropdown from ServerCard along with
its four handlers; that surface will live elsewhere.
TransportBadge now collapses `sse` and `streamable-http` into a single
"HTTP" label; ServerCard adds a grey transport descriptor next to the
badge ("Standard I/O", "SSE (Server Sent Events) [deprecated]",
"Streamable HTTP"). The version badge moves from the header row to sit
beside the transport badge.
ServerCard header no longer wraps; long server names truncate with
ellipsis.
Specification docs (`v2_scope.md`, `v2_screenshots.md`,
`v2_ux_interfaces.md`, `v2_ux_storybook.md`) updated to match.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.2 KiB
3.2 KiB
Inspector V2 Scope
Brief | V1 Problems | V2 Scope | V2 Tech Stack | V2 UX
Table of Contents
- Protocol Features
- OAuth Handling
- Transport Types
- Connection Type
- Logging Level Control
- Copy Server configuration
- Custom Auth-related properties
- Timeout management
- Schema parsing for Elicitation, Tool Input Schemas
- Form inputs vs JSON editor for:
- Proxy server
- Previous Security Fixes
- Server file maintenance
- Plugin architecture
Protocol Features
- Tools
- Resources
- Resource Subscriptions
- Resource Templates
- Prompts
- Elicitation
- Sampling with stubbed response
- Roots
- Logging
- Completions
- Metadata
- Pagination
- resources/list
- resources/templates/list
- prompts/list
- tools/list
- Cancellation (of in progress requests)
- Ping
OAuth Handling
- Quick Flow
- Guided Flow
- Basic (non debugger) Flow
Transport Types
- STDIO
- SSE
- SHTTP
Logging Level Control
- Present and synchronized when connecting to server with logging capability
Copy Server configuration
- As config file server entry
- As config file containing server entry
Custom Auth-related properties
- Custom headers
- Client ID
- Secret
- Scope
Timeout management
- Request timeout
- Request timeout on progress (bool)
- Maximum total timeout
Schema parsing for Elicitation, Tool Input Schemas
- New enum types
- anyOf /oneOf
- $ref
- $defs
Form inputs vs JSON editor for:
- Elicitation, tool input, resource template, and prompt vars, sampling response
- Field types of primitive, object, array
- Nullable field types
- Defaults
Proxy server
- Required for testing STDIO servers and HTTP servers that can’t open up their CORS origin for testing
- Implement a feature configuration file rather than disparate environment variables for everything
- Handle auth flows instead of browser when "via proxy" connection type selected
Previous Security Fixes
- Unique proxy server session token to prevent unauthorized access to the proxy server's ability to execute local processes and connect to MCP servers.
- Bind to localhost by default to prevent DNS rebinding attacks (never 0.0.0.0)
- Fix/validate redirect urls for http/https scheme only in auth flow
Server file maintenance
- Opening screen similar to MCPJam servers list
- Adding, changing, and deleting a server would hit endpoints on the proxy server update the inspector’s servers.json config file
Plugin architecture
- Allow third parties to extend the Inspector with functionality we do not wish to maintain, but which would still be useful to developers within the context of the Inspector, e.g., LLMs, evals, OpenAI Apps SDK playground