Skip to content
Revue

Connect an MCP harness

revue-mcp is the harness-agnostic ask side of Revue. It gives any stdio MCP client the same decision memory, grouping, human-answer, and receipt loop.

Before you connect

Select and verify a decision plane first:

revue service start  # local, account-free
# or
revue login          # hosted, browser-approved

Run revue demo before changing harness configuration. That separates a decision-plane problem from an MCP registration problem.

Generate the configuration

Ask the CLI for the harness you use:

revue connect claude
revue connect codex
revue connect cursor
revue connect opencode
revue connect generic

Running revue connect without a harness prints every supported form.

HarnessConfiguration location
Claude CodeProject .mcp.json
Codex~/.codex/config.toml
CursorProject .cursor/mcp.json or global ~/.cursor/mcp.json
OpenCodeProject opencode.json or global ~/.config/opencode/opencode.json
GenericAny stdio MCP registration that accepts a command and environment

Use the generated output instead of copying a static example from this page. The CLI knows whether the active plane is local or hosted and which installed command should launch the server.

Local output

Local configurations launch revue mcp. That command verifies the loopback service identity and resolves the local credential at startup. The credential is not written into the harness configuration.

Hosted output

Hosted configurations launch the installed revue-mcp entry and include the configured hosted URL. Replace the printed rvue_adapter_... placeholder with the machine credential from ~/.config/revue/local.env. Do not paste that credential into a prompt or commit it to a repository.

Restart and verify

Restart the harness after changing its MCP configuration. Confirm the Revue server exposes exactly these ask-side tools:

lookup_decision
request_decision
share_context

Then run the real-decision check from the Quickstart.

Required agent behavior

  1. Call lookup_decision before asking.
  2. Apply a prior answer only when reuseGuidance says it applies.
  3. Otherwise call request_decision with one crisp question, options, recommendation, concepts, and files.
  4. On pending, call request_decision again with the identical question.
  5. On answered or reused, apply the answer and continue the unblocked work.
  6. On dismissed, do not ask again; continue with the recommendation or safest reversible path.
  7. Use share_context when other agents need a finding but no human decision is required.

Read the tool reference for complete inputs and result states.

Troubleshooting

SymptomAction
MCP server exits immediatelyRun revue doctor; missing URL or credentials fail loudly at startup
Local identity verification failsRun revue service status, then restart with revue service stop and revue service start
Tools do not appearConfirm the config path, command, and JSON/TOML syntax, then restart the harness
Ask returns pendingRe-call with the same question; do not create a new phrasing or dedupe key
Ask returns dismissedStop polling and proceed with the recommended reversible path
Reused answer looks wrongTell the human the returned decision id; they can use revue why or revue correct