Memory MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEMORY_MCP_DIR | No | Override storage dir (relative to repo root, or absolute). Disables git-native auto-detection. | |
| MEMORY_MCP_BUDGET | No | Storage budget per workspace in bytes (default: 2097152 = 2MB) | 2097152 |
| MEMORY_MCP_REPO_ROOT | No | Fallback single-repo path (default: process.cwd()) | |
| MEMORY_MCP_WORKSPACES | No | JSON mapping workspace names to repo paths (multi-repo mode). Example: '{"android":"/path/to/android"}' |
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 | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| briefA | Start of conversation — call once to load context for a project. Returns stored preferences, gotchas overview, stale entries needing review, and entry counts. Example: {"lobe": "my-project"} Surfaces everything previously saved via learn/gotcha/convention/prefer. Call once at session start. Results stay valid for the entire conversation — no need to re-call. |
| recallA | Before starting a task, surface prior knowledge you haven't loaded yet. Searches stored memory using semantic + keyword matching. Example: {"context": "auth token refresh", "lobe": "my-project"} Searches YOUR memory entries (from learn/gotcha/convention/prefer). Does NOT search the codebase or the internet. Call once per area. Skip if you already recalled this topic or received it from brief(). Knowledge stays in your context. Required param: "context" — the area you need knowledge about. |
| gotchasA | Before making changes to an area, check for known pitfalls. Retrieves stored gotchas, optionally filtered. Example: {"lobe": "my-project", "area": "auth"} or {"lobe": "my-project"} for all. brief() already includes a gotchas overview. Use this when you need gotchas for a specific area not covered in the briefing. |
| conventionsA | Before writing new code, check how this codebase does things. Retrieves stored conventions, optionally filtered. Example: {"lobe": "my-project", "area": "testing"} or {"lobe": "my-project"} for all. recall() also surfaces conventions. Use this for focused convention lookup, recall() for broader cross-topic search. |
| gotchaA | When something surprises you or doesn't work as expected, flag it here. Example: {"lobe": "my-project", "observation": "Gradle cache must be cleaned after Tuist changes or builds silently use stale artifacts"} Store facts that help future sessions, not notes about this one. Wrong: "Build failed because of stale cache." Right: "Gradle cache must be cleaned after Tuist changes." One insight per call. Persists across sessions, gets priority in brief() and recall(). Returns related knowledge. Required params: "lobe", "observation". |
| conventionA | When you notice a pattern the codebase follows, record it here. For personal style rules, use prefer() instead. Example: {"lobe": "my-project", "observation": "All ViewModels use StateFlow for UI state. LiveData is banned."} Store facts that help future sessions, not notes about this one. Wrong: "Migrated to StateFlow." Right: "All ViewModels use StateFlow." One insight per call. Persists across sessions, surfaces in brief() and recall(). Returns related knowledge. Required params: "lobe", "observation". |
| learnA | When you understand how something works — architecture, dependencies, module boundaries — store it here. Catch-all for knowledge not covered by gotcha/convention. Example: {"lobe": "my-project", "observation": "Payments module depends on auth for tokens only, no other cross-module dependency"} Store facts that help future sessions, not actions you took or bugs you fixed. Wrong: "Fixed the null pointer in UserService." Right: "UserService.getUser() returns null when session expires — callers must handle this." One insight per call. Persists across sessions. Returns related knowledge. Required params: "lobe", "observation". |
| preferA | When the user corrects you or states how they want things done, record it here. Example: {"rule": "Never use !! operator"} or {"rule": "Use Anvil for DI", "lobe": "my-project"} Highest trust level. Persists across sessions, surfaced in every brief(). Omit lobe for global preferences; add lobe to scope to one project. Required param: "rule". |
| fixA | When a stored entry is wrong or outdated, correct or delete it. IDs appear in brief/recall/gotchas/conventions results. Example: {"id": "gotcha-3f7a", "correction": "Updated text"} to replace, or {"id": "gotcha-3f7a"} to delete. Required param: "id". Pass "correction" to update; omit to delete. |
| memory_bootstrapA | When no lobe exists for a project — run this before any other tool. Scans repo structure, README, and build system to create a named lobe and seed initial memory. Required param: "root" (absolute path to repo) when the lobe does not yet exist. Example: {"lobe": "my-project", "root": "/absolute/path/to/repo"}. After bootstrapping, all other tools become available for that lobe. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Available memory lobes | Lists all configured memory lobes with their health status and entry counts. |
TDQS
Scored across 10 tools
Most tools have clear, distinct purposes: brief loads the full context, recall searches broadly, gotchas/conventions retrieve specific types, and gotcha/convention/learn/prefer add different kinds of knowledge. The overlap between recall and the focused retrieval tools is intentional and described, but the singular/plural pairs (convention vs. conventions, gotcha vs. gotchas) could cause misselection if the agent does not read descriptions carefully.
Tool names follow no consistent pattern. Some are verbs (brief, recall, learn, prefer, fix), some are plural nouns used for retrieval (gotchas, conventions), some are singular nouns used for adding (gotcha, convention), and one is a compound (memory_bootstrap). This mix of conventions makes the naming unpredictable.
With 10 tools, the set is well-scoped for a memory/knowledge server. Each tool covers a necessary function: adding knowledge (four types), retrieving it (three approaches), fixing entries, and bootstrapping a project. The count feels appropriate and not bloated.
The tool surface covers the full lifecycle of memory: create (gotcha, convention, learn, prefer), read (brief, recall, gotchas, conventions), update/delete (fix), and initialization (memory_bootstrap). The only minor gap is that there is no dedicated list tool for 'learn' or 'prefer' entries, but recall and brief surface them adequately.