MCP server
Kept ships an MCP (Model Context Protocol) server called kept-vault-server. Any MCP-aware client — Claude Desktop, Cursor, Cline, or your own — can connect to it and read, write, and search your vault from inside that client's chat.
What it exposes
The server provides these MCP tools:
| Tool | Purpose |
|---|---|
vault_list | List conversations, optionally filtered by platform / date / topic |
vault_read | Read a single conversation by path |
vault_search | Full-text search across the archive |
vault_recall | Semantic search (Smart Recall) |
vault_write | Create a new note in the vault (e.g., to save a synthesis the model just produced) |
vault_topics | List topics with their conversation counts |
It also publishes Claude Code skills under mcp/skills/ — small instructions that teach the model how to use the tools effectively (e.g., "when the user asks 'what did I decide about X', use vault_recall rather than vault_search").
Auto-install
The fastest way to register the server with whatever MCP clients you have:
curl -fsSL https://kept.work/scripts/install-kept-mcp.sh | bash
Or, if you already cloned the repo:
cd kept.work
./scripts/install-kept-mcp.sh
This:
- Detects which MCP clients you have on
PATH(claude,openclaw) npm installs and builds themcp/package- Registers the server with each detected client at user scope
Flags:
./scripts/install-kept-mcp.sh --claudecode # Only register with Claude Code
./scripts/install-kept-mcp.sh --openclaw # Only register with OpenClaw
./scripts/install-kept-mcp.sh --no-build # Skip npm install + build (assume dist/ exists)
./scripts/install-kept-mcp.sh --dir <repo-path> # Use a specific clone of the repo
Windows: same flags via install-kept-mcp.ps1.
Manual registration
If your MCP client isn't auto-detected, register manually.
Claude Code
cd kept.work/mcp
npm install && npm run build
claude mcp add kept-vault \
--scope user \
--command "node $(pwd)/bin/kept-vault-server.js"
Claude Desktop
Edit your claude_desktop_config.json (location varies by OS — see Claude Desktop's docs). Add:
{
"mcpServers": {
"kept-vault": {
"command": "node",
"args": ["/absolute/path/to/kept.work/mcp/bin/kept-vault-server.js"]
}
}
}
Restart Claude Desktop.
Cursor / Cline / Other
Most MCP clients accept a command + args pattern similar to the Claude Desktop config. Point them at node + the absolute path to mcp/bin/kept-vault-server.js.
As a Claude Code plugin
The repo also publishes a Claude Code plugin marketplace manifest (.claude-plugin/marketplace.json). If you have Claude Code's plugin features enabled, you can install kept-vault as a plugin instead of registering manually:
# Inside Claude Code
/plugin install kept-vault
This pulls the plugin from the repo and registers the MCP server, plus installs the bundled skills under mcp/skills/.
Verifying
# Claude Code
claude mcp list
# Should show: kept-vault: node /path/to/kept-vault-server.js
# In any MCP client, the model should now have vault_list, vault_search, etc. as tool calls.
Open any MCP-aware chat and try: "List my conversations from this week." The model should call vault_list and return the matches.
Configuration
The server reads its vault location from the KEPT_VAULT_DIR environment variable, defaulting to ~/.kept/vault. To point an MCP client at a different vault:
{
"mcpServers": {
"kept-vault": {
"command": "node",
"args": ["/path/to/kept-vault-server.js"],
"env": {
"KEPT_VAULT_DIR": "/path/to/alternative/vault"
}
}
}
}
This is useful for keeping separate vaults (work / personal) and pointing different clients at different ones.