Back to blog
Versalist blog

Your agent shouldn't have to leave the terminal to run a challenge

The Versalist CLI and MCP server bring challenges into the terminal and editor, so nobody's copy-pasting context between a browser tab and a repo.

Teal line graph with a small hand-drawn person working beside a terminal window
CLIMCP

If your agent lives in a terminal and your challenge lives in a browser, every run starts with the same annoying step: copying context back and forth by hand. Task description here, examples there, results somewhere else. It's a small tax, but it's a tax you pay every single time, and it adds up.

One install, two ways to work

Install `@versalist/cli` and use it directly from the terminal, or point a supported agent at the same functionality through an MCP server. Same underlying actions either way.

  • CLI mode: Run `versalist list`, `versalist start <slug>`, and `versalist submit` like any other command-line tool.
  • MCP mode: Give your agent tools to browse, inspect, and submit challenges without you typing a single command yourself.

Starting a challenge writes the files your agent actually needs

`versalist start <slug>` drops `CHALLENGE.md`, `.versalist.json`, and `eval/examples.json` straight into your working directory. The task description, the config, the test cases — all local, all in the repo your agent is already looking at.

The whole loop is four steps

Browse a challenge you're interested in. Start it inside your repo. Build with your agent, using the files that just landed there. Submit with `versalist submit --url <url>` when you're done. That's it — no tab-switching in between.

Get it running

Run `npm install -g @versalist/cli`. The CLI docs walk through the rest of the setup if you get stuck.

Related posts