Warp Ozbridge

io.github.sena-labsPublished by GitHub account sena-labsv2.0.0Updated Oct 29, 2026

OzBridge: run Warp Oz agents from any MCP client — Claude Code, Cursor, Codex, VS Code.

VerifiedSTDIODesktop onlyDeveloper ToolsAI & ML

Overview

AI-generated overview

MCP server that lets any MCP client launch and inspect Warp Oz agent runs by shelling out to the local oz CLI.

What you can do
  • Run Oz agents locally with a prompt and get the full run payload back
  • Launch cloud Oz runs and list, filter or fetch runs by id
  • List available AI model ids and the current default
  • Set the default Oz model by writing it into the workspace bridge config
  • Serve the same six tools over stdio or Streamable HTTP, with a health route
When to use it
Use it when you already work with Warp Oz and want to start, monitor and configure Oz agent runs from Claude Code, Cursor, Codex, Windsurf or another MCP client without the VS Code extension.
Requirements
Node.js 22.12 or newer; the Oz CLI installed and on PATH or pointed at via OZ_PATH; a one-time oz login in a terminal. Runs locally via npx, either spawned over stdio or listening on 127.0.0.1:3847 by default. Optional settings include OZ_MCP_PORT, OZ_MCP_BIND, OZ_MCP_TOKEN, OZ_DEFAULT_MODEL, OZ_DEFAULT_PROFILE, OZ_DEFAULT_ENV, OZ_TIMEOUT_MS and OZ_IDLE_TIMEOUT_MS.
Before you install
Cloud runs consume Warp credits, so runs can cost money. The server can spawn the Oz CLI, so binding to a non-loopback address is refused without a token; when OZ_MCP_TOKEN or --token is set, every request including health needs an Authorization Bearer header. There is no TLS, so use an authenticated reverse proxy for HTTPS. Setting the default model writes to the workspace .warp/warp-bridge.yaml. Prompts and run output are forwarded to the Oz CLI.

Installation

In SourceWeft

  1. Open Warp Ozbridge in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@sena-labs/oz-mcp-server

Standalone Model Context Protocol server for Warp™ Oz™ agents — no VS Code required. Run it from a terminal and drive Oz from Claude Code, Cursor, Codex, or any MCP client.

OzBridge is an independent project and is not affiliated with, endorsed by, or sponsored by Warp. "Warp" and "Oz" are trademarks of Warp, Inc., used here nominatively — solely to describe interoperability. See Trademarks & disclaimer below.

This package is the VS Code‑free sibling of the OzBridge extension. It exposes the same MCP tool surface (six tools: oz_agent_run, oz_run_list, …) over stdio or Streamable HTTP, so any MCP client can launch and inspect Oz runs.


Requirements

  • Node.js ≥ 22.12
  • The Oz CLI installed and on your PATH (or pointed at via OZ_PATH). Download Warp from https://www.warp.dev/download — the oz command ships with it (on Linux typically ~/.warp/bin/oz). Verify with oz --version.
  • Signed in to Warp: run oz login once in a terminal.

The server only ever shells out to the documented oz CLI; it does not embed, modify, or reverse‑engineer any Warp software.


Quick start (stdio — recommended)

Let your MCP client spawn the server over stdio — no install step, no port, no token, and no terminal to keep open.

Claude Code:

bash
claude mcp add oz -- npx -y @sena-labs/oz-mcp-server --stdio

Codex CLI — add to ~/.codex/config.toml:

toml
[mcp_servers.oz]command = "npx"args = ["-y", "@sena-labs/oz-mcp-server", "--stdio"]

Cursor / Windsurf / Claude Desktop — add to ~/.cursor/mcp.json (Cursor), ~/.codeium/windsurf/mcp_config.json (Windsurf) or claude_desktop_config.json (Claude Desktop):

json
{  "mcpServers": {    "oz": {      "command": "npx",      "args": ["-y", "@sena-labs/oz-mcp-server", "--stdio"]    }  }}

HTTP mode

To run a long-lived server that clients reach by URL instead:

bash
npx -y @sena-labs/oz-mcp-server

It binds to 127.0.0.1:3847. Leave it running, then point your MCP client at the Streamable HTTP endpoint http://127.0.0.1:3847/mcp — see MCP client setup (HTTP). The legacy HTTP+SSE endpoint /sse is still served but deprecated.

Pin a port and a bearer token instead of the defaults:

bash
npx -y @sena-labs/oz-mcp-server --port 3847 --token my-secret

Install it globally if you'd rather not re‑download on each run:

bash
npm install -g @sena-labs/oz-mcp-serveroz-mcp-server --help

Configuration

Settings resolve in this order (highest precedence first):

  1. CLI flags
  2. Environment variables
  3. ./.warp/warp-bridge.yaml (current working directory), then ~/.warp/warp-bridge.yaml
  4. Compiled‑in defaults

CLI flags

FlagDefaultPurpose
--port <n>3847TCP port to listen on. 0 lets the OS pick an ephemeral port.
--bind <addr>127.0.0.1Interface to bind. Non‑loopback requires a token (see Security).
--token <s>(none)Bearer token required on every request. Empty = no auth.
--cwd <dir>process.cwd()Workspace root for .warp/warp-bridge.yaml discovery.
--help, -h—Print usage and exit.

Environment variables

