-
-
Notifications
You must be signed in to change notification settings - Fork 1
MCP Concepts
The technical interface exposed by the local-memory-mcp server for AI agents, compliant with the Model Context Protocol (MCP) Specification v2025-03-26.
-
Protocol Version:
2025-03-26 - Transport: JSON-RPC 2.0 over standard input/output (stdio).
-
Supported Capabilities:
-
tools(list, call) -
resources(list, read, subscribe, listChanged notifications) -
prompts(list, get, listChanged notifications) -
logging(setLevel, message notifications) -
completions(complete)
-
-
Requests & Responses: all requests MUST include a valid, non-null
id(string or integer) never used before in the active session; all responses MUST include the matchingid. -
Notifications: one-way messages MUST NOT include an
idfield. The receiver must not send a response. - Schema Validation: all input schemas and tools use JSON Schema draft 2020-12 by default.
-
Metadata (
_meta): requests and notifications may optionally include a_metaobject for progress tracking or out-of-band metadata. - Authorization: designed for local-first execution over the stdio transport, the MCP Authorization specification (OAuth 2.1) is not applicable. Security is managed via local filesystem permissions and environment-level access.
-
Initialization Handshake: the connection begins with an
initializerequest; the server responds with its capabilities, and the client MUST then send anotifications/initializednotification. No other requests (exceptping) are permitted before the handshake completes. -
Liveness (Ping): both sides support the
pingmethod at any time, including during initialization. - Disconnection: on stdio transports the client gracefully exits by closing the input stream; the server shuts down gracefully.
-
Error Handling: if protocol version negotiation fails, the server returns an explicit
-32602error containing thesupportedandrequestedversions.
-
Ping: a standard JSON-RPC request with method
"ping"and no parameters; the receiver returns"result": {}. If no response arrives within a reasonable timeout, the sender MAY consider the connection stale. -
Progress: requests may include
_meta.progressToken; while processing, the server MAY emitnotifications/progresscarrying the matching token, a strictly increasingprogressvalue, and optionallytotalor a human-readablemessage. Tracking ends when the final response is returned. -
Cancellation: clients may send
notifications/cancelledwith arequestIdand optionalreason; the server aborts the underlying processing (e.g. SQLite query, vector embeddings, tool execution) and drops the response.
- Encoding & Formatting: all JSON-RPC messages MUST be encoded in UTF-8.
- Delimiters: messages MUST be delimited by a single newline and MUST NOT contain embedded newlines within their payload.
-
I/O Channels: the server reads from
stdinand writes responses/notifications exclusively tostdout; nothing but valid MCP JSON-RPC messages may be written tostdout. -
Diagnostics & Logging: the server MAY write UTF-8 strings to
stderrfor logging; output onstderrdoes not inherently indicate a protocol error.
- The client MUST declare the
rootscapability during initialization. -
List Request (
roots/list): the server MAY request the active workspaces; the client returns an array ofRootobjects, each with a mandatoryuri(using thefile://scheme) and an optionalname. -
Notifications (
notifications/roots/list_changed): if the client declaredroots: { listChanged: true }, it MUST notify the server whenever its workspace boundaries change.
Tools are executable functions exposed to the LLM to perform actions, interact with the local SQLite database, or retrieve dynamic data. The server registers 17 canonical tools — legacy dotted names (memory-store, task-create, …) are not registered; their functionality is folded into the unified tools under auto-inferred modes. See the Tool Reference for full usage examples.
-
memory-write: unified write tool — store a new entry (content+type+title; formerlymemory-store), update an entry (id/code+ fields; formerlymemory-update), or acknowledge usage (acknowledge: "used" | "irrelevant" | "contradictory"; formerlymemory-acknowledge). Convenience modes:type: "decision"withcontext/rationale/alternatives(importance-4 decision),type: "task_archive"withkey_decisions/next_steps(importance-3 archive). -
memory-read: unified read tool — search (query; formerlymemory-search), detail (id/code/ids/codes; formerlymemory-detail), or recap (no params; formerlymemory-recap). -
memory-delete: soft-delete one or more memory entries (singleidor bulkids). -
synthesize: advanced reasoning tool that synthesizes grounded answers using the client's LLM (formerlymemory-synthesize). Only registered when the client declares thesamplingcapability. -
repo-summarize: update the high-level summary for a repository (formerlymemory-summarize).
-
task-read: unified read tool — list (no params; formerlytask-list), detail (id/task_code; formerlytask-detail), or search (query). -
task-write: unified write tool — create (phase+title+description; formerlytask-create), interactive create (interactive: true), update (id/code; formerlytask-update), or bulk (tasks[]). Progresses tasks throughbacklog → pending → in_progress → completed/canceled/blocked; acommentis required on status changes, andcompletedgates on children being completed first. -
task-delete: hard deletion of task records (singleidor bulkids).
Resources provide read-only access to specialized data views using a repository-scoped URI scheme, with real-time updates via resources/subscribe.
-
repository://index— list of all available repositories. -
session://roots— active workspace roots of the current client session.
-
repository://{name}/memories— paginated list of active memories for a repository. -
repository://{name}/memories?search={search}&type={type}&tag={tag}— filtered memory list. -
memory://{id}— direct access to a memory entry (full details and statistics) by UUID. -
repository://{name}/summary— high-level global summary/signal for a repository. -
repository://{name}/tasks— paginated list of tasks for a repository. -
repository://{name}/tasks?status={status}&priority={priority}— scoped task list. Thepriorityfilter (1–5) uses local-memory-mcp semantics:1=Low,2=Normal,3=Medium,4=High,5=Critical— it is not an MCP-specified field. -
task://{id}— direct access to a task (full description and comments) by UUID. -
repository://{name}/actions— paginated stream of agent tool actions logged in a repository. -
action://{id}— direct access to one action audit log entry by integer ID.
Read-only views over a repo's codebase index. Every read requires the repo to be indexed — otherwise the server returns a RecoverableError ("Repo … not indexed. Run codebase-index on repo.").
-
codebase://{repo}/symbols— symbol records (search,kind,limit,offsetquery params; mirrors the SEARCH mode ofcodebase-read). -
codebase://{repo}/symbols?search={search}&kind={kind}&limit={limit}— filtered/paginated forms, registered as separate templates. -
codebase://{repo}/symbols/{name}— full trace payload for one symbol (definition, references, export chain, parent/children; mirrors the TRACE mode ofcodebase-read). Ambiguous names return a disambiguation payload; a missing symbol returns the-32002resource-not-found error. -
codebase://{repo}/files/{file_path}— file landmark: indexed file metadata (path, language, checksum, line count, size, last indexed) plus its symbols. Raw file content is not served (disk-only, never stored — payload carriescontent: null); use theCODEmode ofcodebase-read(withrepoPath) to grep file contents.
All codebase:// reads are strictly read-only and DB-flat: payloads contain symbols and spans only, never raw content.
Prompts are predefined instruction templates that guide model interactions. Not all coding agents support MCP prompts:
| Agent | MCP Prompts | Notes |
|---|---|---|
| Claude Desktop | ✅ Supported | Prompts appear as slash commands |
| Claude Code | ✅ Supported | Invoked as /mcp__servername__promptname
|
| Cursor | ✅ Supported | Prompts supported, Resources NOT supported |
| Windsurf | ✅ Supported | All three: Tools, Prompts, Resources |
| GitHub Copilot (VS Code) | ✅ Supported | Use /<server>.<prompt> in chat |
| Continue.dev | ✅ Supported | Surfaces as slash commands in agent mode |
| Zed | ✅ Supported | As slash commands |
| Gemini CLI | ✅ Supported | |
| Codex CLI (OpenAI) | ❌ Not Supported | Only Tools + Resources |
| Cline | ❌ Not Supported | Only Tools + Resources |
If your agent doesn't support prompts, invoke the equivalent behavior via Tools (e.g. prompt memory-agent-core instructions manually) or use the Dashboard UI.
-
memory-agent-core— essential behavioral contract for any memory-aware agent. -
project-briefing— onboarding template for starting a new session in a repository.
-
task-management-guidelines— task lifecycle and coordination contract for complex multi-task initiatives (replaces the legacytask-orchestratorprompt, which is not registered). -
senior-code-review— high-standard review template focused on project-specific patterns. -
root-cause-analysis— debugging template for tracing bugs back to their origin.
-
Completions: supported via
completion/completefor autocompletion of prompt arguments (ref/prompt) and resource arguments (ref/resource) — not tool inputs. -
Logging: dynamic log level adjustment via
logging/setLevel, structured logs vianotifications/message. -
Sampling: uses the
sampling/createMessageclient capability to generate synthesized memory summaries (thesynthesizetool). -
Elicitation: uses the
elicitation/createclient capability (formorurlmode) for interactive task creation forms.
The MCP interface and responses are provided "AS IS" without any warranty.
- Getting Started — install and register the server
- Tool Reference & Usage Guide — tool usage and examples
- Referensi Protokol MCP — Bahasa Indonesia
MCP Local Memory Service — local-first long-term memory (SQLite + semantic search), a web dashboard, and a codebase index for AI agents. Back to Home
Provided "AS IS", without warranty of any kind.
Home
English
- Getting Started
- Tools Reference
- MCP Concepts
- Features
- Hybrid Search
- Dashboard Guide
- Troubleshooting
- Auto-Start Dashboard
- Claude Code Integration
- Codex Integration
- Kiro Integration
Bahasa Indonesia
- Memulai
- Referensi Alat
- Referensi Protokol MCP
- Fitur Inti
- Pencarian Hibrida
- Panduan Dasbor
- Pemecahan Masalah
- Auto-Start Dasbor
- Integrasi Claude Code
- Integrasi Codex
- Integrasi Kiro
Features