exa-agent
Full Exa search API surface
68 commands · self-describing offline
crates.io · exa-agent-cli 0.1.0 (binary: exa-agent)
source on GitHubunofficial, independent — not built or endorsed by Exa
An agent calling Exa through the official MCP server sees about a dozen tools. exa-agent gives it all sixty-eight — every documented capability behind the Exa API, described by the binary itself before a single request goes out.
Every documented Exa capability — search, contents, answer, code context, agent runs, research, monitors, the entire Websets tree, team and key admin — as one static binary. The full API surface, not a curated subset: 68 commands where the official MCP hands your agent a dozen.
command surface, MCP vs. exa-agent
Exa's MCP server hands your agent about a dozen tools. exa-agent hands it 68 commands — the whole documented surface, nothing curated out.
what's in the 68
- search
- contents
- answer
- code context
- agent runs
- research
- websets (full tree)
- monitors
- team & key admin
how it sits in the loop
capabilities, schema, anddoctor are answered by the binary itself — no key, no network, so an agent bootstraps correct usage in one call.
Install
Homebrew
brew install treygoff24/tap/exa-agentCargo
cargo install exa-agent-cliShell installer — prebuilt binary, no toolchain needed
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/treygoff24/exa-agent-cli/releases/latest/download/exa-agent-cli-installer.sh | shConfigure
Set the key, run the doctor, done.
- EXA_API_KEY required
- the Exa API credential — get one at exa.ai (or run exa-agent auth login)
- EXA_SERVICE_KEY
- only for admin keys … team-management commands
verify your setup
exa-agent doctor --onlineHow it works
- Built from a committed copy of the Exa Public API spec (2.0.0) plus the Team Management spec (1.0.0).
- Offline self-description is the design point: capabilities, schema, robot-docs, and doctor run with no key and no network, so an agent bootstraps correct usage in one call.
- A raw METHOD PATH escape hatch reaches any Exa endpoint — modeled or not — under the same auth, retry, and envelope contract.
- Destructive operations refuse without --yes; --dry-run --print-request shows the exact upstream request without sending it; non-idempotent creates are never auto-retried.
Pairs well with
Known limits
- Pre-1.0: built against Exa spec 2.0.0; a couple of documented endpoints (team info) aren’t served upstream yet.
- The optional local credentials file is plaintext — the docs recommend the environment variable.
Unofficial, independent project. Not affiliated with or endorsed by Exa.