ContextKeep

ContextKeep 🧠
AIエージェントのための無限の長期記憶
ContextKeepは、AIエージェント(Claude、Cursor、Gemini、OpenCodeなど)に永続的で検索可能な「脳」を提供する、強力なスタンドアロン型メモリサーバーです。同じことを何度も繰り返す必要はありません。AIにすべてを永久に記憶させましょう。
機能 • V1.3の新機能 • インストール • MCPツール • Webダッシュボード • 設定
🌟 機能
♾️ 無限のコンテキスト: プロジェクトの詳細、設定、決定事項、スニペットを無制限に保存。期限切れやサイズ制限はありません。
💰 費用とトークンの節約: 重要な記憶のみを抽出することで、コンテキストウィンドウの使用量とAPIコストを大幅に削減します。
🔌 ユニバーサルな互換性: Stdio(ローカル)またはSSE(リモート/ホームラボ)を介して、あらゆるMCP準拠クライアントで動作します。
🧭 メモリインデックスプロトコル: 信頼性の高い2段階の取得システム(
list_all_memories()→retrieve_memory())により、エージェントは常に正しいキーを確実に見つけ出せます。🖥️ モダンなWebダッシュボード: 洗練されたダークインターフェースで、グリッド、リスト、カレンダー表示を使用して視覚的にメモリを管理できます。
🔒 プライバシー第一: 100%ローカルストレージ。データが外部サーバーに送信されることはありません。
🔎 スマート検索: すべてのメモリコンテンツに対するキーワード検索およびセマンティック検索。
🐧 Linuxサービス: systemdサービスとしてバックグラウンドで静かに実行されます。
🐳 Docker対応: Docker Composeによるワンコマンドデプロイ。
⬇️ エクスポートとバックアップ: MCPツールまたはWebUIを介して、すべてのメモリをJSONとしてエクスポート可能。

