opencode · mcp setup

Connect ConvOps to OpenCode

Add a remote server named convops with the URL https://mcp.convops.app/ to opencode.json, then run opencode mcp auth convops. OpenCode gets ConvOps tools: tasks with workflows, steps one at a time, engine-checked gates and approvals, and a memory shared with every other client.

terminal · ~/platformadding

$

  • opening browser to sign in…
  • convops · authenticated
  • $ opencode mcp list → convops connected
tasksworkflowsgatesmemoryroutesschedules

example · the client's screens vary by version

server url
https://mcp.convops.app/
add it with
opencode.json entry
config lives in
opencode.json (project or global)
sign-in
opencode mcp auth
01what you get

What do you get in OpenCode once ConvOps is connected?

OpenCode runs with the model you choose. ConvOps keeps the process the same whichever model does the work, and it is the same process when OpenCode runs unattended.

  1. Workflows OpenCode walks one step at a time, whichever model is configured.
  2. Gates evaluated by the engine, and approval steps that pause the run.
  3. Memory and routes shared with teammates on Claude Code, Cursor or Codex.
  4. The same workflow attended in your terminal or unattended on an executor.

ConvOps is the operations layer for AI agents: an MCP server that holds your team's process as workflows, with approval gates, a shared memory and an audit trail. It runs no AI models; OpenCode does the work. The steps, gates and decisions come from the ConvOps workflow engine, and the approvals and audit trail from governance.

02what you need

What do you need to connect OpenCode to ConvOps?

A OpenCode setup that supports remote MCP servers, a ConvOps account, and the server URL. Plans start free; see pricing for limits.

You need Detail
OpenCodeA version with remote MCP servers and the opencode mcp commands.
A ConvOps accountThe Free plan works. Sign up at my.convops.app; a first sign-in without a workspace takes you to create one.
Server URLhttps://mcp.convops.app/
03setup steps

How do I add the ConvOps MCP server to OpenCode?

OpenCode reads opencode.json in the project root and ~/.config/opencode/opencode.json globally, and merges them.

  1. 1

    Add the remote server

    Put this in the project file to share it with the repository, or in the global file for every project.

    opencode.json
    {
      "$schema": "https://opencode.ai/config.json",
      "mcp": {
        "convops": {
          "type": "remote",
          "url": "https://mcp.convops.app/",
          "enabled": true
        }
      }
    }
  2. 2

    Sign in

    OpenCode starts OAuth when the server answers 401, or you can start it yourself. Your browser opens the ConvOps sign-in.

    terminal
    opencode mcp auth convops
  3. 3

    Check the status

    Lists every server and its auth status.

    terminal
    opencode mcp list
  4. 4

    Start a task

    Run opencode and ask: "Use ConvOps to start a migration task and follow its workflow."

Prefer an API key?

For CI or a shared runner, turn OAuth off and send an API key from the ConvOps app (Settings, API Keys). OpenCode reads it from the environment.

opencode.json
"convops": {
  "type": "remote",
  "url": "https://mcp.convops.app/",
  "oauth": false,
  "headers": { "Authorization": "Bearer {env:CONVOPS_API_KEY}" }
}

Official reference: OpenCode: MCP servers, OpenCode: rules and AGENTS.md. We checked these steps against those docs on . OpenCode updates its interface often; when a menu name differs, the vendor docs are current.

04in use

What does a governed task look like in OpenCode?

A database migration. The dry run is a step like any other; applying to production waits for a person, whichever model OpenCode is running.

opencode · ~/platformmcp: convops

new session

Database migrationrunning
  1. Write migrationnot handed over yet
  2. Dry runnot handed over yet
  3. Apply approvalapproval
  4. Applynot handed over yet

example

Each tool row is OpenCode calling ConvOps. The engine hands over one step, checks the gate when the agent asks to advance, and holds the run at an approval step until a person answers. The same task can be picked up later, by you or by a teammate in another client, at the step where it stopped.

05OpenCode notes

What should OpenCode users know about AGENTS.md, context and unattended runs?

AGENTS.md first. OpenCode reads AGENTS.md from the project and ~/.config/opencode/AGENTS.md, and falls back to CLAUDE.md when there is no AGENTS.md. Keep it about the codebase; put ordered process in ConvOps workflows, where each step brings its own instructions (why long instruction files fail).

Watch the context. OpenCode warns that MCP servers add to your context. You can switch ConvOps tools off for agents that do not need them with a glob in the tools key, for example "convops*": false, and on again per agent.

Attended and unattended. In your terminal, OpenCode is the attended client. ConvOps executors can also dispatch unattended runs to OpenCode: on your own OpenCode server, or one pod per run on your own Kubernetes. The approval steps still stop the run. The unattended runs on Kubernetes guide walks through the setup.

Where OpenCode reads its setup
FileScopeHolds
opencode.json (project root)This repositoryThe convops server entry, shared with the team
~/.config/opencode/opencode.jsonEvery projectYour personal server list
AGENTS.mdProject or globalCodebase conventions, not the process
06troubleshooting

Why is ConvOps not showing up in OpenCode?

Almost always one of two things: the sign-in has not finished, or the server is off for this session. Start with the first row.

Symptom Fix
opencode mcp list shows it unauthenticatedRun opencode mcp auth convops and finish the browser sign-in.
Sign-in loops or token errorsRun opencode mcp logout convops, then auth again.
Tools missing in one agentCheck the tools globs for that agent are not switching convops tools off.
CI has no browserUse "oauth": false with an Authorization header from an environment variable.
07questions

What else do people ask about ConvOps in OpenCode?

Short answers, checked against the OpenCode documentation linked above.

Does ConvOps work with any model in OpenCode?

Yes. ConvOps does not run models. It serves workflows over MCP, and OpenCode uses whichever model you configured.

Can ConvOps run OpenCode unattended?

Yes. Executors can dispatch a task to your own OpenCode server or to one pod per run on your own Kubernetes. The workflow and its gates are the same as in an attended session.

Project or global opencode.json?

Project to share the server with everyone on the repository, global for yourself. OpenCode merges both.

Where does OpenCode store the ConvOps token?

Per OpenCode's docs, MCP OAuth tokens are stored in ~/.local/share/opencode/mcp-auth.json.