-
Notifications
You must be signed in to change notification settings - Fork 494
Add Warp (Warp.dev) configuration support #351
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughAdds Warp as a new MCP client type across both projects: enum value, client entries with platform config paths, installation steps, and a manual-configuration UI branch. No structural refactors or signature changes were introduced. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant UI as ManualConfigEditorWindow
participant Service as ClientConfigurationService
participant Data as McpClients
User->>UI: Open Manual Config (select client)
UI->>Data: Read client.mcpType
alt mcpType == Warp
UI-->>User: Show Warp-specific instruction (open Warp Drive -> MCP Servers -> Add)
UI->>Service: Request installation steps for Warp
Service-->>UI: Return 5-step Warp installation sequence
UI-->>User: Display installation steps
else other type
UI-->>User: Show existing instructions
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Notes for reviewer:
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for Warp (Warp.dev) terminal to the MCP Bridge configuration system. Warp is added as a new MCP client option alongside existing clients like Claude Desktop, VSCode, and Windsurf.
Key Changes:
- Added Warp as a new enum value in McpTypes
- Registered Warp client configuration with platform-specific paths for Windows, macOS, and Linux
- Added UI instructions and installation steps for configuring Warp
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| UnityMcpBridge/Editor/Models/McpTypes.cs | Added Warp enum value to McpTypes |
| UnityMcpBridge/Editor/Data/McpClients.cs | Registered Warp client with config paths for all platforms |
| UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs | Added UI instructions for Warp configuration |
| MCPForUnity/Editor/Models/McpTypes.cs | Added Warp enum value to McpTypes (duplicate structure) |
| MCPForUnity/Editor/Data/McpClients.cs | Registered Warp client with config paths (duplicate structure) |
| MCPForUnity/Editor/Services/ClientConfigurationService.cs | Added installation steps for Warp |
Comments suppressed due to low confidence (1)
MCPForUnity/Editor/Models/McpTypes.cs:1
- Missing trailing comma after enum value. All other enum values in this enum have trailing commas for consistency and to minimize future diff noise when adding new values.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (2)
UnityMcpBridge/Editor/Models/McpTypes.cs (1)
13-13: Add trailing comma for consistency.All other enum members have trailing commas. Adding one here minimizes diff noise when new values are added in the future.
Apply this diff:
- Warp + Warp,UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs (1)
118-124: Fix grammar error and indentation.Line 121 has two issues:
- Grammar: "by click" should be "by clicking"
- Missing leading spaces before "a)" to match the indentation pattern used in other client branches
Apply this diff:
else if (mcpClient?.mcpType == McpTypes.Warp) { EditorGUILayout.LabelField( - "a) Open 'Warp Drive' by click the Warp icon in the top-left corner or press (Ctrl + Shift + | on Windows / ⌘ + | on macOS) > MCP Servers > Add", + " a) Open 'Warp Drive' by clicking the Warp icon in the top-left corner or press (Ctrl + Shift + | on Windows / ⌘ + | on macOS) > MCP Servers > Add", instructionStyle ); }
🧹 Nitpick comments (1)
MCPForUnity/Editor/Models/McpTypes.cs (1)
13-13: Add trailing comma for consistency.All other enum members have trailing commas. Adding one here minimizes diff noise when new values are added in the future.
Apply this diff:
- Warp + Warp,
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
MCPForUnity/Editor/Data/McpClients.cs(1 hunks)MCPForUnity/Editor/Models/McpTypes.cs(1 hunks)MCPForUnity/Editor/Services/ClientConfigurationService.cs(1 hunks)UnityMcpBridge/Editor/Data/McpClients.cs(1 hunks)UnityMcpBridge/Editor/Models/McpTypes.cs(1 hunks)UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs(1 hunks)
🔇 Additional comments (1)
MCPForUnity/Editor/Services/ClientConfigurationService.cs (1)
472-477: Add trailing comma after the Warp case.The switch expression requires a comma after each case except the last one (default). Add a comma at the end of line 477 to match the pattern used by other cases.
Apply this diff:
McpTypes.Warp => "1. Open Warp\n" + "2. Open 'Warp Drive' — click the Warp icon in the top-left corner, or press (Ctrl + Shift + | on Windows / ⌘ + | on macOS)\n" + "3. Go to MCP Servers > Add\n" + "4. Paste the configuration JSON\n" + - "5. Save", + "5. Save", _ => "Configuration steps not available for this client."Likely an incorrect or invalid review comment.
| // Warp | ||
| new() | ||
| { | ||
| name = "Warp", | ||
| windowsConfigPath = Path.Combine( | ||
| Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), | ||
| "Warp", | ||
| "mcp.json" | ||
| ), | ||
| macConfigPath = Path.Combine( | ||
| Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), | ||
| "Library", | ||
| "Application Support", | ||
| "Warp", | ||
| "mcp.json" | ||
| ), | ||
| linuxConfigPath = Path.Combine( | ||
| Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), | ||
| ".config", | ||
| "Warp", | ||
| "mcp.json" | ||
| ), | ||
| mcpType = McpTypes.Warp, | ||
| configStatus = "Not Configured", | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Verify Warp configuration paths with official documentation.
The configuration paths follow the established pattern used by other clients (e.g., Trae), but it's important to confirm these are the actual paths used by Warp.dev for MCP configuration.
🌐 Web query:
What are the official MCP configuration file paths for Warp terminal?
💡 Result:
Short answer: Warp does not publish an official on-disk MCP configuration path. The MCP servers UI in Warp stores MCP settings in Warp Drive / the app settings (managed from Settings → AI → Manage MCP servers) and the product docs show how to add MCPs as JSON via the UI, but they do not document a stable file path you can edit on disk. [1][2]
Supporting links:
- Warp MCP docs (shows where to manage/add MCP servers in the app but no filesystem path listed). [1]
- Public GitHub issue asking for a local-on-disk MCP config location (Warp maintainers/docs don’t list one). [2]
If you need a writable file you can edit: many other MCP clients use a JSON file named mcp_config.json (examples: Windsurf / Codeium at ~/.codeium/windsurf/mcp_config.json, Windsurf docs) — but that is not Warp’s documented on-disk location. [3][4]
References
- Warp — Model Context Protocol (MCP) documentation (Manage MCP servers).
- warpdotdev/Warp GitHub issue “Support local MCP server config storage (not on Warp Drive)”.
- Windsurf / Codeium MCP config examples (~/.codeium/windsurf/mcp_config.json).
- Prisma / other MCP integration docs showing typical mcp_config.json usage.
Remove or reconcile Warp configuration paths—Warp does not document on-disk MCP configuration files.
Warp does not publish an official on-disk MCP configuration path. MCP settings are stored in Warp Drive and managed through the app UI (Settings → AI → Manage MCP servers), with no stable file path documented for editing on disk. A public GitHub issue requesting local on-disk MCP config support exists, but Warp maintainers do not document such a location.
The hardcoded paths in lines 211-235 assume Warp stores MCP configuration at specific filesystem locations, but this is not officially supported. Remove these paths or verify with Warp maintainers that these are actual implementation details (not documented as stable).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this true? If it is, then this won't work, and we'll need a different approach to configure Warp
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
Warp terminal MCP configuration file location setup
💡 Result:
Short answer: Warp stores MCP server configs in your Warp application data and you can edit/add servers via the Warp UI (or CLI) using a JSON snippet.
Steps and locations:
- Open Warp → Warp Drive (or Settings → AI → Manage MCP servers) → Personal → MCP Servers → + Add, then paste a JSON snippet that contains a "mcpServers" object with one or more server entries (each entry keys a name and has properties like command, args, env, working_directory, start_on_launch). Example JSON shown in the docs. [1]
- On macOS the local MCP directory is: $HOME/Library/Application Support/dev.warp.Warp-Stable/mcp — you can cd there to inspect files. [1]
- You can also manage MCP via the Warp CLI (use warp help mcp to list commands and usage). [2]
Example minimal MCP JSON structure:
{
"mcpServers": {
"myServer": {
"command": "npx",
"args": ["-y","@modelcontextprotocol/server-filesystem","/path/to/allowed/files"],
"env": {},
"working_directory": null,
"start_on_launch": true
}
}
}
(Use Warp’s Add UI to paste and save this.) [1]
If you want, tell me your OS and whether you prefer UI or CLI and I’ll give exact commands/paths for your setup.
Sources: Warp docs (MCP pages) [1], Warp CLI docs (mcp help) [2].
🌐 Web query:
Warp dev.warp.Warp-Stable mcp directory Windows Linux paths
💡 Result:
Locations for the Warp MCP directory (Stable build):
- macOS: ~/Library/Application Support/dev.warp.Warp-Stable/mcp. [1]
- Windows: %APPDATA%\dev.warp.Warp-Stable\mcp (per common Warp log/config locations). [2]
- Linux: ~/.local/share/dev.warp.Warp-Stable/mcp (per common Warp data locations). [2]
Sources: Warp docs (macOS path shown). [1] Additional path examples / log-location references showing Windows/Linux equivalents. [2]
References:
[1] docs.warp.dev — Model Context Protocol (MCP) / examples.
[2] Glama / warp-sql-server-mcp debug docs (MCP log/location examples for macOS, Windows, Linux).
🌐 Web query:
Warp mcp directory structure configuration file format
💡 Result:
Short answer: Warp's MCP (Model Context Protocol) configuration is JSON. It uses a top-level object (commonly "mcpServers") whose keys are server names and whose values are server entries with fields like url (for SSE servers) or command/args/env/working_directory (for CLI servers), plus optional flags such as start_on_launch. Example and docs below.
Example JSON:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"],
"working_directory": "/path/to",
"env": { "TOKEN": "…" },
"start_on_launch": true
},
"externalDocs": {
"url": "http://localhost:4000/mcp"
}
}
}
Key fields:
- mcpServers: object mapping server-name → server config. [1]
- command: string (CLI server executable). [1]
- args: string[] (CLI arguments). [1]
- url: string (SSE/HTTP MCP server endpoint). [1]
- env: object (env vars). [1]
- working_directory: string (optional, recommended when using relative paths). [1]
- start_on_launch: boolean (optional to prevent auto-start). [1]
Where it's used / managed:
- Add/edit via Warp UI (Warp Drive → MCP Servers) or CLI; use warp mcp list/help for CLI interaction. [2]
- Warp syncs MCP configs via Warp Drive (there are open requests about local-only storage). If you need a local storage location, note Warp's docs/GitHub issues indicate the config is synced and its on-disk layout is not fully documented. [1][4]
Sources:
[1] Warp MCP docs (Model Context Protocol) — examples and property descriptions. (docs.warp.dev)
[2] Warp CLI docs — warp mcp commands and usage. (docs.warp.dev)
[3] Warp University / MCP examples (GitHub/Figma examples). (warp.dev)
[4] Warp GitHub issue about local MCP config storage. (github.com)
Would you like the exact JSON schema extracted into a schema file (JSON Schema or TypeScript types) or help locating the local config file on your OS?
Citations:
- 1: https://docs.warp.dev/knowledge-and-collaboration/mcp?utm_source=openai
- 2: https://docs.warp.dev/developers/cli?utm_source=openai
- 3: https://www.warp.dev/university/mcp/using-github-mcp-server?utm_source=openai
- 4: Support local MCP server config storage (not on Warp Drive) warpdotdev/Warp#6602
@msanatan Yes, CodeRabbit's warning is accurate. The paths in this PR are incorrect, and more importantly, Warp's MCP configuration approach is fundamentally different from the other clients in your codebase.
Key Issues
1. Incorrect Paths
The PR uses:
- macOS:
~/Library/Application Support/Warp/mcp.json - Windows:
%APPDATA%\Warp\mcp.json - Linux:
~/.config/Warp/mcp.json
The actual Warp MCP locations are:
- macOS:
~/Library/Application Support/dev.warp.Warp-Stable/mcp(directory, not file) - Windows:
%APPDATA%\dev.warp.Warp-Stable\mcp(directory, not file) - Linux:
~/.local/share/dev.warp.Warp-Stable/mcp(directory, not file)
2. Different Configuration Model
Unlike other clients in your codebase (Cursor, Claude Desktop, Windsurf, etc.) that use directly editable JSON files, Warp:
- Stores MCP configs in a directory structure (not a single JSON file)
- Manages configuration through the Warp UI (Settings → AI → Manage MCP servers) or Warp CLI (
warp mcpcommands) - Syncs configuration via Warp Drive (cloud-based)
- Does not officially document the on-disk format for direct file editing
Recommendation
You'll need a different integration approach for Warp. The current pattern of directly writing to a config file won't work. Consider:
- Instructing users to manually add the MCP server through Warp's UI/CLI
- Using Warp's CLI (
warp mcpcommands) if it supports programmatic configuration - Investigating if there's an API or documented way to add MCP servers programmatically
Would you like me to help research Warp's CLI capabilities for programmatic MCP configuration?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tanthcstt please look at this comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@msanatan I see. It says there’s no evidence, but coderabbitai mentioned:
The actual Warp MCP locations are:
- macOS: ~/Library/Application Support/dev.warp.Warp-Stable/mcp (directory, not file)
- Windows: %APPDATA%\dev.warp.Warp-Stable\mcp (directory, not file)
- Linux: ~/.local/share/dev.warp.Warp-Stable/mcp (directory, not file)
This is based on [Warp issue #6602](https://github.com/warpdotdev/Warp/issues/6602?utm_source=chatgpt.com) and it is the directory of logs file not mcp configuration file.
However, I found the path %APPDATA%\Warp\mcp.json with default setup on my local Windows machine, and the server configuration works with it. I’ll look for more evidence to confirm this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do the docs say?
Your confirmation that it works is more important than CodeRabbit's comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@msanatan 

There’s no official documentation that specifies this directory exactly.
I was only able to test it on my own machine.
| // Warp | ||
| new() | ||
| { | ||
| name = "Warp", | ||
| windowsConfigPath = Path.Combine( | ||
| Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), | ||
| "Warp", | ||
| "mcp.json" | ||
| ), | ||
| macConfigPath = Path.Combine( | ||
| Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), | ||
| "Library", | ||
| "Application Support", | ||
| "Warp", | ||
| "mcp.json" | ||
| ), | ||
| linuxConfigPath = Path.Combine( | ||
| Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), | ||
| ".config", | ||
| "Warp", | ||
| "mcp.json" | ||
| ), | ||
| mcpType = McpTypes.Warp, | ||
| configStatus = "Not Configured", | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Verify Warp configuration paths with official documentation.
The configuration paths follow the established pattern used by other clients (e.g., Trae), but it's important to confirm these are the actual paths used by Warp.dev for MCP configuration.
🌐 Web query:
What are the official MCP configuration file paths for Warp terminal?
💡 Result:
Official MCP file locations (per Warp docs):
- macOS: $HOME/Library/Application Support/dev.warp.Warp-Stable/mcp. [1]
- Windows (PowerShell): $env:LOCALAPPDATA\warp\Warp\data\logs\mcp. [1]
- Linux: ${XDG_STATE_HOME:-$HOME/.local/state}/warp-terminal/mcp. [1]
Source: Warp documentation (Model Context Protocol / MCP). [1]
Update Warp MCP configuration paths to match official Warp documentation.
The paths in the code do not match the official Warp MCP locations:
- Windows: Should be
%LOCALAPPDATA%\warp\Warp\data\logs\mcp, not%LOCALAPPDATA%\Warp\mcp.json - macOS: Should be
$HOME/Library/Application Support/dev.warp.Warp-Stable/mcp, not$HOME/Library/Application Support/Warp/mcp.json - Linux: Should be
${XDG_STATE_HOME:-$HOME/.local/state}/warp-terminal/mcp, not$HOME/.config/Warp/mcp.json
Per Warp's official Model Context Protocol documentation, the correct paths are macOS: $HOME/Library/Application Support/dev.warp.Warp-Stable/mcp; Windows:
🤖 Prompt for AI Agents
In UnityMcpBridge/Editor/Data/McpClients.cs around lines 209 to 233, the Warp
MCP config paths are incorrect; update Windows to
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
"warp", "Warp", "data", "logs", "mcp"), macOS to
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
"Library", "Application Support", "dev.warp.Warp-Stable", "mcp"), and Linux to
use the XDG_STATE_HOME env var with fallback to HOME/.local/state (e.g.,
Path.Combine(Environment.GetEnvironmentVariable("XDG_STATE_HOME") ??
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
".local", "state"), "warp-terminal", "mcp")); leave mcpType and configStatus
as-is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tanthcstt is this true? Can you show reference the docs for the paths you've added for Window, Mac and Linux? Not in the code, just reply to this comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!
|
@coderabbitai generate docstrings |
✅ Actions performedInitiated docstring generation; will generate only if new commits exist. |
|
Note Docstrings generation - SUCCESS |
Docstrings generation was requested by @tanthcstt. * #351 (comment) The following files were modified: * `MCPForUnity/Editor/Services/ClientConfigurationService.cs` * `UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs`
|
@tanthcstt can you share an image or video of your Warp integration working? From the CodeRabbit comments, it doesn't look like it will, and without testing it would not be merged |
… grammar error Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs (1)
118-124: Consider fixing minor formatting and simplifying the instruction.Two optional improvements for consistency and readability:
Formatting: There's a double space before "MCP Servers" in line 121 (
> MCP Serversshould be> MCP Servers).Instruction clarity: The instruction is quite long compared to other branches. Consider simplifying it for better readability, similar to how other client types are handled. For example:
" a) Opening 'Warp Drive' (Warp icon in top-left or Ctrl + Shift + | / ⌘ + |) and navigating to MCP Servers > Add"Apply this diff to address the double space:
- "a) Open 'Warp Drive' by clicking the Warp icon in the top-left corner or press (Ctrl + Shift + | on Windows / ⌘ + | on macOS) > MCP Servers > Add", + "a) Open 'Warp Drive' by clicking the Warp icon in the top-left corner or press (Ctrl + Shift + | on Windows / ⌘ + | on macOS) > MCP Servers > Add",
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
UnityMcpBridge/Editor/Models/McpTypes.cs(1 hunks)UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- UnityMcpBridge/Editor/Models/McpTypes.cs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Warp doesn't officially support MCP servers on local storage: warpdotdev/Warp#6602 (comment)
But it seems to work from this user. I'm OK to merge in, if it doesn't work we'll remove it. Haven't tested for Mac/Linux
@dsarno @Scriptwonder check this out as well. In theory it shouldn't work given Warp's statements, but it does lol.
Summary by CodeRabbit