Vivaria is METR's tool for running evaluations and conducting agent elicitation research. Vivaria is a web application with which users can interact using a web UI and a command-line interface.
See https://vivaria.metr.org for more documentation.
METR is transitioning its internal tooling from Vivaria to Inspect for evaluations and agent elicitation research. While Vivaria remains available as an open-source tool, we recommend that new projects consider using Inspect instead:
For questions about this transition, please contact vivaria@metr.org. To learn more about Inspect, please visit inspect.ai-safety-institute.org.uk.
Vivaria demo - Watch Video
See here for a tutorial on running Vivaria on your own computer using Docker Compose.

The Vivaria runs page, displaying a list of recent runs.

A Vivaria run page, showing details for a particular run.

The Vivaria playground, where users can test arbitrary prompts against LLMs.
server: A web server, written in TypeScript and using PostgreSQL, for creating METR Task Standard task environments and running agents on themui: A web UI, written in TypeScript and React, that uses the server to let users view runs, annotate traces, and interact with agents as they complete taskscli: A command-line interface, written in Python, that uses the server to let users create and interact with runs and task environmentspyhooks: A Python package that Vivaria agents use to interact with the server (to call LLM APIs, record trace entries, etc.)scripts: Scripts for Vivaria developers and users, as well as a couple of scripts used by the Vivaria serverIf you discover a security issue in Vivaria, please email vivaria-security@metr.org.
The METR Task Standard and pyhooks follow Semantic Versioning.
The Vivaria server's HTTP API, the Vivaria UI, and the viv CLI don't have versions. Their interfaces are unstable and can change at any time.
We encourage you to either file an issue on this repo or email vivaria@metr.org.
$ claude mcp add vivaria \
-- python -m otcore.mcp_server <graph>