Connect once. Start creating.
Every supported host reaches the same permanent Streamable HTTP MCP server. Claude Code and Codex install Warp as a plugin; Claude, Claude Desktop, and Cowork use the native Connector.
Address: https://warp.billrey.net/mcp
Claude Code plugin
Installs the official Warp plugin, the permanent OAuth MCP connection, and the shared OpenUSD, Lua, validation, and review skills. The plugin is served directly by Warp and requires no source-host account or credentials; the only sign-in is Warp OAuth. There is no direct CLI fallback.
Install with Warp Editorset -e; legacy=$(claude mcp get warp 2>&1 || true); if printf '%s' "$legacy" | grep -F 'URL:' >/dev/null && ! printf '%s' "$legacy" | grep -F 'warp.billrey.net' >/dev/null; then echo 'Claude already has an unrelated MCP server named warp; rename it before installing Warp.' >&2; exit 2; fi; installed=$(claude plugin list --json 2>/dev/null || true); current=$(claude mcp get plugin:warp:warp 2>&1 || true); if ! printf '%s' "$installed" | grep -F '"id": "warp@warp"' >/dev/null || ! printf '%s' "$installed" | grep -F '"version": "0.2.28"' >/dev/null || ! printf '%s' "$installed" | grep -F '"url": "https://warp.billrey.net/mcp"' >/dev/null; then claude plugin marketplace remove warp --scope user >/dev/null 2>&1 || true; claude plugin marketplace add 'https://warp.billrey.net/assets/plugins/warp-agent-plugin.git#v0.2.28' --scope user --sparse .claude-plugin plugins/warp; if printf '%s' "$installed" | grep -F '"id": "warp@warp"' >/dev/null; then claude plugin update warp@warp --scope user; else claude plugin install warp@warp --scope user; fi; fi; installed=$(claude plugin list --json); if ! printf '%s' "$installed" | grep -F '"id": "warp@warp"' >/dev/null || ! printf '%s' "$installed" | grep -F '"url": "https://warp.billrey.net/mcp"' >/dev/null; then echo 'The official Warp plugin did not retain its MCP connection.' >&2; exit 3; fi; if printf '%s' "$legacy" | grep -F 'warp.billrey.net' >/dev/null; then claude mcp remove warp --scope user; fi; current=$(claude mcp get plugin:warp:warp 2>&1 || true); if ! printf '%s' "$current" | grep -F 'URL: https://warp.billrey.net/mcp' >/dev/null; then echo 'The official Warp plugin did not install its MCP connection.' >&2; exit 3; fi; if ! printf '%s' "$current" | grep -F 'Connected' >/dev/null; then claude mcp login plugin:warp:warp; fi; current=$(claude mcp get plugin:warp:warp 2>&1 || true); if ! printf '%s' "$current" | grep -F 'Connected' >/dev/null; then echo 'Warp OAuth did not complete.' >&2; exit 4; fi; claude mcp get plugin:warp:warp
Warp Editor installs and authenticates before opening a fresh task. If you run the command manually, open one new Claude Code task afterward because a running task cannot reload its tool registry.
After authentication, call warp_workspace once to select the project, workspace, and scene. Then use warp_inspect, warp_change, and warp_verify for the complete task.