Model Context Protocol (MCP) | Warp (original) (raw)
Model Context Protocol (MCP)
Extend Warp’s agents with custom tools and data sources using MCP servers — modular plugins powered by a standardized interface.
Model Context Protocol (MCP)
MCP servers extend Warp’s agents in a modular, flexible way by exposing custom tools or data sources through a standardized interface — essentially acting as plugins for Warp. Warp supports a variety of connection protocols, including Streamable HTTPS and SSE, along with custom headers and environmental variables.
MCP is an open source protocol. Check out the official MCP documentation for more detailed information on how this protocol is engineered.
How to access MCP Server settings
You can navigate to the MCP servers page in any of the following ways:
- From the AI settings tab:
Settings > AI > Manage MCP servers
This will show a list of all configured MCP servers, including which are currently running. If you close Warp with an MCP server running, it will run again on next start of Warp. MCP servers that are stopped will remain so on next launch of Warp.
To add a new MCP server, you can click the + Add button. Configurations from most MCP Clients can be directly copied and pasted.
MCP server types you can add:
Provide a startup command. Warp will launch this command when starting up and shut it down on exit.
Always set working_directory explicitly when your MCP server command or args include relative paths. This ensures consistent and predictable behavior across machines and sessions.
CLI Server (Command) MCP Configuration Properties
The executable to launch (e.g., npx).
Array of command-line arguments passed to command (e.g., module name, paths).
Key-value object of environment variables (e.g., API Tokens).
Working directory path where the command is run, used for resolving relative paths.
Provide a URL where Warp can reach an already-running MCP server that supports Server-Sent Events.
Streamable HTTP or SSE Server (URL) MCP Configuration Properties
The HTTP endpoint URL to connect to via Server-Sent Events (SSE).
Key-value object of header variables (e.g., Authorization).
Adding multiple MCP Servers
Warp supports configuring multiple MCP servers using a JSON snippet. Each entry under mcpServers is keyed by a unique name (filesystem, github, notes, etc). All servers defined in the example are added automatically — no manual setup required.
To add a multiple MCP servers, you can click the + Add button then paste in a JSON snippet like the example below:
After MCP servers are registered in Warp, you can Start or Stop them from the MCP servers page. Each running server will have a list of available tools and resources.
You can rename and edit a server's name, as well as delete the server. If you are a part of a Team, you can also share a MCP with your teammates.
MCP servers can be shared with your teammates by clicking the share icon. When sharing, sensitive values in the env configuration will be automatically scrubbed and replaced with variables.
Your teammates can find shared MCP servers under the Shared section of their MCP settings. When your teammates install your server configuration, they will be prompted to enter any scrubbed env values.
Warp also provides out-of-the-box MCP servers that can be installed by anyone. These can be found under the Shared section of your MCP settings.
Authentication in MCP servers
Most MCP servers require authentication to connect to external services. Warp supports the following methods:
- Environment variables: pass an API key or access token via the server's environment variables.
- OAuth login (one-click installation): simplifies configuration by handling authentication through your browser. Warp stores credentials securely on your device and reuses them for future sessions. Re-authentication is required when opening Warp on a new machine.
- Starting a server without existing credentials automatically opens a browser-based authentication flow.
- Credentials can be revoked at any time from the MCP Servers pane in Warp.
- Custom Headers: pass an Authentication Bearer token via the headers variable.
If you're having trouble with an MCP server, you can check the logs for any errors or messages to help you diagnose the problem by clicking the View Logs button on a server from the MCP servers page.
If you choose to share your MCP server logs with anybody, make sure to remove any sensitive information before sharing, as they may contain API keys.
Many SSE based MCP servers will state that your URL should be treated like a password, and can be used with no additional authentication.
Tip: We've noticed that some models often work better with MCP servers than others. If you're having trouble calling or using an MCP server, try using a different model.
Debugging MCP Authentication issues
In some cases you may need to reset the auth token for some MCP servers. To do this delete the local MCP auth files by running the following: rm -rf ~/.mcp-auth
Note this will delete all your MCP auth tokens stored locally so you will need to login and re-authenticate.
If the above doesn't help and you need to reset or change authentication, you may need to switch to a CLI-based MCP server configuration and provide the token via environment variables. See Sentry CLI MCP Example.
Where MCP Logs Are Stored
Warp saves the MCP logs locally on your computer. You can open the files directly and inspect the full contents in the following location:
MCP Server Configuration Examples
Below are examples for popular Model Context Protocol (MCP) servers.
- CLI Server (Command) — local
npxordockercommand based MCP servers. - Streamable HTTP or SSE Server (URL) — remote or locally hosted MCP endpoints.
Chroma Package Search CLI Server (Command)
- Click "Get API Key" to create or log into your Chroma account and issue an API key for Package Search.
- After issuing your API key, click the "Other" tab and copy your API key.
- Add the following to your Warp MCP config. Make sure to click "Start" on the server after adding.
More info in Chroma's Package Search MCP Docs
Figma Remote MCP Server (Recommended)
The official Figma remote MCP server supports OAuth for simple, one-click setup.
- In Warp, go to
Warp Drive>MCP Servers>+ Addand paste the configuration below. - Warp will open a browser window to authenticate with Figma.
- After approving access, credentials are stored securely on your device.
Note: A Figma account with Dev Mode enabled is required.
Figma Local MCP Server
- Create or open a Figma Design file.
- In the upper-left corner, open the Figma menu.
- Under Preferences, select Enable local MCP Server.
- Enter the following configuration into Warp >
Warp Drive>MCP Servers>+ Add.
Slack CLI Server (Command)
Enter the following configuration into Warp > Warp Drive > MCP Servers > + Add.
Slack SSE Server (URL)
Enter the following configuration into Warp > Warp Drive > MCP Servers > + Add.
Atlassian CLI Server (Command)
Enter the following configuration into Warp > Warp Drive > MCP Servers > + Add.
Notion CLI Server (Command)
Enter the following configuration into Warp > Warp Drive > MCP Servers > + Add.
Notion SSE Server (URL)
Enter the following configuration into Warp > Warp Drive > MCP Servers > + Add.
Warp University hosts a collection of demos and walkthroughs showing how MCP servers can extend your workflows. Each example highlights practical use cases you can try today:
- GitHub — access repositories, issues, and pull requests through MCP.
- Sentry — surface error monitoring and alerts as agent-usable data.
- Linear — integrate project management tasks and tickets.
- Puppeteer — run automated browser workflows via MCP.
- Context7 — experiment with external data integrations.
Last updated 22 hours ago
- Model Context Protocol (MCP)
- How to access MCP Server settings
- Adding an MCP Server
- Adding multiple MCP Servers
- Managing MCP servers
- Sharing MCP servers
- Authentication in MCP servers
- Debugging MCP
- Where MCP Logs Are Stored
- MCP Server Configuration Examples
- Engineering & Ops
- Design & Collaboration
- MCP Server Demos
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
},
"notes": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-notes", "--notes-dir", "/Users/you/Documents/notes"]
},
"externalDocs": {
"url": "http://localhost:4000/mcp/stream",
"headers": {
"my-header": "my-header-value"
}
}
}
}cd "$HOME/Library/Group Containers/2BBY89MBSN.dev.warp/Library/Application Support/dev.warp.Warp-Stable/mcp"Set-Location $env:LOCALAPPDATA\warp\Warp\data\logs\mcpcd "${XDG_STATE_HOME:-$HOME/.local/state}/warp-terminal/mcp"{
"GitHub": {
"command": "docker",
"args": ["run","-i","--rm","-e","GITHUB_PERSONAL_ACCESS_TOKEN","ghcr.io/github/github-mcp-server"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your_github_token>"
}
}
}{
"GitHub": {
"url": "https://api.githubcopilot.com/mcp/"
}
}{
"Sentry": {
"command": "npx",
"args": ["-y","mcp-remote@latest","https://mcp.sentry.dev/mcp"]
}
}{
"Sentry": {
"url": "https://mcp.sentry.dev/sse"
}
}{
"Grafana": {
"command": "docker",
"args": ["run","--rm","-i","-e","GRAFANA_URL","-e","GRAFANA_API_KEY","mcp/grafana","-t","stdio","-debug"],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_API_KEY": "<your_grafana_key>"
}
}
}{
"Grafana": {
"url": "https://your-mcp-host.com/api/mcp/grafana/sse"
}
}{
"Linear": {
"command": "npx",
"args": ["-y","mcp-remote","https://mcp.linear.app/sse"]
}
}{
"Linear": {
"url": "https://mcp.linear.app/sse"
}
}{
"package-search": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.trychroma.com/package-search/v1", "--header", "x-chroma-token: ${X_CHROMA_TOKEN}"],
"env": {
"X_CHROMA_TOKEN": "<YOUR_CHROMA_API_KEY>"
}
}
}{
"Figma": {
"url": "https://mcp.figma.com/mcp"
}
}{
"Figma (Local)": {
"url": "http://127.0.0.1:3845/mcp"
}
}{
"Slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-<your-bot-token>",
"SLACK_APP_TOKEN": "xapp-<your-app-token>",
"SLACK_TEAM_ID": "T<your_workspace_id>",
"SLACK_CHANNEL_IDS": "<your_channel_id-1>, <your_channel_id-2>",
"MCP_MODE": "stdio"
}
}
}{
"Slack": {
"url": "https://your-mcp-host.com/api/mcp/slack/sse"
}
}{
"Atlassian": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.atlassian.com/v1/sse"]
}
}{
"Notion": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.notion.com/mcp"]
}
}{
"Notion": {
"url": "https://mcp.notion.com/sse"
}
}