kairn
OfficialKairn

AIアシスタント向けのコンテキスト認識型ナレッジエンジン。
ステータス: Alpha。 APIとCLIは機能し、テスト済みです(開発を参照)。ただし、インターフェースはリリース間で変更される可能性があります。フィードバックや問題報告を歓迎します。
他のツールはAIにメモリを与えます。Kairnは、インテリジェントなコンテキストルーティングを備えたナレッジグラフを与えます。何を、いつ、どのくらい読み込むかを把握しているため、AIは集中力を保ち、圧倒されることはありません。
pip install kairn-ai
kairn init ~/brain
kairn serve ~/brain一行でClaude Codeに追加:
claude mcp add kairn -- kairn serve ~/brainまたは、Pythonのセットアップ不要のワンクリックバンドルとしてインストール: 最新リリースから.mcpbファイルをダウンロードし、Claude Desktopなどのバンドル対応アプリで開きます。
他のクライアントについては、下のクイックスタートを参照してください。Kairnが初めてですか?最初の5分にジャンプしてください。
インストール方法
ルート | 対象 | コマンド |
PyPI | Pythonを使う人、およびすべてのMCPクライアント |
|
MCPバンドル ( | Claude Desktopやその他のバンドル対応アプリ。Pythonのインストールは不要 | リリースからダウンロードして開く |
Claude Code | 一行で、PyPIインストールを使用 |
|
バンドルにはKairnのソースコード自体は含まれていません。kairn-aiを依存関係として宣言し、ホストがuvで解決するため、バンドルインストールとpip installは同一のコードを実行します。データベースの場所はバンドルインストール時に設定可能で、デフォルトは~/.kairnで、マシンから離れることはありません。
Related MCP server: Mnemosyne
なぜKairnなのか?
すべてのAI会話はゼロから始まります。以前の洞察、決定、パターンは消えてしまいます。既存のメモリツールはフラットなキーと値のペアを保存するだけで、関係性を表現したり、適切なタイミングで適切なコンテキストを表面化したりできません。
Kairnは違います:
コンテキストルーター + プログレッシブディスクロージャー - キーワードに基づいて関連サブグラフを自動的に読み込み、要約から始めて必要なときだけ詳細に掘り下げます。他のツールにはこれができません。
FTS5を備えたナレッジグラフ - フラットなストレージではありません。ノード間の型付き関係(
depends-on、resolves、causes)と、出所追跡、すべてにわたる全文検索を備えています。経験の減衰 + 自動昇格 - 経験は時間とともに重要性が薄れます(生物学的減衰モデル)。頻繁にアクセスされる経験は自動的に永続的な知識に昇格します。AIは重要でないことを自然に忘れます。
22のMCPツール - Claude Desktop、Cursor、VS Code、Windsurf、およびあらゆるMCPクライアントで動作します。5動詞の関係判断のための
kn_judgeと、読み取り専用のヘルス診断のためのkn_doctorが含まれます。ワークスペースごとの分離 - 各ワークスペースは独立したSQLiteストアです。チーム展開にはJWT認証とロールベースのアクセス制御(owner / maintainer / contributor / reader)が同梱されています。
クイックスタート
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.jsonに追加:
{
"mcpServers": {
"kairn": {
"command": "kairn",
"args": ["serve", "~/brain"]
}
}
}Cursor
.cursor/mcp.jsonに追加:
{
"mcpServers": {
"kairn": {
"command": "kairn",
"args": ["serve", "~/brain"],
"env": {
"KAIRN_LOG_LEVEL": "WARNING"
}
}
}
}VS Code
.vscode/mcp.jsonに追加:
{
"servers": {
"kairn": {
"type": "stdio",
"command": "kairn",
"args": ["serve", "~/brain"]
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.jsonに追加:
{
"mcpServers": {
"kairn": {
"command": "kairn",
"args": ["serve", "~/brain"]
}
}
}エディタを再起動してください。Kairnの22のツールがMCPセクションに表示されます。
最初の5分
ガイド付きの初回実行を最初から最後まで:
pip install kairn-ai
kairn init ~/brain # creates the workspace + database上記の一行(またはクライアントのクイックスタートスニペット)を追加し、クライアントを再起動します。接続したら、アシスタントに何かを覚えてもらうように依頼します:
「分析サービスにはSQLiteではなくPostgresを選んだことを覚えておいて。同時書き込みが必要だったから。」
これは内部でkn_learnを呼び出し、次のようなJSONエンベロープを返します(実際の実行から取得、ツールのCLIミラーであるkairn learn経由):
{"_v": "1.0", "stored_as": "node", "node_id": "002d9c22", "experience_id": "d0710c2f", "type": "decision", "confidence": "high", "namespace": "knowledge", "candidates": []}新しいセッションを開始し、同じことを思い出すように依頼します - これはkn_recallを呼び出し、保存したばかりの内容を表面化します。再説明は不要です:
{"_v": "1.0", "count": 2, "results": [
{"source": "node", "id": "002d9c22", "name": "Decision: we chose Postgres over SQLite for the analytics service beca", "type": "learned_decision", "description": "we chose Postgres over SQLite for the analytics service because we needed concurrent writers", "relevance": 1.0},
{"source": "experience", "id": "d0710c2f", "type": "decision", "content": "we chose Postgres over SQLite for the analytics service because we needed concurrent writers", "confidence": "high", "relevance": 1.0}
]}kn_learnは永続的なグラフノードと減衰する経験の両方を保存しました(高信頼度は両方を行います。信頼度ルーティングを参照)。kn_recallは3語のトピックから両方を見つけました。
いつでもkairn status ~/brainをスモークテストとして実行してください - JSON統計ブロック(ノード/エッジ/経験の数)が出力されれば、ワークスペースは正常です。手動で行う代わりに、すべてのコア機能のスクリプト化されたツアーが必要ですか?kairn demo ~/brainを実行してください - ノード作成、クエリ、経験の保存、学習、リコール、コンテキストを約30秒で一通り実行します。
どのツールをいつ使うか
22のツールは初日から頭に入れるには多いです。ほとんどのセッションではこれらだけが必要です:
したいこと | 使用するツール | 理由 |
新しいことを覚える(決定、落とし穴、パターン、解決策) |
| デフォルトのエントリポイント - 永続ノード(高信頼度)または減衰する経験(中/低)に自動ルーティング。自分で判断する必要はありません |
表明されたユーザー設定をその場でキャプチャする |
| 専用の設定書き込みパス - 呼び出し側モデルが設定を1つの明示的な文として述べます。あらゆるタイプの中で最も長い半減期で保存されます |
永続的であるとわかっている名前付き概念を追加する |
| 減衰を完全にスキップ - 日常の経験ではなく構造的な知識用 |
明示的な信頼度/減衰制御で一回限りの経験を記録する |
|
|
テキスト、タイプ、タグ、名前空間で永続ナレッジグラフを検索する |
| 減衰する経験ではなくノードを探している場合 |
保存された経験を関連性と減衰でランク付けして検索する |
| グラフノードではなく経験コンテンツ(解決策、落とし穴、回避策)を探している場合 |
1回の呼び出しでトピックに関連するすべてを表面化する |
| 答えがノードか経験かまだわからない場合 - Kairnに両方を検索させます |
その他すべて(kn_crossref、kn_related、kn_connect、kn_judge、kn_project/kn_projects/kn_log、kn_idea/kn_ideas、kn_promote_pending、kn_prune、kn_remove、kn_status、kn_doctor)は高度な使用法です - 基本を理解したら、下の完全な22ツールリファレンスを参照してください。
22ツール(kn_プレフィックス)
すべてのツールはMCPプロトコルに従い、JSONレスポンスを返します。
グラフ(6)
ツール | 説明 |
| ナレッジグラフにノードを追加 |
| ノード間に型付きエッジを作成(緩いモードの語彙) |
| 5動詞の判断エッジを記録(厳密モード: |
| テキスト、タイプ、タグ、名前空間で検索 |
| ノードまたはエッジをソフト削除(元に戻せる) |
| グラフ統計、ヘルス、システム概要 |
プロジェクトメモリ(3)
ツール | 説明 |
| プロジェクトを作成または更新 |
| プロジェクトを一覧表示、アクティブを切り替え |
| 進捗または失敗エントリを記録 |
経験メモリ(5)
ツール | 説明 |
| 減衰付きで経験を保存 |
| 発話時に表明されたユーザー設定をキャプチャ(最長の半減期) |
| 減衰を考慮した経験検索 |
| 期限切れの経験を削除 |
| 高アクセスな経験を永続ノードに昇格 |
アイデア(2)
ツール | 説明 |
| アイデアを作成または更新 |
| ステータス、カテゴリでアイデアを一覧/フィルタ |
インテリジェンス(5)
ツール | 説明 |
| 信頼度ルーティングで知識を保存 |
| 関連する過去の知識を表面化 |
| 現在のワークスペースで類似の過去の解決策を見つける |
| キーワード → プログレッシブディスクロージャー付きの関連サブグラフ |
| 接続されたノードを見つけるためのグラフ走査(BFS) |
診断(1)
Tool | Description |
| 読み取り専用のヘルスチェック(ロックモード、FTS5 パリティ、プロモーションの滞留、名前空間の散乱、孤立エッジ) - チェックごとの判定と集計サマリーを含む構造化エンベロープを返します |
リソースとプロンプト
リソース(MCP クライアント向けの読み取り専用コンテキスト):
kn://status- グラフの概要、アクティブなプロジェクトkn://projects- すべてのプロジェクトと最近の進捗kn://memories- 最近の関連性の高い経験
プロンプト(セッション管理):
kn_bootup- アクティブなプロジェクト、最近の進捗、上位の記憶を読み込む(セッション開始時)kn_review- セッションを要約し、次のステップを提案する(セッション終了時)
仕組み
アーキテクチャ
Any MCP Client (Claude, Cursor, VS Code)
│
▼ MCP Protocol (stdio)
FastMCP Server (22 tools)
│
┌────┼────┐
▼ ▼ ▼
Graph Memory Intelligence
Engine Engine Layer
│ │ │
└────┼──────┘
▼
SQLite + FTS5
(per-workspace)減衰モデル
経験は指数関数的に関連性が低下します:
relevance(t) = initial_score × e^(-decay_rate × days)タイプ | 半減期 | 備考 |
solution | 120 日 | 安定、永続的 |
pattern | 90 日 | アーキテクチャ知識 |
decision | 100 日 | 文脈依存 |
workaround | 40 日 | 一時的な修正はすぐに薄れる |
gotcha | 70 日 | 厄介な落とし穴は関連性が持続 |
preference | 180 日 | 永続的なユーザー設定 - 初期推定値であり、まだテール調整は未実施 |
半減期は、推測ではなく、本番の経験ストアの実際のアクセステールに基づいて調整されています(例外: preference はアクセス履歴のない新しいタイプのため、その値は実データが蓄積されるまでの文書化された初期推定値です)。
kn_learn による信頼度ルーティング:
high→ 永続ノード + 経験(減衰なし)medium→ 2 倍減衰の経験low→ 4 倍減衰の経験自動昇格: 5 回以上のアクセス → 永続ノード
ノードアクセストラッキング:
kn_recall、kn_context、kn_crossrefはアクセスされたノードを記録し、減衰および昇格パイプラインに供給します
ベンチマーク

Kairn は LongMemEval-S で総合 56.2% を記録しています(500/500 問採点、 GPT-4o リーダー + ジャッジ、単一実行、エラー 0)。以下は実際のカテゴリ別 数値で、悪い結果も含みます - 各赤いセルはその診断へのリンクです:
カテゴリ | n | 精度 | 診断 |
single-session-user | 70 | 91.4% | - |
single-session-assistant | 56 | 83.9% | - |
knowledge-update | 78 | 70.5% | - |
temporal-reasoning | 133 | 42.9% | |
multi-session | 133 | 41.4% | |
single-session-preference | 30 | 10.0% |
500 問には 30 問の棄権バリアント(正解は回答を辞退すること)が含まれます。 これらは上記の各カテゴリ内でカウントされ、別途採点されます: Kairn はそのうち 96.7% で正しく棄権します。
呼び出しレイテンシはクエリあたり約 1.4 ms です(FTS5、インプロセス、ネットワークなし)。プロトコル、 誠実性に関する注記、再現手順: BENCHMARKS.md。
このスコアカードは最新の状態を維持します: リコールに影響を与えるリリースは毎回 これらの数値を再公開し、弱点セルは数値が実際に動くまで掲示されたままです。 選りすぐりの実行も、隠されたカテゴリもありません。
CLI
kairn init <path> # Initialize workspace
kairn serve <path> # Start MCP server (stdio)
kairn status <path> # Graph stats
kairn demo <path> # Interactive tutorial
kairn benchmark <path> # Local performance benchmarks (latency, not LongMemEval)
kairn token-audit <path> # Audit tool token usage
kairn import git <path> <repo>... # Import git commit history (zero-LLM, offline)
kairn import claude-code <path> # Import Claude Code session history (zero-LLM, offline)履歴のインポート
kairn import git <workspace> <repo>... は、1 つ以上のローカル git リポジトリから Kairn ストアをバックフィルします($0 で、LLM 呼び出しなし、ネットワーク呼び出しなし)。Conventional-commit
プレフィックスは経験タイプにマッピングされます(fix: -> solution、feat:/refactor:/perf: -> pattern、
その他すべて -> decision)。マージコミットはスキップされます。インポートされた経験は、あなたの有機的な知識とは別の専用の
imported-git 名前空間に配置されるため、常に区別可能で、不適切なインポートは完全に元に戻せます。
kairn import git ~/brain ~/code/my-project --dry-run # Preview first
kairn import git ~/brain ~/code/my-project # Then import for real
kairn import git ~/brain ~/code/proj-a ~/code/proj-b --since 2026-01-01冪等 - 再実行すると、まだインポートされていないコミットのみがインポートされるため、リポジトリの履歴が成長しても 再実行しても安全です。
Claude Code トランスクリプト
kairn import claude-code <workspace> は、既存の Claude Code セッション履歴から Kairn ストアをバックフィルします。こちらも $0 で完全にオフラインです。--root を指定しない場合は
~/.claude/projects(および 2 つ目のアカウントがある場合は ~/.claude-secondary/projects)をスキャンします。
--root PATH は繰り返し指定可能なオーバーライドです。インポートされた経験は独自の
imported-claude-code 名前空間に配置されるため、有機的な知識と区別され、不適切なインポートは元に戻せます。
kairn import claude-code ~/brain --dry-run # Review exactly what would be stored
kairn import claude-code ~/brain # Import (prompts once before writing)
kairn import claude-code ~/brain --root ~/other/projects --since 2026-01-01 --yes保存される内容(粗いモード): セッションごとに 1 つの経験 - セッションのタイトルと
そのセッションの最初のプロンプト。これは意図的に、細かい決定ごとの抽出ではなく、低詳細・高精度の
サマリーです。ゼロ LLM のルールベース抽出器では、捕捉された決定と通常の計画中の雑談を
確実に区別できないため、import claude-code はノイズの多い断片ではなく、クリーンなセッションレベルの
ポインターをインポートします。これは完全なトランスクリプトアーカイブではなく、一度きりの移行でもありません -
冪等であり、履歴が成長するにつれて再実行することを意図しています。
プライバシー。 保存されるすべての文字列は、まず決定的なシークレットリダクターを通過します
(API キー、Authorization/Bearer ヘッダー、password=/token=/secret= の代入、
一般的なベンダーキー形状、秘密鍵ブロック、URL に埋め込まれた認証情報)。ツール出力と
ツール呼び出しブロックは決して読み取られず、あなた自身のプロンプトテキストのみが対象です。リダクターは多層防御であり、
唯一の制御ではありません。実際の(ドライランではない)実行は明示的な確認の背後にゲートされ、
--dry-run は何かを書き込む前に、リダクション後の正確なテキストを表示します。リダクションは
そのルールセットに制限されるため、最初の実際のインポート前の --dry-run レビューが推奨されます。
何もあなたのマシンから外部に出ることはありません。
設定
KAIRN_LOG_LEVEL=INFO|DEBUG|WARNING # Default: WARNING
KAIRN_DB_PATH=~/brain/.kairn # Default: {workspace}/.kairn
KAIRN_CACHE_SIZE=100 # LRU cache entries
KAIRN_JWT_SECRET=<your-secret> # Required for team features開発
git clone https://github.com/primeline-ai/kairn
cd kairn
pip install -e ".[dev,team]"
pytest tests/ -v --cov
ruff check src/ && ruff format src/プロジェクト構造
src/kairn/
├── server.py # FastMCP server + 22 tools
├── cli.py # CLI commands
├── config.py # Configuration
├── core/
│ ├── graph.py # GraphEngine (6 tools)
│ ├── memory.py # ProjectMemory (3 tools)
│ ├── experience.py # ExperienceEngine (4 tools)
│ ├── ideas.py # IdeaEngine (2 tools)
│ ├── intelligence.py # IntelligenceLayer (5 tools)
│ └── router.py # ContextRouter
├── storage/
│ ├── base.py # Storage interface
│ └── sqlite_store.py # SQLite + FTS5 implementation
├── models/ # Data models
├── events/ # Event bus
└── auth/ # JWT + RBAC (team feature)パフォーマンス
最新のハードウェアでの一般的な操作時間:
操作 | 時間 |
| 2-5ms |
| 5-15ms |
| 1-3ms |
| 10-50ms |
| 20-100ms |
使用プロジェクト
プロジェクト | Kairn の用途 |
永続的なインサイトストレージ、クロス分析パターントラッキング、レンズ効果指標 | |
セッションメモリ、プロジェクト状態、学習の永続化 |
ライセンス
MIT
PrimeLine エコシステムの一部
ツール | 機能 | 詳細 |
自己改善型 Claude Code プラグイン - メモリ、委任、自己修正 | ||
AI 向けコンテキストルーティングを備えた永続的ナレッジグラフ | ||
ハートビートモニタリングを備えた並列 Claude Code セッション | ||
敵対的ハードニングを備えた 3 段階プランニング | ||
多視点分析のための 7 つの認知レンズ | ||
Claude Code 向けの 5 つの本番グレードワークフロースキル | ||
軽量なセッションメモリとハンドオフ |
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to have a living memory with atomic knowledge storage, multi-factor recall, organic decay, automatic learning, and graph traversal via MCP.1MIT
- AlicenseNot gradedqualityFmaintenanceProvides persistent, graph-based memory for AI agents via MCP, enabling semantic search, wikilink traversal, reminders, and injection protection.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to have persistent long-term memory by automatically storing and retrieving important information via MCP tools.MIT
- FlicenseNot gradedqualityBmaintenanceProvides persistent, causal memory for AI agents with semantic recall, causal tracking, and importance-based forgetting through MCP tools.
Related MCP Connectors
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Shared long-term memory vault for AI agents with 20 MCP tools.
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/primeline-ai/kairn'
If you have feedback or need assistance with the MCP directory API, please join our Discord server