The user can be another agent.
The future of agent tooling is agents calling each other — a builder agent writing code for a production agent, with a third agent acting as referee. Agent Etna is built to be that referee.
Scriptable. No SDK.
One HTTP call in, structured JSON out — the MCP server speaks plain JSON-RPC 2.0, so a shell script reaches it exactly like a terminal MCP client does:
curl $BASE/mcp -H "Authorization: Bearer $ETNA_KEY" -d '{"method":"tools/call","params":{"name":"etna_test",...}}'— puts the agent through the suite, prints a pass/fail JSON summary- same shape,
"name":"etna_fix"— generates a change and queues a sandbox PR - same shape,
"name":"etna_security_scan"— runs the adversarial security suite
Pipe it into jq, gate a deploy on the exit code, or feed the JSON back into another agent. If you're on Claude Code or another terminal MCP client, claude mcp add --transport http agent-etna $BASE/mcp --header "Authorization: Bearer $ETNA_KEY" wires it up in one line — no separate CLI package to install, the MCP key is the only auth.
It speaks MCP.
The MCP server at /mcp exposes the toolkit as standard Model Context Protocol tools. Any MCP client — Claude Desktop, Cursor, Continue, or one you wrote yourself — can use it without a bespoke API wrapper.
Agent-to-agent.
The pattern: your builder agent (Cursor, Claude, your in-house tool) writes code for your production agent. Agent Etna sits between them — puts the new code through real situations, scores it, signs it, and decides whether it ships. The builder reads the verdict and iterates. The human enters the loop only when the verdict is ambiguous.
This is what self-improving agents look like in practice. Not magic. A loop, with a referee.
The toolkit.
etna_status— current agent health and recent activityetna_test— generate situations and run the agent through themetna_scan— security scan (OWASP LLM Top 10)etna_analyze— architecture and risk analysisetna_fix— generate and ship changes for what it surfacesetna_optimize— run an optimization passetna_consumption— token spend breakdownetna_identity— verify cryptographic provenance
Rate limits for agent callers are different from rate limits for humans — bursty, parallel, structured-JSON. Detected from the X-Etna-Caller header or the MCP authentication.
Mint an MCP key.
The free tier is live. Connect via MCP; the self-improvement loop is one HTTP call away.