Skip to content

Add edit and open config actions for file-based MCP servers #9882

@vkodithala

Description

@vkodithala

Summary

File-based MCP server cards should provide a working way to open the defining config file from Warp's MCP settings. Spawned file-based MCP servers should include an edit button, and the Edit config/Open config action shown for MCP error states should open the file that defines the server instead of no-oping.

Problem

Project rules already provide an Open file action that opens the rule file in Warp's editor. File-based MCP servers would benefit from the same affordance because their source of truth is also a local configuration file.

Today, file-based MCP cards are inconsistent:

  • Unlike templatable servers, spawned file-based MCP servers do not expose an edit button while active.
  • When a file-based MCP server is errored, the card can render an Edit config/Open config style action, but that action does not open the defining config file.

This makes it harder to recover from broken file-based MCP configuration. The user can see the errored server in MCP settings, but cannot jump directly to the .mcp.json or provider config file that needs to be edited.

Expected behavior

  • A spawned file-based MCP server card includes an edit action when the server is active/running, consistent with other editable MCP server cards.
  • The edit action opens the local config file that defines that file-based MCP server in Warp's editor.
  • The Edit config/Open config action rendered on file-based MCP error states uses the same target and opens the defining config file instead of doing nothing.
  • The target file can be derived from FileBasedMCPManager using the server's tracked root path and provider-specific relative config path.
  • The behavior should mirror the project-rules Open file experience where possible: clicking the action opens an editor pane for the relevant local file.

Actual behavior

  • Spawned file-based MCP server cards suppress the edit icon.
  • Errored file-based MCP cards can show an Edit config/Open config text action, but the action is not wired to open the defining file.
  • Users must manually locate the config path to fix a broken file-based MCP server.

Reproduction steps or desired workflow

  1. Configure a file-based MCP server through a Warp-supported config file, such as a project or global .mcp.json.
  2. Start/spawn the file-based MCP server so it appears in the installed/running section of MCP settings.
  3. Observe that the active file-based MCP card does not provide a working edit affordance for its config file.
  4. Put the server into an error state, such as by making the config invalid or causing startup failure.
  5. Click the Edit config/Open config action on the errored card.

Desired workflow: both the active-card edit action and the error-card config action open the file that defines the server in Warp's editor.

Artifacts

None attached.

Warp version

v0.2026.04.30.08.57.dev_00

Operating system

macOS 26.4.1 (build 25E253)

Possible source references

  • app/src/workspace/view.rs: handle_ai_fact_view_event handles AIFactViewEvent::OpenFile by opening a local file in Warp's editor; this is the project-rules precedent for opening a backing config/rules file.
  • app/src/settings_view/mcp_servers/list_page.rs: create_file_based_spawned_card currently comments that file-based edit/share controls are omitted and sets show_edit_config_icon_button: false for spawned file-based servers.
  • app/src/settings_view/mcp_servers/server_card.rs: ServerCardStatus::Error renders show_edit_config_text_button: true, and both icon/text edit actions emit ServerCardEvent::Edit, which needs a file-backed path for file-based MCPs.
  • app/src/ai/mcp/file_based_manager.rs: file_based_servers_by_root tracks the root PathBuf by provider for each file-based MCP server, and directory_paths_for_installation_and_provider exposes the roots associated with a file-based installation; this data can identify the defining config file when combined with the provider's relative config path.

Metadata

Metadata

Assignees

Labels

area:mcpMCP server integrations, tool connections, and resource providers.bugSomething isn't working.in-app-feedbackFeedback items sourced from in-app feedback flows.ready-to-specThe issue is ready for a product and technical spec.repro:highThe report includes enough evidence that the issue appears highly reproducible.triagedIssue has received an initial automated triage pass.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions