tools/list, and there is no client-side catalog. Wire names are dotted (workflow.status_and_next); if you see underscores (workflow_status_and_next, mcp_merv_workflow_status_and_next) that’s your client renaming them.
Live JSON schemas come from TOOL_MANIFEST in merv/src/merv/brain/surface/tools/contracts.py. Internal tools are still listed by tools/list but flagged hidden: true. Feature gating removes families outright: storage tools when object storage is off, sandbox tools when sandboxes are off, and the two MLflow tools unless tracking is enabled (off by default).
54 tools: 43 public, 11 internal. A default deployment (storage on, tracking off) exposes 41 public tools; turning storage off removes 6 more. Almost every tool takes project_id (required).
Start here
The workflow.status_and_next envelope
Gate codes
- Experiment:
plan_required,design_review_required,execution_ready,results_report_required,logic_graph_required,experiment_review_required. - Reflection:
reflection_roster_incomplete,reflections_complete,project_graph_required,reflection_doc_required,change_spec_required,reflection_review_required,consolidation_proposal_required,consolidation_review_required,central_advance_required. - Plus
<review>_passedonce a review passes.
next_action values
- Experiment:
write_and_submit_plan,submit_design_for_review,mark_ready_to_run,start_running,run_experiment_and_retain_results,write_and_submit_results_report,write_and_submit_logic_graph,submit_results_for_review,complete_experiment,retry_running,mark_experiment_failed,abandon_experiment. - Reflection:
fan_out_reflection_subagents,submit_reflections,update_and_submit_project_graph,write_and_submit_reflection_doc,write_and_submit_change_spec,submit_reflection_artifacts,begin_consolidation,submit_consolidation_proposal,advance_central,wait_for_central_advance,wait_for_runner_publish,abandon_reflection. - At a review gate:
launch_<role>_reviewer,wait_for_<role>_review— for design, experiment, reflection, consolidation.
Experiments
Artifacts
Claims and candidates
Reviews
Reflection and consolidation
Sandboxes
All takeproject_id; most accept experiment_id or sandbox_uid to pick the machine.
Storage, literature, feed
Off by default
mlflow.context, mlflow.finalize_run — served only when tracking is enabled.
Internal (listed, hidden)
project.list · project.get · project.update · experiment.list · experiment.get_state · claim.list · reflection.list · review.status · sandbox.health · storage.put_object · storage.complete_upload. Agents don’t need them; the UI and recovery paths do.