Skip to main content
Every runtime block below expects 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:
That installs the Caesar search skill from the repo. The API-served installer below installs the full skill bundle plus the Claude Code subagent where supported.

Setup states

Paste one of these prompts into your agent and let it do the work:

Claude Code

Fastest path for the search skill:
Install the four skills (caesar-search, caesar-read, caesar-setup, caesar-best-practices) and the caesar-subagent:
Restart the session (or run /caesar-setup) to pick them up. Verify:
Expect four 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.
Verify: 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.
Verify from any shell (the endpoint is stateless and answers plain JSON):
Expect exactly two tools: 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:
The installer targets any skills directory via CAESAR_SKILLS_DIR:
Verify: 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:
Install only the runtime search skill with:
Do not use bare 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)

Install caesar-search through one channel:
npm needs Node 20+; the curl installer verifies checksums and lands in ~/.local/bin (override with CAESAR_INSTALL_DIR). Verify:
Exit code 0 and a JSON object containing 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

The 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:
Prints function. Details: AI SDK tools.

Raw HTTP

Nothing to install. One authenticated call:
A 200 with a search_id confirms access. The OpenAPI spec is served unauthenticated at /openapi/public.json on the same host. See the API reference.

Troubleshooting

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.
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.
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.
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.