CAESAR_API_KEY. Sign up in the Caesar app, create an API key, and keep it in your environment, the CLI key store, or your MCP client config. For a limited time, all accounts receive a $1,000 starting credit grant. Not sure which surface you need? Start with CLI vs MCP.
In a hurry? For agents that support skills, run:
Setup states
Paste one of these prompts into your agent and let it do the work:
Claude Code
Fastest path for the search skill:caesar-search, caesar-read, caesar-setup, caesar-best-practices) and the caesar-subagent:
/caesar-setup) to pick them up. Verify:
caesar-* directories. The skills drive the caesar-search CLI; if it is missing from PATH, /caesar-setup installs it.
Alternative (or addition): connect the remote MCP server instead.
claude mcp list shows caesar connected. To see its tools (web_search and web_fetch on the web-search profile), run /mcp inside a session.
Cursor, Windsurf, and other MCP clients
Add the streamable-HTTP server to your client’s MCP config (.cursor/mcp.json, Windsurf’s mcp_config.json, or equivalent):
Most clients do not expand environment variables inside config files — inject the key value when generating the config, and never commit a literal key.
web_search and web_fetch. Details: remote MCP server.
Any agent with a skills directory
If your agent uses the Skills CLI, install the search skill directly:CAESAR_SKILLS_DIR:
ls ~/.agents/skills shows the four caesar-* directories. With CAESAR_SKILLS_DIR set, the caesar-subagent file is skipped — subagent definitions are Claude Code-specific. Other harnesses ignore the context: fork frontmatter and run the skills inline; they still work. Details: skills.
If your agent uses the skills npm CLI, install from the GitHub shorthand:
npx skills add caesar-search; skills expects a source such as owner/repo, a GitHub URL, or a local path.
For Claude Code, prefer the curl installer above because it also writes ~/.claude/agents/caesar-subagent.md. The npx skills path installs the SKILL.md folders only.
Plain shell agents (CLI)
Installcaesar-search through one channel:
~/.local/bin (override with CAESAR_INSTALL_DIR). Verify:
search_id and one result. Auth: export CAESAR_API_KEY=... or caesar-search auth login (browser login; --device for SSH). Usage and scripting contract: CLI usage, automation.
Vercel AI SDK
ai package (version 5 or later) is an optional peer dependency — install it explicitly. Then:
caesarTools() returns web_search and web_fetch wired to a default client that reads CAESAR_API_KEY. Pass caesarTools({ client }) to supply a configured Caesar instance. Verify the subpath resolves:
function. Details: AI SDK tools.
Raw HTTP
Nothing to install. One authenticated call:search_id confirms access. The OpenAPI spec is served unauthenticated at /openapi/public.json on the same host. See the API reference.
Troubleshooting
CLI exit code 3, or HTTP 401
CLI exit code 3, or HTTP 401
Auth failure. Set
CAESAR_API_KEY or run caesar-search auth login. If a key is already set, it is malformed, expired, or revoked. Check state with caesar-search auth status --json.Unknown flag or unknown command
Unknown flag or unknown command
The installed CLI is outdated. Run
caesar-search update — it detects the install channel (npm, Homebrew, standalone) and upgrades in place — then retry the exact same command. Do not run npm update -g or brew upgrade by hand.HTTP 429 rate_limited
HTTP 429 rate_limited
Over the per-key second limit. Back off and retry — the
X-RateLimit-Reset header gives the window reset, at most about a second away. The CLI and SDKs retry 429 automatically with exponential backoff; if you still see 429, lower request volume or request a higher per-key limit. See rate limits.MCP connection returns 401
MCP connection returns 401
Check the
Authorization header: it must be Bearer followed by an active key. Auth failures on /mcp are HTTP-level, so the client reports a connection error rather than a tool error.