Agent console
A JSON-RPC 2.0 endpoint at /api/mcp, speaking the Model Context Protocol. Every mutating tool runs the same service function the interface does, scoped to this browser session — so an agent and a reader cannot diverge, and neither can see the other's records.
Console
Copy a volume id from the shelf. The console shares this browser session, so it can read exactly what you can.
Calls needing a volume or sheet id stay disabled until one is pasted, so a click can never send a call that has nothing to act on.
Transcript
No calls yet. Run one to see the exact request and response.
Tool catalogue
list_volumesreadList the reading volumes owned by the calling session, newest first. Read-only.
get_volumereadRead one volume with its mounted sheets, the audit chain head and its event count. Read-only.
coverage_reportanalysisRun the herbarium-grade/1.0.0 coverage engine over a volume: the score, itemised per-class factors, open gaps and a next-read recommendation. Analysis only; writes nothing.
mount_sheetmutatingMount an arXiv paper or an open-access bookshelf book into a volume. The server resolves the record from its source, so metadata cannot be spoofed. Idempotent per (volume, source).
record_decisionmutatingRecord a reading decision (admitted, deferred, rejected) with an optional note, and optionally set the reading status. Seals a new chain event.
annotate_sheetmutatingWrite marginalia onto a mounted sheet. The text is stored, never rendered as HTML.
remove_sheetmutatingRemove a mounted sheet. This writes a tombstone so the audit chain stays replayable; the volume keeps its seal.
verify_chainanalysisReplay a volume's audit chain and report the first broken link. Analysis only; writes nothing.
Wire format
GET /api/mcp returns a self-describing manifest, so the endpoint is discoverable by a client that only knows the URL.
curl -s https://safety-herbarium.vercel.app/api/mcp | head -20
curl -s -X POST https://safety-herbarium.vercel.app/api/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'8 tools are published at /mcp.json for client configuration.