
docsagent/docsagent
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
⚡ DocsAgent — AIエージェントにあなたの個人ナレッジベース(現在はZotero;Obsidian、Apple Notes、そして地元のドキュメントを旅で提供)に即時かつプライベートにアクセスできるようにします。
概要
はスペック駆動型(Zoteroが最初にサポートされているソース)で、任意のAIエージェント—Claude Desktop、Cursor、Cline、Qwen Code、または任意のMCPクライアント—が、常駐するライブラリを通じて検索、読み取、書き込むことを可能にします。BM25の全文検索+クエリ順位の文章検索は、完全ローカル(RAG対応の知識ベース)で提供されています。 - 🔒 — エンジンはあなたのマシン上で直接Zoteroライブラリを読み込みます。PDFは決してそのライブラリから離れません。- ⚡ — 逆インデックスBM25+パッセージランキング、ミリ秒ルックアップ、低メモリ容量(1,500紙のライブラリで160〜227MB)。- 🧩 — 5回の読み取り+3回の書き込み、JSONスキーマ検証済み引数、トークンバジェット、結果の重複、三層の書き込みセーフティゲートを備えています。- 🌐 — ローカルMCPクライアント向けのstdio、リモート展開用のStreamable HTTP(オリジンチェック、API-key / OAuth 2.0トークン内省、リクエストごとのRBAC、/healthプローブ)。- 🐍 — このTypeScriptパッケージと同等の機能を持つPythonラッパーは、同じJSON-RPCコントラクト上で同じツールを提供します。
概要(AI 翻訳)
DocsAgentはAIエージェントにあなたの個人知識ベースへの即時かつプライベートなアクセスを提供します。
docsagent は仕様駆動のMCP(モデルコンテキストプロトコル)サーバーであり、
Claude Desktop、Cursor、Cline、Qwen Code、または任意のMCPクライアントなど、あらゆるAIエージェントが検索、閲覧、そして
居住者を通じてZoteroライブラリ、Obsidianボールト、Apple Notes(macOS)を書き込む
C++検索エンジン。BM25全文検索+クエリ順位付けの文章検索1,000+ PDF
**~15 ms*で、完全にローカル(RAG対応のナレッジベース)です。
- 🔒 ローカルファーストかつプライベート — エンジンはあなたのZoteroライブラリ、ObsidianのVault、そして Apple Notesは直接あなたのマシンに保存されます。ノートやPDFは決してそのまま出ません。
- 🗂 3つのソース、1つのクエリ — Zoteroのアイテム/注釈/注釈、Obsidianの保管庫、 Apple Notes(macOSのみ);混合検索は3つの順位を逆順に融合させます。
- ⚡ ネイティブC++検索コア — 逆インデックスBM25 + パッセージランキング、ミリ秒ルックアップ、 低メモリ容量(1,500紙ライブラリで160〜227MB)。
- 🧩 8 MCPツール — 5 read + 3 write、JSON-schema 検証済み引数、トークンバジェット、 結果はデデアップし、三層の書き込みセーフティゲートを導入します。
このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。
README
以下は原文 README の抜粋です。原文を見る。
DocsAgent MCP — Zotero, Obsidian & Apple Notes for AI agents 📚⚡
DocsAgent gives AI agents instant, private access to your personal knowledge base.
docsagent is the spec-driven MCP (Model Context Protocol) server that lets
any AI agent — Claude Desktop, Cursor, Cline, Qwen Code, or any MCP client — search, read, and
write your Zotero library, Obsidian vault, and Apple Notes (macOS) through a resident
C++ search engine. BM25 full-text search + query-ranked passage retrieval over 1,000+ PDFs
at ~15 ms, fully local (RAG-ready knowledge base).
- 🔒 Local-first & private — the engine reads your Zotero library, Obsidian vault, and Apple Notes store directly on your machine. Your notes and PDFs never leave it.
- 🗂 Three sources, one query — Zotero items/annotations/notes, Obsidian vaults, and Apple Notes (macOS only); mixed search fuses all three by reciprocal rank.
- ⚡ Native C++ search core — inverted-index BM25 + passage ranking, millisecond lookup, low memory footprint (160–227 MB for a 1,500-paper library).
- 🧩 8 MCP tools — 5 read + 3 write, with JSON-schema validated arguments, token budgets, result dedup, and a three-layer write safety gate.
- 🌐 Two transports — stdio for local MCP clients, Streamable HTTP for remote deployment
(origin checks, API-key / OAuth 2.0 token introspection, per-request RBAC,
/healthprobe). - 🐍 Two shells, one core — this TypeScript package and a feature-equal Python wrapper ship the same tools over the same JSON-RPC contract.
Architecture
MCP Client (Claude Desktop / Cursor / Cline / Qwen Code / any MCP host)
│ stdio (local) or Streamable HTTP /mcp (remote)
▼
MCP shell ← this package (@docsagent/mcp-zotero / docsagent-mcp-zotero)
· tool schemas (spec-driven), argument validation, token budget, dedup
· write orchestration via the Zotero local API, write safety gate, RBAC
· group-library sync via the Zotero Web API
│ JSON-RPC 2.0 over HTTP ({coreHost}:{httpPort}/rpc, cpp-httplib)
▼
DocsAgent Core (resident C++ engine)
· reads ~/Zotero/zotero.sqlite + storage/, an Obsidian vault, and (macOS) the
Apple Notes store — directly on your machine
· builds & serves one index per source (BM25 + passage ranking); mixed search
(source "all") fuses them by reciprocal rank (RRF, k=60)
The shell never spawns the core during tool calls and never touches your source files. The core runs as a background service and stays available across MCP client restarts. Tool schemas and error codes: spec/.
Quick Start
1. Start the core
npx @docsagent/docsagent start # spawn the bundled core for your platform
npx @docsagent/docsagent status # pid / endpoint / version
Python shell (same verbs, under the core subcommand):
インストール
npx -y @docsagent/docsagent設定
{
"mcpServers": {
"docsagent": {
"command": "npx",
"args": ["-y", "@docsagent/docsagent"]
}
}
}