LocalKeep MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOCALKEEP_DB_PATH | No | Override the full path to the SQLite database file. Alternative to LOCALKEEP_DATA_DIR. Defaults to ~/.localkeep/localkeep.db when installed via pip. | |
| LOCALKEEP_DATA_DIR | No | Override the data directory where localkeep.db is stored. Alternative to LOCALKEEP_DB_PATH. Defaults to ~/.localkeep when installed via pip. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_memoriesA | Search the user's curated memory banks (local Hub). USE FIRST when context about the user's own past — personal OR work/research — would help answer the question. Examples of triggers: a person from their past, picking up a research topic, continuing a report or project, any dated "what did I do then" question. Pass query (keywords), entity (person or topic tag from memories), and/or date range. Returns titled, dated facts the user wrote — authoritative for their timeline. |
| get_memories_by_date_rangeA | Fetch memories whose event_date falls in a date range. USE when the user mentions a month, year, or period, or asks what they were working on during a timeframe. Combine with query/entity for topic or person. |
| list_banksA | List memory bank titles so you can pick the right timeline. USE to discover which banks exist before get_bank or a targeted search. |
| get_bankA | Load all memories from one bank by title (exact or partial match). USE when a bank title matches the topic or person the user is asking about. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| recall_timeline_context | Use before answering when prior user-authored context (personal or work) matters. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
search_memories and get_memories_by_date_range overlap significantly because search_memories already accepts a date range, making the dedicated date-range tool largely redundant. list_banks and get_bank are clearly distinct, but the two retrieval tools create ambiguity in tool selection.
All tools use clear lowercase snake_case verb_noun names. The pattern is consistent across search_memories, get_memories_by_date_range, list_banks, and get_bank, each following an imperative verb + object structure.
With only 4 tools, the server is tightly scoped for its purpose of querying memory banks. Each tool has a distinct role in discovery and retrieval, and there is no bloat.
The server covers the main retrieval needs: searching across banks, filtering by date, listing banks, and loading a full bank. However, there is no way to search within a specific bank without loading all its memories, and no single-memory fetch by ID, so some workflows require client-side filtering.