Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ContextKeepsearch for my API key storage preferences"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

ContextKeep π§
Infinite Long-Term Memory for AI Agents
ContextKeep is a powerful, standalone memory server that gives your AI agents (Claude, Cursor, Gemini, OpenCode, and more) a persistent, searchable brain. Stop repeating yourself β let your AI remember everything, permanently.
Features β’ What's New in V1.2 β’ Installation β’ MCP Tools β’ Web Dashboard β’ Configuration
π Features
βΎοΈ Infinite Context: Store unlimited project details, preferences, decisions, and snippets β no expiry, no size cap.
π° Save Money & Tokens: Pull only the memories that matter, slashing context window usage and API costs.
π Universal Compatibility: Works with any MCP-compliant client via Stdio (local) or SSE (remote/homelab).
π§ Memory Index Protocol: A reliable two-step retrieval system β
list_all_memories()βretrieve_memory()β so agents always find the right key, every time.π₯οΈ Modern Web Dashboard: Manage your memories visually with Grid, List, and Calendar views in a sleek dark interface.
π Privacy First: 100% local storage. Your data never touches an external server.
π Smart Search: Keyword and semantic search across all memory content.
π§ Linux Service: Runs silently in the background as a systemd service.

π What's New in V1.2
π§ list_all_memories() β The Memory Index Tool
The headline feature of V1.2. Agents can now call list_all_memories() to receive a complete directory of every stored memory β key, title, tags, and last-updated timestamp β in a single call. This eliminates unreliable fuzzy key guessing and makes memory retrieval 100% deterministic.
The recommended retrieval protocol for agents:
Step 1: Call
list_all_memories()β scan the directory for the exact key. Step 2: Callretrieve_memory(exact_key)β fetch the full content.Only use
search_memories()for content-based searches, not key lookup.
π¨ Obsidian Lab UI Redesign
The web dashboard has been completely reskinned with a premium dark "Obsidian Lab" aesthetic:
Deep navy background with electric cyan (
#00e5ff) accentsJetBrains Mono for memory keys β instantly distinguishable at a glance
Violet tag chips on Grid cards
Live memory count badge in the top-right header
π Enhanced Calendar View
Full month navigation β scroll forward and backward through your memory timeline
Cleaned-up layout β the "Recent Memories" sidebar has been removed for a focused, distraction-free calendar experience
π Richer Grid Cards
Grid view cards now show:
Tag chips β all tags displayed as coloured pills directly on the card
Character count badge β instant size indicator per memory (e.g.
2.1k chars)
π Installation
Prerequisites
Python 3.10 or higher
Git (optional)
Quick Start
Clone the repository:
git clone https://github.com/mordang7/ContextKeep.git cd ContextKeepRun the Installer:
Linux/macOS:
python3 install.pyWindows:
python install.py
Follow the Wizard: The installer creates a virtual environment, installs dependencies, and generates a ready-to-use
mcp_config.json.
π οΈ MCP Tools
ContextKeep exposes 5 MCP tools to any connected agent:
Tool | Signature | Purpose |
| (no args) | [USE FIRST] Returns a full directory of all memory keys, titles, tags, and timestamps |
|
| Fetch the full content of a specific memory by exact key |
|
| Create or update a memory |
|
| Content-based keyword/semantic search across all memories |
| (no args) | Return the 10 most recently updated memories |
Recommended Agent Directive
Add this to your GEMINI.md, AGENTS.md, or CLAUDE.md:
π Configuration
Copy the contents of mcp_config.example.json into your AI client's config file and update the paths.
Option 1: Local (Claude Desktop / Gemini CLI / Cursor)
Option 2: Remote via SSH (Homelab / Raspberry Pi)
Run ContextKeep on a home server and access it from any machine on your network:
Option 3: SSE Mode (HTTP)
Ideal for OpenCode, web apps, or any client that prefers HTTP transport:
π Web Dashboard
ContextKeep ships with a full-featured web UI to manage your memories without touching the CLI.
URL:
http://localhost:5000Grid View: Memory cards with tag chips, char counts, and inline actions
List View: Dense, scannable table with all memories sorted by last updated
Calendar View: Browse your memory history by month
Search: Real-time filtering across titles, keys, and content
Full CRUD: Create, view, edit, and delete memories from the browser
To start manually:
π§ Linux Service Setup (Recommended for Homelabs)
Run both the MCP server and Web UI as persistent background services:
This installs:
Service | Port | Purpose |
|
| MCP server (SSE transport) |
|
| Web dashboard |
Manage services:
π Changelog
V1.2 β Obsidian Lab
β New
list_all_memories()MCP tool β complete memory directory in one callβ Obsidian Lab UI redesign β dark premium aesthetic with cyan/neon accents
β Memory count live badge in the header
β Calendar month navigation (forward/back)
β Grid cards now show tag chips and character count badges
β Removed "Recent Memories" sidebar for a cleaner calendar layout
β Memory Index Protocol V1.2 β standardised two-step agent retrieval pattern
V1.1
Web dashboard with Grid, List, and Calendar views
SSE transport support alongside Stdio
Linux systemd service installer
Memory titles and timestamps
V1.0
Core MCP server with
store_memory,retrieve_memory,search_memoriesSQLite-backed persistent storage
SSH remote transport support
π€ Contributing
Contributions are welcome. Open a PR, file an issue, or suggest a feature β all input is appreciated.
β Support the Project
If ContextKeep saves you time, tokens, or sanity β consider buying me a coffee.