AI Agents & MCP
Your coding agent or AI assistant can work your Campbooks inbox the same way you do — triaging email, reviewing documents, confirming reminders, drafting replies for your approval, and more. It does this through MCP (Model Context Protocol), exposed at /api/mcp on any Campbooks instance.
What it enables
Connect an MCP-capable agent — Claude Code, Cursor, Windsurf, OpenAI Codex CLI, or any other client — and it gains access to your inbox in plain language:
- Triage and skim — read the skim deck, apply archive/keep decisions cluster by cluster, and surface threads where a reply from you is overdue.
- Documents — review pending invoices and receipts, approve or reject them, update extracted fields, and file documents into folders.
- Tasks and reminders — confirm or dismiss AI-extracted to-dos and reminders; create tasks from emails.
- Calendar events — list upcoming events, create events from email context, RSVP.
- Contacts — look up contacts, star the ones you care about, block senders you don't.
- Compose with confirmation — draft a reply or a new email, show it to you first, and only send after an explicit yes.
Two things keep this safe: the MCP key's scopes cap what the agent can do (grant emails:send only if you want it composing), and the skills we ship instruct the agent to show you every draft and name every sender before a send, trash, or block. If you connect a different agent, give it the same rule.
How it's built
The MCP server at POST /api/mcp is a thin protocol wrapper around the same public REST API that powers the CLI and third-party integrations. That means:
- Same permission gates — the MCP key carries the same OAuth scopes as any API client. An agent with
emails:readcan read email; it cannot send unless you also grantemails:send. The acting user's mailbox permissions still apply: an account you cannot send from in the app, the agent cannot send from either. - Same 404-not-403 rule — resources that belong to another workspace return 404, not 403, so the agent never learns whether something exists outside your data.
- Minimal-context design — the server exposes two tools every authenticated client gets for free, regardless of scope:
get_overview(a cheap snapshot of what needs attention: unread count, pending documents, overdue reminders, today's events) andguide(narrative guides for common workflows). An agent should callget_overviewfirst and read a guide before diving in, keeping token use low.
Tools appear in tools/list only for the scopes a key holds. A triage-only key sees around 15 tools; a full key sees all 72.
What you need
- A Campbooks account — Campbooks Cloud or a self-hosted instance.
- An MCP key created in Settings → API access. Unlike short-lived OAuth bearer tokens (2-hour expiry), an MCP key does not expire — it is meant for static agent configurations.
That's it. No separate signup, no extra service to run.
Next steps
- Claude Code plugin — marketplace install, the two skills (
/campbooks:setup,/campbooks:triage), and a walkthrough of a typical session. - Other agents — copy-paste configs for Cursor, Windsurf, OpenAI Codex CLI, and Gemini CLI.
- MCP reference — full tool catalog, authorization forms, scopes, rate limits, and safety guarantees.