🆕 V1.3の新機能 — Harbor
🐳 Dockerサポート
コミュニティからの最も要望の多かった機能です。ContextKeepはDockerfileとdocker-compose.ymlを同梱し、ワンコマンドでデプロイ可能になりました:
docker compose up --build以上です。MCPサーバーは:5100、WebUIは:5000で起動し、Dockerボリュームを介してメモリが永続化されます。
📦 モダンなPythonパッケージング
pyproject.toml—uv、poetry、pipのための標準的な依存関係仕様uvサポート — インストーラーがuvを自動検出し、uv syncを使用して超高速セットアップを実現後方互換性 —
pip install -r requirements.txtも引き続き動作します
🛠️ 3つの新しいMCPツール(合計5つから8つへ)
新しいツール | 目的 |
| エージェントが直接メモリを削除可能に |
| メモリ数、合計文字数、ストレージパスを一目で確認 |
| JSON形式での完全バックアップ(移行やアーカイブ用) |
⬇️ WebUIエクスポート
ツールバーの「すべてエクスポート」ボタン(または
Ctrl+E)タイムスタンプ付きの
contextkeep_backup_YYYY-MM-DD.jsonをダウンロード
🧹 コード品質
memory_manager.py内のデッドコード(到達不能な重複try/except)を修正適切なPythonパッケージングのために不足していた
core/__init__.pyを追加全体を通して、裸の
except:をexcept Exception:に置換
🚀 インストール
オプション1: クイックスタート (pip)
リポジトリをクローン:
git clone https://github.com/mordang7/ContextKeep.git cd ContextKeepインストーラーを実行:
Linux/macOS:
python3 install.pyWindows:
python install.py
ウィザードに従う: インストーラーが仮想環境を作成し、依存関係をインストールし、すぐに使える
mcp_config.jsonを生成します。
オプション2: uv (高速)
git clone https://github.com/mordang7/ContextKeep.git
cd ContextKeep
uv sync
uv run python server.pyオプション3: Docker (ホームラボ向け推奨)
git clone https://github.com/mordang7/ContextKeep.git
cd ContextKeep
docker compose up --build -dこれにより以下が起動します:
サービス | ポート | 目的 |
|
| MCPサーバー (SSEトランスポート) |
|
| Webダッシュボード |
メモリはDockerボリューム(contextkeep-data)に永続化されます。
🛠️ MCPツール
ContextKeepは、接続されたエージェントに対して8つのMCPツールを公開します:
ツール | シグネチャ | 目的 |
| (引数なし) | [最初に使用] すべてのメモリキー、タイトル、タグ、タイムスタンプのディレクトリを返します |
|
| 正確なキーを指定して、特定のメモリの全内容を取得します |
|
| メモリを作成または更新します |
|
| すべてのメモリに対するコンテンツベースのキーワード/セマンティック検索 |
| (引数なし) | 最近更新された10件のメモリを返します |
|
| キーを指定してメモリを完全に削除します |
| (引数なし) | メモリの総数、文字数、ストレージパスを取得します |
| (引数なし) | すべてのメモリをJSON配列としてエクスポートします |
推奨されるエージェント指示
GEMINI.md、AGENTS.md、またはCLAUDE.mdに以下を追加してください:
## Memory Index Protocol (MANDATORY)
1. FIRST — call `list_all_memories()` to get the complete key directory
2. THEN — call `retrieve_memory(exact_key)` using the exact key from step 1
Only use `search_memories()` for content-based searches, NOT for key lookup.🔌 設定
mcp_config.example.jsonの内容をAIクライアントの設定ファイルにコピーし、パスを更新してください。
オプション1: ローカル (Claude Desktop / Gemini CLI / Cursor)
{
"mcpServers": {
"context-keep": {
"command": "/absolute/path/to/ContextKeep/venv/bin/python",
"args": ["/absolute/path/to/ContextKeep/server.py"]
}
}
}オプション2: SSH経由のリモート (ホームラボ / Raspberry Pi)
ホームサーバーでContextKeepを実行し、ネットワーク上のどのマシンからでもアクセスします:
{
"mcpServers": {
"context-keep": {
"command": "ssh",
"args": [
"-i", "/path/to/private_key",
"user@192.168.1.X",
"'/path/to/ContextKeep/venv/bin/python'",
"'/path/to/ContextKeep/server.py'"
]
}
}
}オプション3: SSEモード (HTTP)
OpenCode、Webアプリ、またはHTTPトランスポートを好むクライアントに最適です:
{
"mcpServers": {
"context-keep": {
"transport": "sse",
"url": "http://localhost:5100/sse"
}
}
}オプション4: Docker
mcp_config.docker.example.jsonを使用するか、クライアントをコンテナに向けてください:
{
"mcpServers": {
"context-keep": {
"transport": "sse",
"url": "http://localhost:5100/sse"
}
}
}🌐 Webダッシュボード
ContextKeepには、CLIを触らずにメモリを管理できるフル機能のWeb UIが付属しています。
URL:
http://localhost:5000グリッド表示: タグチップ、文字数、インラインアクションを備えたメモリカード
リスト表示: 最終更新順にソートされた、スキャンしやすい高密度テーブル
カレンダー表示: 月ごとにメモリ履歴を閲覧
検索: タイトル、キー、コンテンツに対するリアルタイムフィルタリング
フルCRUD: ブラウザからメモリの作成、閲覧、編集、削除が可能
エクスポート: ワンクリックで全メモリをJSONとしてダウンロード (
Ctrl+E)
手動で起動する場合:
./venv/bin/python webui.py🐧 Linuxサービス設定 (ホームラボ向け推奨)
MCPサーバーとWeb UIの両方を永続的なバックグラウンドサービスとして実行します:
chmod +x install_services.sh
./install_services.sh以下がインストールされます:
サービス | ポート | 目的 |
|
| MCPサーバー (SSEトランスポート) |
|
| Webダッシュボード |
サービスの管理:
sudo systemctl status contextkeep-server
sudo systemctl restart contextkeep-webui📋 変更履歴
V1.3 — Harbor
✅ Dockerサポート — ワンコマンドデプロイ用のDockerfile + docker-compose.yml
✅ モダンなパッケージング — pipに加えて
pyproject.toml+uvをサポート✅ 新しいMCPツール:
delete_memory()— エージェントがメモリを削除可能に✅ 新しいMCPツール:
get_memory_stats()— メモリ数とサイズを一目で確認✅ 新しいMCPツール:
export_memories()— JSON形式での完全バックアップ✅ WebUI:
Ctrl+Eショートカット付きの「すべてエクスポート」ボタン✅ WebUI: 統計APIエンドポイント
✅ 修正:
memory_manager.py内のデッドコードを削除✅ 修正: Docker/パッケージインポート用に不足していた
core/__init__.pyを追加✅ 修正: 裸の
exceptをexcept Exceptionに置換✅ インストーラーを
uv検出付きのV1.3に更新✅ コミュニティ貢献者に感謝 🙏
V1.2 — Obsidian Lab
✅ 新しい
list_all_memories()MCPツール — 1回の呼び出しで全メモリディレクトリを取得✅ Obsidian Lab UIの再設計 — シアン/ネオンアクセントのダークプレミアムな美学
✅ ヘッダーにメモリ数のライブバッジを追加
✅ カレンダーの月移動(進む/戻る)
✅ グリッドカードにタグチップと文字数バッジを表示
✅ よりクリーンなカレンダーレイアウトのために「最近のメモリ」サイドバーを削除
✅ メモリインデックスプロトコルV1.2 — 標準化された2段階のエージェント取得パターン
V1.1
グリッド、リスト、カレンダー表示を備えたWebダッシュボード
Stdioに加えてSSEトランスポートをサポート
Linux systemdサービスインストーラー
メモリのタイトルとタイムスタンプ
V1.0
store_memory、retrieve_memory、search_memoriesを備えたコアMCPサーバーJSONベースの永続ストレージ
SSHリモートトランスポートサポート
🤝 貢献
貢献を歓迎します。プルリクエストの作成、Issueの報告、機能の提案など、どのような入力も感謝いたします。
V1.3 コミュニティ貢献者
Harborリリースの貢献者の皆様に深く感謝いたします:
@Cyberdogs7 — PR #2: 初期のDockerおよびDocker Compose実装
@frehov — PR #3: Dockerfile、
pyproject.toml、uvサポート、__init__.pyの修正@thinkstylestudio — コミュニティでの推奨
☕ プロジェクトのサポート
ContextKeepがあなたの時間、トークン、精神的余裕を節約できたなら、コーヒーを一杯ご馳走していただけると幸いです。
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/mordang7/ContextKeep'
If you have feedback or need assistance with the MCP directory API, please join our Discord server