Docmancer について
Docmancer は、出典を明示する Markdown メモリとドキュメント検索を提供する、ローカル専用の MCP サーバーです。複数のコーディングエージェントを使う開発者が、各エージェントの決定事項を読める形で一か所にまとめることを想定しています。回答には根拠となる引用が付きます。
主な機能
- 01編集可能なローカル Markdown による共有メモリ
- 02記録元のエージェントを示す引用付きの回答
- 03シークレットを除外する暗号化バックアップと復元
- 04メモリ書き込み前のレビュー可能な差分表示
- 05API リファレンス用の個人メモリとは別のライブラリ
活用シーン
- 01複数のコーディングエージェントで同じプロジェクトの決定事項を共有
- 02過去の技術選定の根拠となった会話の確認
- 03新しいマシンでのエージェントセッションと設定の復元
MCP 対応
Docmancer はメモリと検索機能を MCP クライアントに公開し、docmancer mcp install コマンドで Codex などのクライアントに登録できます。同じローカルサービスへの別のトランスポートとして動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
20掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 返される一致結果の最大数です。既定値はツールごとに異なります。 |
| query | string | はい | ローカルメモリまたはドキュメントインデックスで検索する自然言語の語句です。 |
| include_history | boolean | いいえ | true の場合、有効なエビデンスに加えて、履歴または置き換えられたメモリエビデンスを含めます。 |
| expand_relations | boolean | いいえ | true の場合、直接一致に関連するメモリ項目を含めます。 |
詳細
コーディングエージェントが、あるマシンでの作業を記憶します
エージェントのバックアップと復元は、開発プレビュー版のコマンドです。暗号化されたローカルアーカイブは現在利用できます。マネージド Cloud スナップショットは、移行と復旧の受け入れ確認が完了するまで利用できません。
Docmancer はエージェントのセッション、メモリー、セットアップを安全に復元し、さらに役立つプロジェクトコンテキストを、使用するすべてのエージェントで利用できるようにします。
Claude Code と Codex は、あるマシン上で自ら作成したファイルを検索できます。一般的なドットファイル用ツールは、ディレクトリをコピーできます。しかし、エージェントを考慮し、シークレットを除去したうえで、構造検証、プロジェクトのマッピング、競合の隔離、未加工の履歴から共有プロジェクトメモリーに至るまでのレビュー済みの経路を備えたバックアップを提供するものは、どちらにもありません。
まず、Docmancer で保護できる内容を確認しましょう。
docmancer backup --dry-run
無料のパスフレーズ暗号化ローカルアーカイブを作成します。
docmancer backup --local --to ~/Backups/agents.dmbak
新しいマシンで Claude Code と Codex を終了し、復元内容をプレビューします。
docmancer restore ~/Backups/agents.dmbak --dry-run
docmancer restore ~/Backups/agents.dmbak
Docmancer は不足している履歴を復元し、同一のファイルはスキップし、安全な設定のみをマージし、異なるセッションは隔離します。認証情報ストア、.env ファイル、MCP の環境変数の値、キャッシュ、ログ、テレメトリー、マシンキーは決してコピーしません。
バックアップまたは復元の後、ローカルでの情報整理により、保護された履歴から長期的に役立つ決定事項や制約事項を見つけます。すべての提案には、正確なトランスクリプトの根拠がリンクされ、レビューを待ちます。
docmancer consolidate
docmancer consolidate --review PROPOSAL_ID
docmancer consolidate --approve PROPOSAL_ID
あなたのエージェントはすでにこれを学んでいます。ただ、互いに伝え合えないだけです。
Claude Code は、あなたが Railway から移行した理由を知っています。Codex は、あなたの移行時の慣例を学びました。Cursor は、あなたが 2 か月前に覆したルールに今も従っています。それぞれのエージェントが何かを書き留めていますが、内容は一致せず、あなたが読める場所には何もありません。
その知識は実在し、すでにあなたのディスクに保存されています。CLAUDE.md ファイル、AGENTS.md ファイル、Cursor のルール、エージェントのメモリディレクトリ、セッション履歴の中に、使うツールごとに異なる場所、異なる形式で存在しています。
Docmancer は、次の 2 つの問いに、この順番で答えるために作られています。
- すべてのコーディングエージェントに、毎回プロジェクトを説明し直しています。共通のコンテキストで作業させるにはどうすればよいですか? Docmancer は、長期的に役立つ情報を、読んで編集できるローカルのプレーンな Markdown にまとめます。そして、接続したすべてのエージェントに関連ファイルを渡すため、一度記録した決定がすべてのエージェントに届きます。
- コーディングエージェントは、私や私の作業スタイルについて、すでに何を知っていますか? Docmancer は、このマシン上でエージェントが書き残したメモリ、指示、ルールをインデックス化し、すべての主張に根拠となる情報源をひも付けます。推測するのではなく、答えを読めます。
明示的に求めない限り、情報があなたのマシンから外に出ることはありません。テレメトリも、アカウントもなく、コア製品の利用に API キーも必要ありません。
インストール
pipx install docmancer
pipx ensurepath
export PATH="$(pipx environment --value PIPX_BIN_DIR):$PATH"
docmancer setup
pipx ensurepath を実行すると、今後のターミナルでもこの変更が維持されます。export の行を実行すると、現在のターミナルですぐに Docmancer を使えるようになります。既存の SSH セッションでは特に重要です。docmancer がまだ command not found と表示する場合は、SSH で再接続してからもう一度試してください。
uv を使用している場合は、uv tool install docmancer で同じようにインストールできます。
setup は、サポート対象のすべてのコーディングエージェントを検出し、完全なプランとプライバシーに関する警告を提示してから、変更を加える前に確認を待ちます。その後、検出した情報をインデックス化し、正規メモリを構築して、エージェントスキルをインストールし、エージェントが対応している場合は自動リコールを有効にします。
質問してみましょう。
docmancer ask "Why did we choose Railway?"
自分のエージェントが残した証拠に基づく、範囲を限定した出典付きの回答が得られます。次に、現在のプロジェクトのアプリを開きます。
cd /path/to/your-project
docmancer web
初回の実行は以上です。所要時間は約 1 分で、setup は作業中のプロジェクトを変更しません。
利用できる機能
6 つのメモリではなく、1 つのメモリ。 サポート対象のすべてのエージェントが同じ正規 Markdown を読み取るため、一度記録した決定を、ファイルを手作業でコピーしなくても Claude Code、Codex、Cursor、Gemini など、すべてのエージェントで利用できます。
根拠のある回答。 リコールでは、必須ポリシー、整理されたメモリ、根拠となるエージェントの情報が、安定した引用とともに返されます。どのエージェントが、何を、いつ言ったのかを確認できます。オプションの言語モデルは、その証拠を文章にまとめますが、回答に含める情報を選ぶことはありません。
データベースではなく、あなたが所有するファイル。 Shared Memory は、一般的なディレクトリに保存される通常の Markdown です。エディターで開いたり、コミットしたり、grep したり、削除したりできます。安定した docmancer://memory/<id> アドレスは、ファイルを移動した後も引き続き機能します。
デフォルトでローカルかつオフライン。 デフォルトのプロファイルでは、SQLite FTS5、sqlite-vec、同梱の軽量埋め込みモデルを使用します。デーモンも、モデルのダウンロードも、ネットワーク呼び出しも、キーも必要ありません。
互いの変更を上書きしない編集。 既存のメモリファイルを変更または移動するには、最後に読み取ったときのコンテンツハッシュが必要です。そのため、あるエージェントが別のエージェントによる新しい決定を、気付かれないまま上書きすることはありません。
書き込み前に確認。 Docmancer に何かを記憶または変更するよう求めると、完全なファイルの変更案を 1 つ作成し、差分を表示します。デフォルトの回答は「いいえ」で、会話の中で後から「はい」と答えても、保存済みの変更案が適用されることはありません。
同じメモリーを VPS や別のマシンに持ち出す
上記の製品全体を、1 台のマシンで無料で利用できます。オプションの有料機能 Personal Sync を追加すると、暗号化転送、管理されたリビジョン履歴、デバイス、およびノートパソコン、VPS、その他のマシンをまたいで作業する際の復元機能を利用できます。
すでにメモリーがあるマシンで、次を実行します。
docmancer cloud connect
ブラウザーからサインインします。Docmancer は復元キットを作成して確認し、オフラインで保管できるよう一度だけ表示した後、最初の暗号化アップロードを自動的に開始します。その後、アカウントページで支払い方法を登録すると、30 日間のトライアルが始まります。別途、復元の確認や初回同期のコマンドを実行する必要はありません。
VPS または 2 台目のマシンに Docmancer をインストールし、次を実行します。
docmancer setup
docmancer cloud connect
新しいマシンに 4 語のペアリングコードが表示されます。すでに接続済みのマシンで docmancer cloud connect を実行し、同じ 4 語が表示されることを確認して、承認します。その後、新しいマシンでもう一度同じコマンドを実行します。Docmancer はマシン全体で共有される Shared Memory ツリーと、そのマシンにマッピングされたプロジェクトツリーをすべてダウンロードします。接続済みのマシンがすべて利用できない場合は、docmancer cloud connect --recover を実行し、オフラインの復元キットを入力します。
選択した月払いまたは年払いのサブスクリプションは、トライアル終了後に自動的に開始されます。解約しない場合は継続されます。更新に失敗すると、アップロード猶予期間は固定で 7 日間です。その後、ホスト上の暗号文が削除対象として予定されるまで、30 日間の読み取り専用での取得とエクスポート期間があります。どのような請求状態でも、ローカルのメモリーとすべてのローカル機能は引き続き動作します。詳しい手順はPersonal Sync ガイドを参照してください。
各エージェントが実際に受け取る内容を確認する
docmancer web を実行し、Shared Memory を開きます。左側のペインにはディスク上の実際のファイルツリーが表示され、中央のペインでは選択したファイルとその来歴を確認でき、右側のペインには接続済みのエージェントが一覧表示されます。エージェントを選択すると、そのエージェントに情報が渡される前に、受け取る範囲を限定した正確なビューを確認できます。
ひな型には明確な方針がありますが、ファイルは自分のものです。
~/.docmancer/tree/ # machine-wide, follows you between projects
├── profile/
│ ├── about.md
│ └── preferences.md
├── principles/
│ └── working-style.md
├── projects/
│ └── active.md
└── shared/
<project>/.docmancer/tree/ # per project
├── overview.md
├── decisions/
├── constraints/
├── workflows/
└── lessons/
エージェントを接続する
docmancer setup は、検出したものをすべてインストールします。個別の連携を管理するには、次を実行します。
docmancer agent install claude-code --hooks
docmancer agent install codex --hooks
| エージェント | スキルファイル | 自動想起 | セッション記録 | MCP |
|---|---|---|---|---|
| Claude Code | あり | あり | あり | あり |
| Codex(CLI、アプリ、デスクトップ) | あり | あり | あり | あり |
| Cursor | あり | |||
| Cline | あり | |||
| Gemini CLI | あり | |||
| OpenCode | あり | |||
| GitHub Copilot | あり | |||
| Claude Desktop | 手動アップロード | あり |
インストールされたスキルにより、エージェントは過去の意思決定について Docmancer にいつ問い合わせるべきか、また明示的に依頼されたときに意図的なメモリーをどのように書き込むべきかを学習します。そのため、サポートされているすべてのエージェントが同じメモリーを利用できます。自動想起とセッション記録にはライフサイクルフックが必要ですが、現時点でそれを備えているのは Claude Code と Codex のみです。そのため、ほかのエージェントはスキルファイルを通じて、必要に応じて想起します。
MCP は同じローカルサービスを介した代替の転送手段であり、2 つ目のメモリーストアではありません。
docmancer mcp install codex
docmancer mcp doctor
意図的に意思決定を記録する
検出機能は、エージェントがすでに書き込んだ内容を見つけます。意図的に記録したい場合は、次を実行します。
docmancer write $'# Deployment\n\nDeploy the API on Railway.' \
--path decisions/deployment.md \
--scope project
後から、どのエージェントからでも、またはシェルからでも読み返せます。
docmancer read decisions/deployment.md
または、承認ステップを設けて Ask に任せることもできます。
docmancer ask "Remember that production releases require a smoke test"
docmancer ask "Update decisions/release.md to require two reviewers" --apply
日常的なコマンド
| コマンド | 目的 |
|---|---|
docmancer setup | エージェントのメモリを検出し、サポートされているすべてのエージェントを接続します。 |
docmancer ask "..." | 根拠を呼び出し、質問に回答するか、メモリの変更を1つ提案します。 |
docmancer web | 現在のプロジェクトのローカルアプリを開きます。 |
docmancer common | 複数のエージェントがそれぞれ独立して記録した内容を表示します。 |
docmancer delivery | インストール済みの統合、呼び出しの状態、最近の利用状況を表示します。 |
docmancer timeline | キュレーションされたメモリが時間とともにどのように変化したかを表示します。 |
docmancer write ... --path file.md | 意図した内容を1つの Markdown メモリファイルに書き込みます。 |
docmancer read <address-or-path> | 出所情報とともに1つのメモリファイルを読み取ります。 |
docmancer edit ... --expected-hash <hash> | メモリファイルを安全に編集します。 |
docmancer move ... --expected-hash <hash> | メモリファイルの名前を変更するか、安全に移動します。 |
docmancer import ./notes | 任意の Markdown をプロジェクトの受信フォルダーにコピーします。 |
docmancer docs query "..." | 別のドキュメントライブラリを検索します。 |
docmancer status | メモリ、ソース、セキュリティ、統合、Cloud の状態を表示します。 |
docmancer doctor | インストールや設定の問題を診断します。 |
docmancer cloud connect | このマシンを接続し、4単語のコードで別のマシンを承認して、暗号化同期を開始します。 |
docmancer cloud estimate | キューへの追加や送信をせずに、次回の暗号化アップロードのサイズ、バッチ処理、現在のプラン上限をプレビューします。 |
正確な引数を確認するには、docmancer --help または docmancer <command> --help を実行してください。すべてのコマンドについては、コマンドリファレンスをご覧ください。
ドキュメントは独立したライブラリです
自分の判断とベンダーの API リファレンスでは、答えとなる質問が異なるため、Docmancer は両者を分けて管理します。ライブラリの内容は検索できますが、個人メモリに自動で挿入されることはありません。
docmancer docs add https://docs.pytest.org
docmancer docs query "How do I parametrize a fixture?"
自分の判断、設定、ルールには ask を使用してください。ライブラリ、API、ベンダーのドキュメントには docs query を使用してください。
検索プロファイルを選択する
デフォルト設定ではデーモンも大容量のダウンロードも必要ありません。
docmancer setup --profile local
SQLite FTS5、sqlite-vec、バンドルされた Model2Vec モデルを実行します。およそ50,000~100,000件のドキュメントを継続的に取り込み、フィルター付きベクトル検索を行う場合は、スケールプロファイルに切り替えてください。
pipx install "docmancer[embeddings-heavy]"
docmancer qdrant up
docmancer setup --profile scale
uv を使用する場合、最初の行は uv tool install "docmancer[embeddings-heavy]" になります。
スケールでは、Qdrant、FastEmbed の高密度埋め込み、疎な SPLADE 検索、逆順位融合を使用します。ベクトルのフィルタリング、同時書き込み、運用上の余裕を向上させます。ソースの網羅性が低いことや評価が不十分なことは解決できません。また、どちらのプロファイルも同じメモリのセマンティクスを実装しています。切り替えによって変わるのはストレージと処理能力であり、権限、出所情報、共有メモリとみなされる条件は変わりません。
プライバシー
メモリ、認証情報、インデックス、ローカルアプリはお使いのマシン内に保持され、Docmancer はテレメトリを収集しません。ネットワークに接続するのは、オンラインドキュメントを明示的に取得する場合、外部モデルを使用する場合、パッケージレジストリを確認する場合、または Cloud を有効にする場合のみです。
上記の機能はすべて無料で、今後も無料です。無料の単一マシン向け製品では解決できない問題が2つあり、それらに対応するのが有料プランです。1つ目は、複数のマシンで作業する場合に、メモリが1台のマシンにしか構築されないことです。任意で利用できる有料の Personal Sync は、同一の正規メモリを承認済みのすべてのマシンに同期することでこの問題を解決します。デバイスから送信される前に暗号化され、リビジョン履歴の管理と復元機能も備えています。通常の設定では、各マシンで docmancer cloud connect コマンドを1回実行し、すでに信頼しているマシンで4語の承認コードを入力します。2つ目は、エージェントがある機能について蓄積したコンテキストが1台のマシンに閉じ込められ、チームのほかのメンバーがアクセスできないことです。この問題を解決するために Team Sync の開発が進められています。Team Sync はまだ利用できません。
ホスト型サービスが受け取るのは暗号文であり、平文のメモリを読み取ったり、お使いのマシン上で何かを実行したりすることはできません。セキュリティアーキテクチャでは、サーバーは何も把握できないと主張するのではなく、どのメタデータが見える状態で残るかを正確に説明しています。
データの保存場所
| 場所 | 内容 |
|---|---|
~/.docmancer/tree/ | profile/、principles/、projects/、shared/ に保存される、マシン全体で共有される Markdown。 |
<project>/.docmancer/tree/ | decisions/、constraints/、workflows/、lessons/ に保存されるプロジェクトメモリ。 |
<project>/.docmancer/inbox/ | インポートした Markdown。任意のキュレーションを待機しています。 |
<project>/.docmancer/trash/ | 復元可能な、削除済みのメモリファイル。 |
<project>/.docmancer/state/decision-journal.jsonl | キュレーションしたファイルの追記専用履歴。 |
~/.docmancer/memory.db | 再構築可能なマシン全体のインデックス。 |
~/.docmancer/docmancer.yaml | ローカル設定。 |
要件
Docmancer は Python 3.11 以降(3.14 を含む)をサポートしているため、インストールコマンドでインタープリターのバージョンを固定する必要はありません。pipx install docmancer(または uv tool install docmancer)を実行すると、マシンにすでにインストールされている新しいバージョンの Python を使用できます。pipx によるインストールは成功しても、シェルから docmancer が見つからない場合は、pipx ensurepath を実行し、export PATH="$(pipx environment --value PIPX_BIN_DIR):$PATH" で bin ディレクトリをエクスポートしてから、もう一度お試しください。コマンドの実行開始後に問題が発生した場合は、docmancer doctor を実行すると原因が表示されます。
貢献
Issue やプルリクエストを歓迎します。プロジェクトの構成と拡張ポイントについては、まず CONTRIBUTING.md をご覧ください。アイデアについて事前に相談したい場合は、ディスカッションを開始してください。セキュリティに関する報告には専用の非公開窓口があります。SECURITY.md に説明があります。
アーキテクチャ、サポート対象ソース、Cloud の境界、トラブルシューティングについては、wiki または完全版のドキュメントをご覧ください。
ライセンス
MIT。LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。