Skip to content

NGXT-Inc/Merv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

409 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Merv

Merv is a plugin for agentic coding platforms that helps agents run machine learning research as gated, reviewable experiment workflows.

It is designed to work with Claude Code, Codex, Cursor, Gemini CLI, OpenCode, and other MCP-capable agent platforms. It includes a frontend for humans to observe agent behavior ranging from macro research strategy to experiment execution specifics.

The goal is to give research agents enough structure to plan experiments, execute them, review results, and reflect on the project direction to handle open-ended research problems.

Experiment-level workflow

Experiment workflow: Plan, Design review, Execute, Results review, Complete. Rejected reviews send work back to Execute or Plan.

Each experiment begins with a generated plan that is adversarially reviewed by another agent. The plan/review loop persists until the reviewer approves the plan. After approval, the agent proceeds to execution. When it is done, it submits a report that is adversarially reviewed by a different agent. The reviewer can send the agent back to execution to fix something in the execution or the report, or it can send it back to the planning stage if the experiment proved faulty.

Project-level workflow

Project workflow: completed experiments fan out to five reflection lenses, then Synthesis, Reflection review, Publish. Rejected reviews send work back to Synthesis or the fan-out.

After a set of experiments is complete, the plugin drives a project-wide reflection. Five different sub-agents are called, each analyzing the wave's snapshot of all terminal experiments and current claim statuses under a different lens. Their goal is to look for patterns of what works, what does not, and what has not been tried, in order to set up the next phase of experiments. The analysis of the sub-agents is consolidated into a report, logic graph, and change spec. Those artifacts are adversarially reviewed by a different agent for accuracy.

How the system fits together

System architecture: agent platforms use a local MCP proxy for checkout IO and a brain for durable records and workflow gates. The frontend supervises the brain. The brain provisions cloud sandboxes; agents run SSH commands and the proxy pulls retained outputs.

Merv has three main pieces:

  • Agent adapters connect Claude Code, Codex, Cursor, Gemini CLI, OpenCode, and other agentic clients to the same workflow.
  • Backend owns the research state: projects, claims, experiments, resources, review gates, reflections, and sandbox orchestration.
  • Frontend gives humans a visual way to inspect the project: experiments, reviews, artifacts, logic graphs, timelines, and current progress.

By default the plugin connects to the hosted brain; it can also run fully locally. In either deployment the checkout root, folder-to-project links, and caller SSH private keys stay on the user's machine. The proxy explicitly sends project ids, repo-relative resource metadata, and selected submitted bytes; the brain never opens the checkout directly. Brain management keys remain separate operational credentials.

Install

Prerequisites for every client are python3 3.11+ and a POSIX shell. No pip install or local brain is required; the proxy talks to the hosted brain by default. Sandbox SSH and output-pull workflows additionally use the system OpenSSH client and rsync. For Codex, Gemini CLI, and OpenCode, see merv/docs/CLIENTS.md.

Claude Code

claude plugin marketplace add https://rapidreview.io/marketplace.json
claude plugin install merv@rapidreview

Restart Claude Code.

Cursor

Cursor loads local plugins from a directory. Clone the repo and copy the plugin bundle into ~/.cursor/plugins/local (Cursor rejects symlinks that point outside that directory):

git clone https://github.com/NGXT-Inc/Merv.git ~/Merv
mkdir -p ~/.cursor/plugins/local
rsync -a --delete --exclude '.venv' --exclude '__pycache__' --exclude '*.egg-info' \
  ~/Merv/merv/ ~/.cursor/plugins/local/merv/
# Optional but recommended if `python3` on PATH is older than 3.11:
python3.11 -m venv ~/.cursor/plugins/local/merv/.venv

Then enable merv on Cursor's Customize page and restart Cursor (or run Developer: Reload Window). To update later: git -C ~/Merv pull, re-run the rsync, and reload.

Sign in

The hosted brain requires a RapidReview account. The merv-client helper ships inside the plugin (it is not added to your PATH). Once per machine, run the copy your install created:

# Claude Code (marketplace install):
~/.claude/plugins/cache/rapidreview/merv/*/merv/bin/merv-client login

# Cursor / cloned repo:
~/Merv/merv/bin/merv-client login

This opens the browser to complete sign-in; the session is stored locally and shared by every client on the machine. On a headless box, add --no-browser (prints the URL to open elsewhere) or use --api-key rr_sk_....

For instructions on creating and storing an API key, see Authenticate this machine.

First run

Open the repo you want to research as the workspace, then ask the agent to call project(action="current"). If the folder is unlinked, connect or create the project with project(action="connect"); then call workflow.status_and_next().

Migrating from Research Suite (research-plugin)

Upgrading from the old research-plugin? Everything was renamed in v0.0012 and the hosted brain now requires sign-in, but your data carries over untouched. See MIGRATING.md for the per-client steps (Claude Code, Cursor, Codex).

About

Merv — agent-run ML research as gated, reviewable experiment workflows. Plugin for Claude Code, Codex, Cursor, Gemini CLI, and other MCP clients.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors