Cairntir について
Cairntirは、AIコーディングエージェント向けのローカル優先型の永続メモリサーバーで、複数のセッションやMCPクライアントをまたいで作業する開発者を対象としています。SQLiteに記憶を原文で保存し、予算付きの引き継ぎ、意味検索、ファイルに基づく検索を提供します。
主な機能
- 01SQLiteへの原文メモリ保存
- 02予算付き引き継ぎによる文脈復元
- 03意味またはファイル位置による検索
- 04予測と観測結果の記録
- 05MCPクライアント間でのプロジェクト履歴共有
活用シーン
- 01決定事項を次のコーディングセッションへ引き継ぐ
- 02コード変更の根拠を探す
- 03選択した会話記録の内容を復元する
- 04対応クライアント間でプロジェクトメモリを共有する
MCP 対応
stdio経由のMCPサーバーとして21個のツールを公開します。他のMCPクライアントから `cairntir-mcp` コマンドを設定して利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cairntir
AI コーディングエージェントのための、永続的でローカル優先のメモリーです。Claude Code、Codex、 Cursor、Qwen Code、その他の MCP クライアントが、検索可能なプロジェクト履歴を共有します。
Cairntir は、決定事項、事実、未完了の作業、結果を、あなたが管理する SQLite データベースに そのままの 引き出し として保存します。予算内の引き継ぎにより、セッションをまたいで 引き出し全体を復元できます。さらに、セマンティック検索やファイルに紐づいた想起で、より深い根拠を見つけられます。
現在のリリース:1.12.3。リリースの根拠と 変更履歴をご覧ください。 公開済みのダウンロードは PyPIと GitHub Releasesから入手できます。
インストール
pip install --upgrade cairntir
cairntir setup
Python 3.11 以降が必要です。セットアップではストアを初期化し、検出した対応ホストを 設定します。その後、エージェントを再起動してください。
cairntir version
cairntir doctor
以下の診断機能の変更は未リリースです。現在、pip install では公開済みの 1.12.3 が
インストールされます。このリリースの doctor/status/version は、登録や更新確認のコールバックを
引き続き実行する場合があり、status は書き込み用にストアを開く場合があります。
インストール済みの診断機能を読み取り専用として扱う前に、変更記録をご確認ください。
この候補版では、version はこの CLI のバージョンを報告します。status と doctor は、
ホストを登録したり更新を確認したりせずに、ストアと設定を検査します。MCP エントリが設定されていても、
接続が有効であることの証明にはなりません。セットアップでのローカルな書き込み/読み取り確認では、
ホストへの配信やセマンティック検索での取得は確認できません。実際の保存レシートを必須とし、
検証手順を使って、新しいチャットで正確なタスクを復元してください。
変更と導入の記録では、候補版、リリース済み、インストール済み、 ホストで検証済みの変更を区別し、残っている確認事項とロールバックの境界を示しています。 ソースを編集しても、すでに実行中のホストには反映されません。
1 つのホストまたはプロジェクトで使う場合は、cairntir init --host codex を実行してください。
ユーザースコープの設定には --user を追加します。Cursor のグローバル User Rule は手動で貼り付ける必要があります。
セットアップ時にルールが表示され、その手順が必要であることが報告されます。
設定、検証、復元、トラブルシューティングについては、入門ガイドをご覧ください。
使用方法
エージェントに、プロジェクトのウィングに決定事項を記憶するよう頼み、次のタスクを
cairntir_handoff(wing="myproject") で開始します。ウィングはプロジェクト、ルームはトピック、
引き出しはそのままの 1 件のメモリーです。
cairntir handoff myproject
cairntir handoff myproject --task "repair cache invalidation" --budget 8192
cairntir recall "why did we choose Postgres?" --wing myproject
cairntir recall-for-change src/auth.py
cairntir recover --host codex --wing myproject
cairntir cost myproject
引き継ぎでは、引き出し全体を返すか、文字数の予算により省略された引き出しの名前を示します。 最近のデフォルトレイヤーへの書き込み、未解決の予測、任意のコードアンカーも含まれます。 決着記録では、予測を書き換えることなく、観測された結果を追記します。
移植可能な根拠により、ストアをまたいでソースの識別情報と関係性が保持されます。 評価済み手順には、保留用の根拠とローカルでの承認が必要です。 スコープ付き共有では、オーナーが発行した許可によってアクセスを制限します。
ホストのサポート
| 対応項目 | サポート |
|---|---|
| セットアップ | Claude Code、Cline、Codex CLI、Copilot CLI、Cursor、Gemini CLI、OpenCode、Qwen Code |
| トランスクリプトの復元 | Claude Code、Codex、Qwen Code |
| その他の MCP クライアント | cairntir-mcp の stdio コマンドを手動で設定 |
| Cursor のトランスクリプト | 非対応。制限について明示的な通知が表示されます |
トランスクリプトの復元はオプトイン方式で、個別に予算を設定でき、読み取り専用で、信頼されないデータとして扱われます。
ホストが管理するトランスクリプトの末尾部分を、上限付きで読み取ります。ホストに保存されていないテキストは復元できません。
復元したリクエストを保存するには、cairntir recover ... --write N で明示的に選択する必要があります。メモリは、トランスクリプトやインポートしたファイルに含まれていたというだけで、自動的に信頼できる情報源として扱われることはありません。
データと安全性
信頼できるデータストアは sqlite-vec を使用するローカルの SQLite です。埋め込み処理はローカルで実行されます。初回使用時には埋め込みモデルがダウンロードされる場合があります。任意の更新確認では PyPI に接続し、明示的に選択した LLM アダプターはプロバイダーに接続する場合があります。Cairntir は、これを使用するエージェント向けのサンドボックスではありません。
ポータブルな JSONL は、Python API を通じてコンテンツハッシュと任意の HMAC 署名を検証します。CLI は信頼されないデータとしてインポートし、署名を検証しません。バージョン 1 では、ソースローカルの履歴参照を安全にインポートできません。リンクされた履歴にはデータベースのバックアップを使用してください。エクスポートとインポートでは、形式に定められた外部 URL の制限も適用されます。バックアップと信頼境界については、データの取り扱いを参照してください。
ビルドと統合
MCP サーバーは stdio 経由で21 個のツールを公開します。安定した Python プロトコルにより、カスタムバックエンドをサポートします。統合ガイドを参照してください。
src/cairntir/
├── memory/ # SQLite storage, embeddings, retrieval
├── mcp/ # stdio server and backend
├── reason/ # prediction, experiment, observation
├── recipes/ # composable workflows
└── cli.py # cairntir setup | init | handoff | recover | recall | replay | hotfix | doctor | export | import
tests/ # unit, integration, contract, property, evaluation
docs/ # guides, architecture, recipes, release evidence
コントリビューションには、ロックされた開発環境と必須のチェックが記載されています。テストでは、測定対象の範囲で 80% 以上のカバレッジを必須としています。トランスポートのエントリーポイントは対象から除外し、個別にテストします。LongMemEval のサブセットは回帰テストのゲートであり、一般的なベンチマーク性能を主張するものではありません。
ドキュメント
- 使い始める
- 概念とデータの取り扱い
- マルチホストアーキテクチャ
- レシピ:CodeGlass、Decision Replay、Signal Reader、Bounded Hotfix、Finalization Mode
- ロードマップ
- セキュリティポリシー · リリースポリシー
- 設計原則 · 系譜
Cairntir(CAIRN-teer)は、石を積み重ねた道しるべであるケアンと、シーイングストーンを組み合わせた名前です。Patrick McGuire がメンテナンスしています。MIT ライセンス。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。