read_fileLABSCO SUMMARY
The saving is real and the project publishes the arithmetic.
The premise is simple enough to check: an agent pays tokens for every line of terminal noise it reads and then carries in context. On identical coding tasks the project reports output tokens falling from 5,842 to 3,198 and tool calls from 17 to 14 on average, with remote benchmarks on AWS showing a 20.3% cost reduction. Those are the author's own measurements on their task set, and the benchmark scripts are in the repository to re-run. The part that needs no benchmark is the read deduplication — re-reading an unchanged file returning a flag instead of the file is straightforwardly free.
What it is
A single Rust binary that acts as an agent-optimised tool layer. When an agent runs a test suite it normally gets back hundreds of lines of progress bars and passing test names; Daimonos returns the summary and the failures. It runs as an MCP server your IDE spawns and exits when you close the project — no daemon, no background service. Linux and macOS; Windows is planned.
What you get
- Core tools that are always available:
read_filewith offset and limit and content-hash deduplication,write_filewith auto-mkdir,edit_filewith diff confirmation,searchin content or file-discovery mode,execwith semantic filtering and bounded capture,batchfor several operations in one round-trip, andworkspace_infofor project type, git status and directory listing - Native plugins that appear automatically when the CLI is on
PATH—git(status, log, diff, branch, add, commit, push, pull, checkout),cargo(test, build, check, clippy, fmt, add),gh(PR view, list, create, diff, checks, api) anddocker(ps, logs, exec, images, inspect, stop, compose) - Semantic compression for commands with no native plugin, so pytest, make, pip install and eslint return a summary plus failures rather than the full stream
- Read deduplication: re-reading an unchanged file returns
{"unchanged":true}instead of the whole content - Managed subprocess execution — output is bounded while it is read rather than after full buffering, Unix process groups are owned so descendants are retired on cancellation, child environments are restricted to an explicit allowlist, and background output goes to private bounded artifacts
- Workspace snapshots to checkpoint before a risky edit and roll back on failure, Starlark scripting to bundle several tool calls into one script, and per-tool-call token analytics with cross-session history
Requirements
No account and no key. Download a prebuilt binary for Linux x86_64, Linux aarch64, macOS Apple Silicon or Intel Mac, or build from source with cargo build --release; put daimonos on your PATH. Configuration is one entry in your MCP client — for Cursor, daimonos with --mcp -w <YOUR_PATH_TO_WORKSPACE> — and it starts when the IDE opens the project. Setup guides ship for Cursor, GitHub Copilot, Claude Code, Windsurf, Cline, Gemini CLI, Zed and others. Everything else is tunable through a single TOML config file. MIT licensed.
Setup effort
Follow the published steps — curl -L https://github.com/beardfaceguy/daimonos/releases/latest/download/daimonos-x86_64-linux.tar.gz | tar xz
USE CASES
Running tests without paying for the output
The test run comes back as counts and failures rather than several hundred lines of progress and passing test names.
Cutting the round-trips in a routine change
Bundle the reads, the edit and the check into a single batch or Starlark script instead of a call per step.
Making a risky edit reversible
Take a workspace snapshot first and roll back if the change does not hold up.
Working with git and PRs as structured data
Status, diffs, PR checks and container state come back as JSON the agent can act on, not text it has to parse.
Seeing where your token budget actually goes
Per-tool-call analytics with cross-session history show which calls are expensive.
11 tools
Listed in project docs. Your client may show a different list.
write_fileedit_filesearchexecbatchworkspace_infogitcargoghdockerBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation.
Requires
- Linux (x86_64, aarch64) or macOS (Apple Silicon, Intel) — Windows is not yet supported
- curl
Where it runs
All 6 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
Linux x86_64 (most Ubuntu/Debian desktops and servers)
curl -L https://github.com/beardfaceguy/daimonos/releases/latest/download/daimonos-x86_64-linux.tar.gz | tar xz
sudo mv daimonos /usr/local/bin/Linux aarch64 / ARM64 (Graviton, Raspberry Pi, ARM servers)
curl -L https://github.com/beardfaceguy/daimonos/releases/latest/download/daimonos-aarch64-linux.tar.gz | tar xz
sudo mv daimonos /usr/local/bin/macOS Apple Silicon (M1/M2/M3/M4)
curl -L https://github.com/beardfaceguy/daimonos/releases/latest/download/daimonos-aarch64-macos.tar.gz | tar xz
sudo mv daimonos /usr/local/bin/macOS Intel
curl -L https://github.com/beardfaceguy/daimonos/releases/latest/download/daimonos-x86_64-macos.tar.gz | tar xz
sudo mv daimonos /usr/local/bin/Verify
daimonos --helpMCP Clients
Cursor
{
"mcpServers": {
"daimonos": {
"command": "daimonos",
"args": [
"--mcp",
"-w",
"."
]
}
}
}.cursor/mcp.json
Claude Code
{
"mcpServers": {
"daimonos": {
"command": "<YOUR_PATH_TO_DAIMONOS>",
"args": [
"--mcp",
"-w",
"<YOUR_PATH_TO_WORKSPACE>"
]
}
}
}GitHub Copilot
{
"servers": {
"daimonos": {
"command": "daimonos",
"args": [
"--mcp",
"-w",
"."
]
}
}
}Windsurf, Cline, Gemini CLI
{
"mcpServers": {
"daimonos": {
"command": "daimonos",
"args": [
"--mcp",
"-w",
"."
]
}
}
}