Skip to content

Conversation

@carlos-gn
Copy link
Contributor

@carlos-gn carlos-gn commented Jan 20, 2026

Summary

  • Add new --interactive / -i flag to thv run command that launches a step-by-step TUI wizard
  • Implement 5-step guided flow: Server Source → Server Selection → Transport → Advanced Options → Preview
  • Support 4 server sources: registry servers, container images, protocol schemes (uvx://, npx://, go://), and
    remote URLs
  • Add searchable registry server list with fuzzy filtering
  • Display command preview before execution for transparency and learning
  • Support vim-style (j/k) and arrow key navigation throughout the wizard

Test plan

  • Unit tests for wizard model state transitions and navigation
  • Unit tests for command generation from wizard config
  • Unit tests for server filtering and search functionality
  • Unit tests for wizardConfigToRunFlags conversion (host, group, transport, image verification defaults)
  • All existing tests pass

Closes #3050

   Add `--interactive` / `-i` flag that launches a step-by-step TUI wizard
   using bubbletea to guide users through configuring an MCP server. The
   wizard reduces the barrier to entry for advanced features without
   requiring users to memorize numerous flags.

   Features:
   - 5-step guided flow: Server Source → Selection → Transport → Advanced → Preview
   - Support for 4 server sources: registry, container image, protocol schemes, remote URL
   - Searchable registry server list with fuzzy filtering
   - Command preview before execution
   - Vim-style (j/k) and arrow key navigation

Signed-off-by: carlos <21148423+carlos-gn@users.noreply.github.com>
@github-actions github-actions bot added the size/XL Extra large PR: 1000+ lines changed label Jan 20, 2026
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Large PR Detected

This PR exceeds 1000 lines of changes and requires justification before it can be reviewed.

How to unblock this PR:

Add a section to your PR description with the following format:

## Large PR Justification

[Explain why this PR must be large, such as:]
- Generated code that cannot be split
- Large refactoring that must be atomic
- Multiple related changes that would break if separated
- Migration or data transformation

Alternative:

Consider splitting this PR into smaller, focused changes (< 1000 lines each) for easier review and reduced risk.

See our Contributing Guidelines for more details.


This review will be automatically dismissed once you add the justification section.

@github-actions github-actions bot added size/XL Extra large PR: 1000+ lines changed and removed size/XL Extra large PR: 1000+ lines changed labels Jan 20, 2026
@github-actions github-actions bot added size/XL Extra large PR: 1000+ lines changed and removed size/XL Extra large PR: 1000+ lines changed labels Jan 20, 2026
@codecov
Copy link

codecov bot commented Jan 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.84%. Comparing base (546f5cb) to head (0cca9e1).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3353      +/-   ##
==========================================
+ Coverage   64.82%   64.84%   +0.01%     
==========================================
  Files         375      375              
  Lines       36626    36626              
==========================================
+ Hits        23744    23751       +7     
+ Misses      11011    11002       -9     
- Partials     1871     1873       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Signed-off-by: carlos <21148423+carlos-gn@users.noreply.github.com>
@carlos-gn carlos-gn force-pushed the feat/interactive-wizard branch from bb9b11a to 7076d45 Compare January 20, 2026 07:43
@github-actions github-actions bot added size/XL Extra large PR: 1000+ lines changed and removed size/XL Extra large PR: 1000+ lines changed labels Jan 20, 2026
@github-actions github-actions bot added size/XL Extra large PR: 1000+ lines changed and removed size/XL Extra large PR: 1000+ lines changed labels Jan 21, 2026
@github-actions github-actions bot added size/XL Extra large PR: 1000+ lines changed and removed size/XL Extra large PR: 1000+ lines changed labels Jan 21, 2026
@github-actions github-actions bot added size/XL Extra large PR: 1000+ lines changed and removed size/XL Extra large PR: 1000+ lines changed labels Jan 22, 2026
@eleftherias
Copy link
Member

Thanks for the PR @carlos-gn!
Seeing what this would look like in practice has made us realise that the maintenance of such a feature in the CLI would be quite high. With all the different flag options and combinations, this logic is better left to the desktop app.

I'm going to close this PR and the original spike.
Thanks for the work you've done here, it's brought a lot of clarity to the issue.

@carlos-gn
Copy link
Contributor Author

Hi @eleftherias I agree. No worries. Let me know if you want me to bring this to the app or work on something else with higher priority.

@eleftherias
Copy link
Member

@carlos-gn This issue about persisting the dynamic OAuth client might be interesting to you #3335. Or let me know if something else catches your eye.

@carlos-gn carlos-gn deleted the feat/interactive-wizard branch January 22, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XL Extra large PR: 1000+ lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[SPIKE] Add interactive wizard for thv run command

2 participants