Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion specification/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Inspector V2 Brief

### Brief | [V1 Problems](v1_problems.md) | [V2 Scope](v2_scope.md) | [V2 Tech Stack](v2_tech_stack.md) | [V2 UX](v2_ux.md)
### Brief | [V1 Problems](v1_problems.md) | [V2 Scope](v2_scope.md) | [V2 Tech Stack](v2_tech_stack.md)
### UX: [Overview](v2_ux.md) | [Features](v2_ux_features.md) | [Handlers](v2_ux_handlers.md) | [Screenshots](v2_screenshots.md)

## Table of Contents
* [Motivation and Context](#motivation-and-context)
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added specification/screenshots/shadcn-history.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added specification/screenshots/shadcn-logs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added specification/screenshots/shadcn-polish-tools.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added specification/screenshots/shadcn-prompts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added specification/screenshots/shadcn-resources.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added specification/screenshots/shadcn-roots-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added specification/screenshots/shadcn-serverlist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added specification/screenshots/shadcn-tasks.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added specification/screenshots/shadcn-tools.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion specification/v1_problems.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Inspector V1 Problems

### [Brief](README.md) | V1 Problems | [V2 Scope](v2_scope.md) | [V2 Tech Stack](v2_tech_stack.md) | [V2 UX](v2_ux.md)
### [Brief](README.md) | V1 Problems | [V2 Scope](v2_scope.md) | [V2 Tech Stack](v2_tech_stack.md)
### UX: [Overview](v2_ux.md) | [Features](v2_ux_features.md) | [Handlers](v2_ux_handlers.md) | [Screenshots](v2_screenshots.md)

## Table of Contents
* [Monolithic components](#monolithic-components)
Expand Down
3 changes: 2 additions & 1 deletion specification/v2_scope.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Inspector V2 Scope

### [Brief](README.md) | [V1 Problems](v1_problems.md) | V2 Scope | [V2 Tech Stack](v2_tech_stack.md) | [V2 UX](v2_ux.md)
### [Brief](README.md) | [V1 Problems](v1_problems.md) | V2 Scope | [V2 Tech Stack](v2_tech_stack.md)
### UX: [Overview](v2_ux.md) | [Features](v2_ux_features.md) | [Handlers](v2_ux_handlers.md) | [Screenshots](v2_screenshots.md)

## Table of Contents
* [Protocol Features](#protocol-features)
Expand Down
111 changes: 111 additions & 0 deletions specification/v2_screenshots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# Inspector V2 UX - Visual Reference

### [Brief](README.md) | [V1 Problems](v1_problems.md) | [V2 Scope](v2_scope.md) | [V2 Tech Stack](v2_tech_stack.md)
### UX: [Overview](v2_ux.md) | [Features](v2_ux_features.md) | [Handlers](v2_ux_handlers.md) | Screenshots

---

This document provides visual screenshots from the **Shadcn UI prototype** (`v2/prototype/shadcn`). These complement the ASCII wireframes in the UX specification documents.

**Note:** The V2 implementation will use **Mantine** (see [V2 Tech Stack](v2_tech_stack.md#mantine-rationale)). These Shadcn screenshots remain as historical reference showing how the UX spec translates to a working UI. The Mantine implementation will have the same screens and functionality with slightly different visual styling.

## Table of Contents
* [Server List](#server-list)
* [Server Modals](#server-modals)
* [Feature Screens](#feature-screens)
* [Client Feature Handlers](#client-feature-handlers)

---

## Server List

The home screen showing server connection cards in a responsive grid.

![Server List](screenshots/shadcn-serverlist.png)

### Add Server Dropdown
Options for adding a new server (manual, import config, import server.json).

![Add Server Dropdown](screenshots/shadcn-addserver-dropdown.png)

---

## Server Modals

### Server Settings Modal
Per-server configuration including connection mode, headers, metadata, timeouts, and OAuth settings.

![Server Settings Modal](screenshots/shadcn-settings-modal.png)

### Server Info Modal
Displays server/client capabilities, protocol version, and server instructions.

![Server Info Modal](screenshots/shadcn-serverinfo-modal.png)

---

## Feature Screens

### Tools Screen
Tool list with annotations (user, read-only, destructive, long-running), parameter form, and results panel.

![Tools Screen](screenshots/shadcn-tools.png)

### Resources Screen
Accordion layout with Resources, Templates, and Subscriptions sections.

![Resources Screen](screenshots/shadcn-resources.png)

### Prompts Screen
Prompt selection, argument form with autocomplete, and message result display.

![Prompts Screen](screenshots/shadcn-prompts.png)

### Logging Screen
Real-time log stream with all 8 RFC 5424 log levels, color-coded by severity.

![Logging Screen](screenshots/shadcn-logs.png)

### Tasks Screen
Active and completed tasks with progress bars and status indicators.

![Tasks Screen](screenshots/shadcn-tasks.png)

### History Screen

Request history with replay and pin functionality.

![History Screen](screenshots/shadcn-history.png)

---

## Client Feature Handlers

### Test Client Features Dropdown
Menu for testing client capabilities (Sampling, Elicitation, Roots).

![Client Features Dropdown](screenshots/shadcn-clientfeatures-dropdown.png)

### Sampling Panel
Handler for `sampling/createMessage` requests with mock response input.

![Sampling Panel](screenshots/shadcn-sampling-panel.png)

### Elicitation Form
Form-based handler for `elicitation/create` requests with JSON Schema-generated fields.

![Elicitation Form](screenshots/shadcn-elicitation-form.png)

### Roots Configuration
Configure filesystem roots exposed to the connected server.

![Roots Configuration](screenshots/shadcn-roots-config.png)

---

## Notes

- All screenshots are from the `v2/prototype/shadcn` branch (historical reference)
- The actual V2 implementation will use Mantine (`v2/prototype/mantine`)
- Dark theme is supported throughout the application (toggle in header)
- Screenshots may not reflect the latest implementation - refer to wireframes for authoritative UX
55 changes: 51 additions & 4 deletions specification/v2_tech_stack.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Inspector V2 Tech Stack

### [Brief](README.md) | [V1 Problems](v1_problems.md) | [V2 Scope](v2_scope.md) | V2 Tech Stack | [V2 UX](v2_ux.md)
### [Brief](README.md) | [V1 Problems](v1_problems.md) | [V2 Scope](v2_scope.md) | V2 Tech Stack
### UX: [Overview](v2_ux.md) | [Features](v2_ux_features.md) | [Handlers](v2_ux_handlers.md) | [Screenshots](v2_screenshots.md)

## Table of Contents
* [Web Client](#web-client)
Expand All @@ -18,9 +19,55 @@
* React

### Components and Theme
Let's choose a feature-rich component set with easy theming control
* -[ ] [Mantine](https://ui.mantine.dev/)
* -[ ] [Shadcdn](https://ui.shadcn.com/)
* -[x] [Mantine](https://ui.mantine.dev/)
* -[ ] [Shadcn](https://ui.shadcn.com/)

#### Mantine Rationale

Mantine is recommended based on evaluation of both prototype implementations (`v2/prototype/shadcn` and `v2/prototype/mantine`) and group discussion.

**Notes from Prototype Comparison:**

Shadcn lacks layout components, requiring extensive Tailwind class management for containers, spacing, and alignment. This adds friction and cognitive load, based on our experiences with the current Inspector. Mantine's layout components (`Flex`, `Stack`, etc.) make the code more concise and easier to understand.

Although the code may be less directly customizable, we don't expect extensive theming or branding to be a priority for Inspector as a debugging tool.

See [PR #980 discussion](https://github.com/modelcontextprotocol/inspector/pull/980#issuecomment-3667102518) for example code comparison.

| Requirement | Mantine | Shadcn |
|-------------|---------|--------|
| Layout components | Yes - Flex, Stack, Group, Grid | No - Use Tailwind divs |
| Out-of-box experience | Yes - Comprehensive | Partial - Assemble yourself |
| Code verbosity | Concise JSX props | Verbose Tailwind classes |
| Styling approach | Props + theme config | Tailwind utility classes |
| Documentation | Extensive API docs | Component examples |

**Benefits:**

1. **Built-in Layout Components** - Mantine provides layout primitives as JSX components:
- `Flex`, `Stack`, `Group`, `Grid`, `Center`, `Container`
- No need to manage `div` elements with Tailwind classes
- More declarative, readable code

2. **Reduced Class Management** - Compare the same UI element:
```tsx
// Mantine - concise
<Alert icon={<IconAlertTriangle />} color="yellow" title="Warning">
{message}
</Alert>

// Shadcn + Tailwind - verbose class strings
<div className="flex items-start gap-3 rounded-lg border border-yellow-200
bg-yellow-50 p-4 text-yellow-800 dark:border-yellow-900 dark:bg-yellow-950
dark:text-yellow-200">
<IconAlertTriangle className="h-5 w-5 flex-shrink-0" />
<div className="flex-1"><p className="font-medium">Warning</p>{message}</div>
</div>
```

3. **Better Out-of-Box Experience**:
- Single install provides all components
- Consistent API across all components

## Proxy Server
### Language and Runtime
Expand Down
Loading