本地 MCP 记忆服务器 - 完全离线运行。A fully local MCP memory server with no API keys required, supporting session management, memory storage, search, and auto-recording of prompts and code changes.
The Local Memory MCP Server provides 10 tools with basic functionality but significant quality gaps. Tool naming follows verb_noun conventions (add_memory, search_memory, get_recent_context, etc.), which is positive. However, descriptions are present but lack depth and context for LLM decision-making. Parameter schemas are defined with proper JSON Schema format and types, but most parameters lack meaningful descriptions that explain constraints, formats, or usage context. Output schemas are not documented in the code provided, responses are mentioned in descriptions but their structure is not formally specified. Error handling is absent from the visible code, no guidance on recovery, retryability, or user-fixable vs. fatal errors. The tool definitions are clearly visible in server.js with explicit registration via ListToolsRequestSchema handler, so no inference penalty applies. Chinese-language descriptions are present but reduce clarity for English-speaking LLMs and tool discovery systems. Overall, this server meets basic MCP tool registration requirements but falls short of production-grade quality.
添加一条新的记忆/观察记录
创建新会话
删除指定的记忆记录
获取指定ID的观察记录
获取最近的上下文记忆
获取会话详情
列出所有会话
搜索记忆内容(模糊搜索)
Descriptions are minimal and lack context for LLM tool selection. Chinese-language descriptions ('添加一条新的记忆/观察记录', '搜索记忆内容(模糊搜索)') reduce clarity for English-speaking systems. Descriptions should be 50-200 characters, explain WHAT the tool does, WHEN to use it, and any side effects.
Parameter descriptions are present but lack depth. Most do not explain valid ranges, formats, constraints, or examples. E.g., 'importance' is described as '重要程度 1-10' (importance level 1-10) in Chinese, should be in English and clarify behavior when omitted. 'tags' should specify delimiter behavior, max length, valid characters.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
查看对话/记忆时间线
更新记忆内容
Output schemas are not documented. Code shows tools return results (e.g., addObservation returns an observation object, search results are filtered), but the response structures are not formally specified in tool definitions. LLMs cannot plan downstream calls or extract fields without knowing what to expect.
No error handling guidance in tool definitions. Code shows no try-catch in handler, no validation of inputs, no feedback on invalid parameters. Tool invocations that fail will return opaque errors. Destructive operations (delete_memory) lack confirmation or dry-run support.
Destructive tools (delete_memory) have no confirmation step or audit trail. An agent invoking delete_memory with an ID can permanently remove memories without warning. This violates the confirmation-request pattern for irreversible operations.
Parameter types and descriptions use Chinese language ('记忆类型', '搜索关键词', '观察记录ID'). English descriptions are required for reliable LLM parsing and international tool discovery.
The 'type' parameter in add_memory is described as accepting 'fact, preference, task, note' as examples but is not constrained as an enum. LLMs may pass arbitrary type values outside the intended set.
Tools lack pagination guidance. search_memory returns 'limit: 10' by default, but no documentation of what happens if 10,000 memories exist. No 'total_count' or 'next_cursor' documented. Large result sets could exhaust LLM context.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) in definitions. Clients cannot infer which tools are safe to call, which modify state, and which are idempotent without external documentation.