5 of 6 standards met
This draft PR introduces a shared code architecture that enables code reuse across the MCP Inspector's CLI, TUI, and web client interfaces. This addresses the feature drift and maintenance burden caused by the CLI and web client maintaining separate implementations, with immediate code sharing across the CLI and TUI, and planned support for the web client (v2). What's Included 1. TUI Integration Integrated the TUI from as a first-class workspace TUI is accessible via flag Currently experimental; feature gaps include OAuth, completions, elicitation, and sampling 2. Shared Package () Created internal workspace package for shared MCP client code Includes - a comprehensive wrapper around the MCP SDK that manages: Client and transport lifecycle Message tracking and stderr logging Server data management (tools, resources, prompts) Event-driven updates via (cross-platform compatible) High-level MCP method wrappers with automatic parameter conversion 3. CLI Migration Migrated CLI to use from shared package Consolidated CLI helper functions into methods Removed duplicate code (CLI transport implementation, directory, etc) All CLI tests passing 4. Shared React Code hook for reactive state management Works in both TUI and v2 web client (future) Subscribes to events and provides reactive React state Architecture The shared package includes: MCP client/server interaction (, transport creation, config loading) Shared React code (hooks, components, etc.) JSON utilities for parameter conversion Test fixtures and harness servers Both CLI and TUI now use the same implementation, ensuring consistent behavior and eliminating code duplication (both apps are now thin UX-only implementations). Next Steps Phase 4: TUI Feature Gap Implementation (Planned) Address TUI feature gaps (OAuth, completions, elicitation, sampling) by extending This dual-purpose approach: brings TUI to feature parity while preparing for v2 web client integration When complete, will be very close to ready for full v2 web client support Phase 5: v2 Web Client Integration (Planned) Integrate with the v2 web client once Phase 4 is complete and v2 web client is ready Update and other shared code as required to support v2 while maintaining CLI and TUI compatability Documentation See (included in this PR) for: Complete architecture overview capabilities and API Integration history and current usage patterns Detailed web client integration plan Testing All CLI tests passing TUI tested with test harness servers TypeScript Project References ensure correct build ordering CI workflow updated to build shared package first This is a draft PR for review. Feedback welcome on the architecture and integration approach.
Summary Bumps the monorepo version from to across all packages. Type of Change [x] Build/CI improvements Changes Made Updated field to in , , , and Updated workspace dependency references in root to Regenerated via All changes applied via and verified with . Related Issues Testing [ ] Tested in UI mode [ ] Tested in CLI mode [ ] Tested with STDIO transport [ ] Tested with SSE transport [ ] Tested with Streamable HTTP transport [ ] Added/updated automated tests [x] Manual testing performed Test Results and/or Instructions passes โ all 4 packages at , workspace deps and lock file in sync. Checklist [x] Code follows the style guidelines (ran ) [x] Self-review completed [ ] Code is commented where necessary [ ] Documentation updated (README, comments, etc.) Breaking Changes None. Additional Context None. Original prompt This section details on the original issue you should resolve* Bump version to 0.21.1 Bump version to 0.21.1 Use the npm script to verify that versions have been updated correctly ## Comments on the Issue (you are @copilot in this section) Fixes modelcontextprotocol/inspector#1115 ๐ก You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.
Repository: modelcontextprotocol/inspector. Description: Visual testing tool for MCP servers Stars: 8848, Forks: 1184. Primary language: TypeScript. Languages: TypeScript (91.1%), JavaScript (7.7%), HTML (0.8%), CSS (0.3%), Dockerfile (0.1%). Homepage: https://modelcontextprotocol.io Latest release: 0.21.1 (1d ago). Open PRs: 59, open issues: 129. Last activity: 1d ago. Community health: 87%. Top contributors: olaservo, cliffhall, jspahrsummers, ashwin-ant, richardkmichael, msabramo, felixweinberger, jerome3o-anthropic, pulkitsharma07, dsp-ant and others.
TypeScript
Last 12 weeks ยท 116 commits
Summary Bug: Guided OAuth Flow Step 2 was displaying cached from sessionStorage without making an actual DCR network request. Users saw stale data and couldn't verify that DCR was working correctly. Fix: Clear the cached DCR client info when starting the Guided OAuth Flow so Step 2 always performs a fresh registration. Quick OAuth Flow is unaffected. UX improvement: Replace the immediate "Clear OAuth State" button with a confirmation dialog that offers an optional checkbox to also clear the registered DCR client information. This prevents accidental state loss. Also fixes a pre-existing test parse error (Babel in mock factory). Depends on: #1121 (preserve DCR client info on disconnect). This PR includes that change as its base commit. Please merge #1121 first. Test plan [x] passes [x] passes [x] passes (new and existing tests) [ ] Manual test: open Guided OAuth Flow โ Step 2 should always make a fresh DCR request [ ] Manual test: click "Clear OAuth State" โ should show confirmation dialog with DCR checkbox