VariableMaps toDefaultPurpose
OZ_PATHozPathozPath to the Oz CLI binary. Bare oz resolves from PATH.
OZ_MCP_PORTport3847Listening port. 0 = OS‑assigned ephemeral port.
OZ_MCP_BINDbind address127.0.0.1Interface to bind (loopback only by default).
OZ_MCP_TOKENbearer token(empty)Bearer token required on every request. Empty disables auth.
OZ_DEFAULT_MODELdefaultModelautoDefault AI model for runs.
OZ_DEFAULT_PROFILEdefaultProfileDefaultDefault Oz agent profile.
OZ_DEFAULT_ENVdefaultEnvironment(empty)Default cloud environment id.
OZ_TIMEOUT_MSlocal run timeout300000Hard timeout for local runs (ms).
OZ_IDLE_TIMEOUT_MSidle timeout90000Abort a run after this long with no CLI output (ms). 0 disables.
bash
OZ_PATH=/usr/local/bin/oz \OZ_MCP_PORT=3847 \OZ_MCP_TOKEN=my-secret \npx -y @sena-labs/oz-mcp-server

On Windows PowerShell, set variables with $env: first:

powershell
$env:OZ_MCP_TOKEN = "my-secret"; npx -y @sena-labs/oz-mcp-server

Transports

The server speaks MCP over two transports:

  • stdio (--stdio) — the host spawns the server as a child process and exchanges JSON-RPC over stdin/stdout. Recommended for Claude Code, Codex, Cursor, Windsurf, Claude Desktop, mcp-proxy, and registry sandboxes (e.g. Glama). No port, no token. See Quick start.
  • Streamable HTTP (default when --stdio is not passed) — the server listens on a port and clients connect by URL to /mcp. The older HTTP + SSE transport (/sse + /messages) is still served for legacy clients but is deprecated.
bash
# stdio (spawned by the host)npx -y @sena-labs/oz-mcp-server --stdio
# HTTP (default) — endpoint http://127.0.0.1:3847/mcpnpx -y @sena-labs/oz-mcp-server --port 3847

MCP client setup (HTTP)

For URL-based clients, start the server in HTTP mode (above), then add the endpoint to your client. These snippets mirror docs/MCP.md.

Claude Code

bash
claude mcp add --transport http oz http://127.0.0.1:3847/mcp

Cursor / Windsurf

Add to ~/.cursor/mcp.json (or ~/.codeium/windsurf/mcp_config.json):

json
{  "mcpServers": {    "oz": {      "url": "http://127.0.0.1:3847/mcp"    }  }}

Codex CLI

Add to ~/.codex/config.toml:

toml
[mcp_servers.oz]url = "http://127.0.0.1:3847/mcp"

If you set a token

With --token / OZ_MCP_TOKEN, every request needs an Authorization: Bearer <token> header:

  • Claude Code: append --header "Authorization: Bearer <token>" to claude mcp add.
  • Cursor / Windsurf: add "headers": { "Authorization": "Bearer <token>" } next to "url".
  • Codex: add http_headers = { "Authorization" = "Bearer <token>" } under [mcp_servers.oz].

Tools exposed

ToolPurpose
oz_agent_runRun oz agent run locally with a prompt. Returns the full run payload.
oz_agent_run_cloudLaunch a cloud run. Consumes Warp credits.
oz_run_getFetch a run's status and output by id. Read‑only.
oz_run_listList recent runs; filter by all / active / completed / raw status, plus a numeric limit.
oz_list_modelsList the AI model ids available to the account and report the current default. Read‑only.
oz_set_default_modelSet the default Oz model by writing defaultModel into the workspace .warp/warp-bridge.yaml.

The full JSON inputSchema for each tool is emitted verbatim by tools/list. See docs/MCP.md for the protocol details, raw‑curl cheatsheet, and endpoint reference.


Endpoints

RouteMethodPurpose
/mcpPOSTStreamable HTTP — a single JSON‑RPC 2.0 request, answered in the same HTTP response. Use this one.
/sseGETLegacy (deprecated). Opens the SSE stream. First frame is event: endpoint with the sessionId to POST to.
/messages?sessionId=<uuid>POSTLegacy (deprecated). A single JSON‑RPC 2.0 request. Acknowledged with 202; the response streams back over /sse.
/healthGETReturns { ok, name, version, tools, sessions }.

Quick health check:

bash
curl http://127.0.0.1:3847/health

Security

  • Loopback by default. The server binds to 127.0.0.1; no traffic leaves the machine unless you opt in.
  • Non‑loopback requires a token. Binding to anything other than 127.0.0.1 / ::1 without --token / OZ_MCP_TOKEN is refused — the MCP tool surface can spawn the Oz CLI, so an unauthenticated public bind is never allowed.
  • Bearer auth covers every route (including /health) when a token is set; comparison is constant‑time.
  • No persistence. Prompt content and run output are forwarded to the Oz CLI, never stored by the server.

There is no TLS termination — put the server behind an authenticated reverse proxy if you need HTTPS.


Trademarks & disclaimer

OzBridge is an independent project developed by Ivan Sena under the Sena Labs name. It is not affiliated with, endorsed by, sponsored by, or officially associated with Warp, Inc., Microsoft, GitHub, or the Visual Studio Code project.

Warp™ and Oz™ are trademarks of Warp, Inc. These names are used in this project nominatively — solely to describe that OzBridge interoperates with Warp Oz — and not to imply any sponsorship, endorsement, or affiliation.

OzBridge uses only Warp's documented, public interfaces — the oz command‑line tool and the Model Context Protocol transport. It does not modify, reverse‑engineer, embed, or create a derivative work of Warp's software, and it is a complementary integration, not a competing product or service.

This software is provided "as is", without warranty of any kind. Use it at your own risk. See DISCLAIMER.md for the full text.


License

MIT © Sena Labs

Source: packages/oz-mcp-server/README.md at commit e1707c3

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

2
  1. v2.0.0LatestOct 29, 2026
  2. v1.4.0Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts