DocsAgent
DocsAgent is an MCP server that gives AI agents fast, private, local full-text search over a personal Zotero library, using a native C++ BM25 search engine so results return in milliseconds without sending documents anywhere.
DocsAgent is a spec-driven Model Context Protocol server, with Zotero as its first supported source, that lets an MCP client such as Claude Desktop, Cursor or Cline search, read and write a user's Zotero library. A resident C++ search core does BM25 full-text search with query-ranked passage retrieval over collections of more than 1,000 PDFs, returning results in about 15 milliseconds with a low memory footprint.
It exposes eight MCP tools, five for reading and three for writing, with JSON-schema-validated arguments, token budgets, result deduplication and a three-layer write safety gate, and supports both a local stdio transport and a remote streamable HTTP transport with origin checks, API-key or OAuth token introspection and per-request access control. The client shell never spawns the search core during a tool call; the core runs as its own background service that stays available across client restarts.
The core has both a TypeScript package and a feature-equal Python wrapper over the same JSON-RPC contract, and the engine reads the Zotero library directly on the user's own machine.