g0t4_mcp-server-memory-file
The mcp-server-memory is an MCP server designed to interact with a memory text file to assist Claude with inter-chat context management.
mcp-server-memory
This is an MCP server to interact with a memory text file to help Claude with inter-chat context.
Each line is a memory.
These tools allow Claude (and other MCP clients) to manage memories mid-chat:
memory_add(memory: string)
- append the memorymemory_search(query: string)
- return matching memories (substring exact match) - later, might allow globs/regexmemory_delete(query: string)
- delete matching memories (substring exact match)memory_list()
- return all memories- FYI
memory_update
==memory_delete
+memory_add
For example,
- I mention my name => "talking to Wes"
- metion daughter's age => "Wes's daughter is 8"
- say working on a typescript project => "working on typescript project"
- AND, this is critical, can be based on things Claude (assistant/LLM) says or does...
- Notably, tool use (i.e.
run_command
)... say there is a failure on a first attempt to use the tool (i.e. thepython
command isn't present) and then a subsequent tool use succeeds (i.e. usingpython3
instead ofpython
) => Claude can record "use python3, python is not present"...
- Notably, tool use (i.e.
- I ask Claude to get rid of memories about X => memory_delete(query: X)
- I correct my name => memory_search("oldname") + memory_delete(each matching record, or a common subset query) + memory_add("newname")
Then, when a new chat begins, Claude will automatically get recent memories (a subset or all) OR can ask for memories (some/more/all). And then can use those to influence responses/tools/etc.
Design
A simple memory text file, why:
- ChatGPT's memory works well and is essentially a text file
- Maybe it's structured behind the scenes, however if you review your memory its presented as a text file.
- My testing of a similar reminders feature for
mcp-server-commands
worked great (when Claude had them). - Unstructured text simplifies the tooling and parameters to basically managing a list of strings.
Cueing mechanism:
- It's also important to have a cue for the model to know when to store memories. This is a bit more unclear how best to do this but..
- Training: OpenAI acknowledges some training of models to know when to store memories. Just like models are trained for tool use.
- Prompt: A system prompt component likely contains a reminder to trigger storing memories.
- Tool alone: In my testing of Claude, with a tool spec alone, and even with hints/suggestions in tool responses, I couldn't get Claude to store memories. So this alone is not sufficient. Seems like Claude's training with tools is to only use them in pursuit of the prompt/request and thus why I believe adding a reminder/cue in a prompt component will work well.
TODOs/Ideas
I have no idea if these are worth the time, just listing ideas here for the future. Perhaps in part to stop myself from working on them :)
- Recency factor: a way to rearrange memories based on recency?
- Order then becomes relevant for ambiguous memory queries (i.e. work on typescript project and python project then I ask to start a new project, could suggest the most recently used one?)
- Fade out old memories?
Related MCP Servers
View all knowledge_and_memory servers →git-mcp
by idosal
GitMCP is a free, open-source, remote Model Context Protocol (MCP) server that transforms GitHub projects into documentation hubs, enabling AI tools to access up-to-date documentation and code.
Knowledge Graph Memory Server
by modelcontextprotocol
A basic implementation of persistent memory using a local knowledge graph, allowing Claude to remember information about the user across chats.
mcpdoc
by langchain-ai
MCP LLMS-TXT Documentation Server provides a structured way to manage and retrieve LLM documentation using the Model Context Protocol.
rust-docs-mcp-server
by Govcraft
The Rust Docs MCP Server provides an up-to-date knowledge source for specific Rust crates, enhancing the accuracy of AI coding assistants by allowing them to query current documentation.
mindmap-mcp-server
by YuChenSSR
A Model Context Protocol (MCP) server for converting Markdown content to interactive mindmaps.
algorand-mcp
by GoPlausible
This is a Model Context Protocol (MCP) implementation for Algorand blockchain interactions, providing a server package for blockchain interactions and a client package for wallet management and transaction signing.
mcp-obsidian
by MarkusPfundstein
MCP server to interact with Obsidian via the Local REST API community plugin.