create_entitiesLABSCO SUMMARY
What an agent worked out last session is still there in the next one.
The model is deliberately small — entities carry observations, relations join entities in active voice, and everything else is a way in or out of that — which is what makes it predictable to write against. Deletion is the part worth noticing: delete_observations drops one fact without touching the entity holding it, so a long-lived graph gets corrected rather than rebuilt.
What it is
A persistent knowledge graph of entities, relations and observations, plus a lesson store that keeps an error together with the steps that fixed it.
What you get
- Entities and relations created in batches, so a set of facts learned together goes in as one call
- add_observations attaching new facts to entities that already exist, without rewriting the entity
- Deletion at three levels: whole entities with their relations, individual observations, or specific relations
- Lessons alongside the graph: an error saved with its solution (create_lesson), matched against a new error (find_similar_errors), scored as the fix works or fails (update_lesson_success) and suggested for the current context (get_lesson_recommendations)
- read_graph for the whole structure, search_nodes for a query across it, and open_nodes to pull named nodes straight out
Requirements
Node.js and pnpm to build it from a clone; nothing else to supply — no account, no key. The graph and the lessons live in the server's own memory.json and lesson.json. MIT licensed.
Setup effort
Build from source
USE CASES
Recording what a project decided so the next session has it
Create the entities the decision involves, attach the reasoning as observations, and join them with relations written in active voice so the direction of the fact survives.
Answering from what was stored earlier
Search by query when you know roughly what you are after, open the named nodes when you know exactly, and read the whole graph only when the shape itself is the question.
Retiring a fact that stopped being true
Drop the observation that went stale, cut the relation that no longer holds, and remove the entity outright only when the thing itself is gone — which takes its relations with it.
13 tools
Listed in project docs. Your client may show a different list.
create_relationsadd_observationsdelete_entitiesdelete_observationsdelete_relationsread_graphsearch_nodesopen_nodescreate_lessonfind_similar_errorsupdate_lesson_successget_lesson_recommendationsBEFORE YOU INSTALL
What to know first
Tools you get
13 tools named in the project's documentation. All 13, including create_lesson, find_similar_errors, update_lesson_success and get_lesson_recommendations, come only from building this repository and running its dist/index.js. The upstream @modelcontextprotocol/server-memory package has only the nine memory tools.
Requires
Node.js and pnpm (to build the clone)
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/T1nker-1220/memories-with-lessons-mcp-server
cd memories-with-lessons-mcp-server
pnpm install
pnpm buildMCP Clients
Cursor
{
"mcpServers": {
"memory": {
"command": "node",
"args": [
"<YOUR_PATH_TO_DIST>/index.js"
]
}
}
}<YOUR_PATH_TO_DIST>/index.js is the full path to dist/index.js inside your clone — pnpm build creates it. Then reload the Cursor window (Ctrl+Shift+P, "reload window") and pick the stdio type when prompted.