Abbreviatory 0.3 Gives Coding Agents an MCP Server and Opens a Browser Demo
Coding agents run tests all day. Every run prints thousands of lines, and the agent reads all of them, pays for all of them, and then often reads them again after a one-line change. Abbreviatory v0.3.0 lets the agent skip that. It’s now an MCP server, so an agent can ask it to run the tests and get back the short report instead: the failures with their messages, what changed since the last run, and one line when nothing did.
The same release adds an HTTP service for CI systems and scripts. And there’s a demo on this site now, so you can see what a report looks like before installing anything.

What an Agent Gets
Add it to the agent once. For Claude Code that’s claude mcp add abbreviatory -- abbreviatory mcp, and most other agents take the same thing as a line of JSON. Then the agent has four tools:
- run takes a command, such as
["go", "test", "./..."], runs it, and returns the reduced report with the exit status. The first run is a normal report. After that, the report starts with what changed: new failures first, then fixed ones, then the ones still failing and for how many runs. If nothing changed, it’s one line. - reduce takes output the agent already has, as text or a file.
- expand returns the original lines behind any
[ref …]in a report, byte for byte, when the agent needs the whole stack trace after all. - history lists the runs.
A run that hangs is stopped at a time limit, 10 minutes unless the agent asks for another. If the agent cancels the request, or quits, the command is stopped along with anything it started, so test servers don’t pile up in the background.
For CI and Scripts
abbreviatory serve answers over HTTP: post a log to /reduce and get the report back, as JSON or plain text, with the same options as the command line. It listens on your own machine only, unless you give it a token. A web page in your browser can’t use it to reach your stored logs either, because it turns away requests from other host names and other origins.
One Engine Behind All Three
The command line, the MCP server and the HTTP service don’t each have their own copy of the logic. They share one core, and the test suite holds them to it: every test fixture goes through all three, with five different sets of options, and the reports have to match. That’s 40 reports, all 424 references in them expanded through each of the three, and run histories built up through each, all identical.
An independent review went over the new code before the release, as it did for the earlier ones. The worst thing it found: without a token, a web page you visited could have used the HTTP service to read your stored logs, through a trick called DNS rebinding. That’s fixed and tested now, and so are the other findings: commands left running when an agent quit, memory use when expanding very large logs, and a few smaller ones.
Try It in Your Browser
The demo runs the real engine, the same Go code, compiled to WebAssembly. Pick a sample (a go test run, a pytest run, a JUnit report, an application log, an API response) or paste your own output, move the budget slider, and click any reference to see the lines it stands for. Nothing you paste leaves the page. At the bottom there’s a two-run comparison: reduce an earlier run, then a later one, and the report says which test broke and which got fixed. Reduce the later one again and you get the one line.
Get It
Download v0.3.0 for Linux, macOS or Windows. Still one static binary, open source under Apache 2.0, no language model and no network. The quick start has the agent setup, and the reference has every tool, endpoint and option. Next come adapters for Git diffs, HTTP responses and directory listings.