Skip to main content
Merv is one plugin content tree served to eleven clients through thin adapters. Everything heavy — state, gates, reviews, sandboxes — lives in the brain; every client connects to the same POST /mcp endpoint. Nine clients have a native install and browser OAuth; OpenHands and Replit Agent connect manually.

What each client gets

How each client waits for a long sandbox run is on Long runs and waking.

The same for every client

  • The project comes from the credential and the call — agents pass project_id explicitly and never send a checkout path.
  • One OAuth grant with All my projects covers every project you’re a member of.
  • The connection is plain HTTP; no local Merv runtime is needed. Byte transfers use the machine’s curl, OpenSSH, and rsync.
  • The brain is the only source of tool schemas (tools/list); there is no client-side catalog. Committed manifests contain the URL and no credential header, so a 401 starts OAuth discovery.

How the adapters are built

Codex, Claude Code, Copilot CLI, and Cursor read marketplace manifests on main. Gemini, Qwen, Kilo, and OpenCode consume a generated merv-client branch that CI force-publishes after every change on main — nobody edits it by hand. Hermes gets a generated merv-hermes-client repo. Kilo and OpenCode fetch skills from a hosted, content-versioned catalog. Reviewer agent files carry only name and description frontmatter so every client that supports agents can load them.