Skip to content

API & Reference > CLI

MCP servers (CLI reference)

Open in ChatGPT ↗
Ask ChatGPT about this page
Open in Claude ↗
Ask Claude about this page
Copied!

Connect agents to external tools like GitHub, Linear, and Sentry by passing MCP servers to the --mcp flag as a UUID, well-known id, inline JSON, or file path.

MCP servers connect agents to external systems like GitHub, Linear, or Sentry. To use a Model Context Protocol (MCP) server from the CLI, use the --mcp flag with oz agent run or oz agent run-cloud.

For help choosing between local, cloud, and shared MCP workflows, see Connect developer tools to agents with MCP workflows. For a conceptual overview of MCP with cloud agents — including configuration schema, full agent config examples, and limitations — see MCP Servers in the Cloud Agents docs.


The --mcp flag accepts four formats:

  • UUID — reference a Warp-shared MCP server by its UUID (find UUIDs with oz mcp list)
  • Well-known id — a short identifier like linear, resolved server-side against a set of managed MCP servers
  • Inline JSON — pass a full MCP JSON configuration directly as a string
  • File path — path to a JSON file containing the MCP configuration

You can repeat --mcp to include multiple servers.

  1. Locate the MCP server UUID using oz mcp list. This command lists all MCP servers configured in your Warp account, including team-shared ones:
Terminal window
$ oz mcp list
+--------------------------------------+--------+
| UUID | Name |
+===============================================+
| 1deb1b14-b6e5-4996-ae99-233b7555d2d0 | github |
|--------------------------------------+--------|
| 65450c32-9eb1-4c57-8804-0861737acbc4 | linear |
|--------------------------------------+--------|
| d94ade64-0e73-47a6-b3ee-14e5afec3d90 | Sentry |
+--------------------------------------+--------+

Alternatively, copy the UUID from Warp in Settings > Agents > MCP servers.

MCP servers page, showing a server with its UUID

MCP servers page, showing a server with its UUID.

  1. Pass the UUID to --mcp:
Terminal window
$ oz agent run --mcp "1deb1b14-b6e5-4996-ae99-233b7555d2d0" --prompt "who last updated the README?"

A bare identifier made up of letters, digits, -, or _ — such as linear — is treated as a well-known managed MCP id rather than a UUID or JSON. Warp resolves it server-side at run setup, so you don’t need to look up a UUID first:

Terminal window
$ oz agent run --mcp linear --prompt "list my assigned issues"

The server owns the set of recognized well-known ids. An id it doesn’t recognize is skipped at run setup rather than failing the run, so new managed servers can become available without a client update.

Passing MCP servers as inline JSON or a file

Section titled “Passing MCP servers as inline JSON or a file”

You can pass MCP configuration inline or via a file:

Terminal window
# Inline JSON
$ oz agent run --mcp '{"github": {"url": "https://api.githubcopilot.com/mcp/"}}' --prompt "list open issues"
# From a file
$ oz agent run --mcp ./my-mcp-config.json --prompt "list open issues"

The file must contain a valid MCP JSON object. For example:

{
"github": {
"url": "https://api.githubcopilot.com/mcp/"
},
"sentry": {
"command": "npx",
"args": ["-y", "mcp-remote@latest", "https://mcp.sentry.dev/mcp"]
}
}

Pass --mcp multiple times to combine UUID references, inline JSON, and file-based configs in a single run:

Terminal window
$ oz agent run \
--mcp "1deb1b14-b6e5-4996-ae99-233b7555d2d0" \
--mcp '{"sentry": {"url": "https://mcp.sentry.dev/mcp"}}' \
--prompt "open a PR that fixes the top Sentry error"

Warp syncs MCP server configuration between machines logged in with your Warp account, but does not sync the environment variables used in that configuration. When running on a remote machine, set any required secrets manually before running the agent:

Terminal window
export MY_MCP_SERVER_ACCESS_TOKEN="..."
$ oz agent run --mcp "904a8936-fa82-4571-b1d6-166c26197981" --prompt "use my MCP server to check for errors"