Skip to content

Agents > Oz 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, 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.

The CLI does not start every configured MCP server for every run. Explicit --mcp values start run-scoped servers. A selected agent profile can start installed servers on its MCP allowlist, while eligible file-based and global servers follow their own discovery path.

For help choosing between local, cloud, and shared MCP workflows, see Connect developer tools to agents with MCP workflows. For the shared configuration schema, full agent config examples, and cloud limitations, see Connecting MCP servers to agents in the Factories docs.


The --mcp flag accepts four formats:

  • UUID — reference a Warp-shared MCP server by its UUID (find UUIDs with oz mcp list)
  • Managed integration id — reference a Warp-managed integration MCP server by its short id, such as linear (see Passing Warp-managed integration servers by id)
  • 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?"

Passing Warp-managed integration servers by id

Section titled “Passing Warp-managed integration servers by id”

Some MCP servers are hosted by Warp and backed by a connected integration rather than a standalone installation with its own UUID.

Warp recognizes these managed integration ids:

  • linear — the hosted Linear MCP server
  • slack — the hosted Slack MCP server
  • jira — the hosted Jira MCP server

Factory integration tools use the factory’s declared and connected integrations. Standalone Jira-triggered workflows have separate legacy setup. If an integration reference can’t be resolved in the run’s context, the server is skipped.

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"