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-approvedRun 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 genericRunning revue connect without a harness prints every supported form.
| Harness | Configuration location |
|---|---|
| Claude Code | Project .mcp.json |
| Codex | ~/.codex/config.toml |
| Cursor | Project .cursor/mcp.json or global ~/.cursor/mcp.json |
| OpenCode | Project opencode.json or global ~/.config/opencode/opencode.json |
| Generic | Any 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_contextThen run the real-decision check from the Quickstart.
Required agent behavior
- Call
lookup_decisionbefore asking. - Apply a prior answer only when
reuseGuidancesays it applies. - Otherwise call
request_decisionwith one crisp question, options, recommendation, concepts, and files. - On
pending, callrequest_decisionagain with the identical question. - On
answeredorreused, apply the answer and continue the unblocked work. - On
dismissed, do not ask again; continue with the recommendation or safest reversible path. - Use
share_contextwhen other agents need a finding but no human decision is required.
Read the tool reference for complete inputs and result states.
Troubleshooting
| Symptom | Action |
|---|---|
| MCP server exits immediately | Run revue doctor; missing URL or credentials fail loudly at startup |
| Local identity verification fails | Run revue service status, then restart with revue service stop and revue service start |
| Tools do not appear | Confirm the config path, command, and JSON/TOML syntax, then restart the harness |
Ask returns pending | Re-call with the same question; do not create a new phrasing or dedupe key |
Ask returns dismissed | Stop polling and proceed with the recommended reversible path |
| Reused answer looks wrong | Tell the human the returned decision id; they can use revue why or revue correct |