<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Agent on dotnetuniversity</title>
        <link>https://dotnetuniversity.com/tags/agent/</link>
        <description>Recent content in Agent on dotnetuniversity</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <lastBuildDate>Sat, 06 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://dotnetuniversity.com/tags/agent/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Agent Memory for AI Coding Assistants</title>
        <link>https://dotnetuniversity.com/agent-memory-for-ai-coding-assistants/</link>
        <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
        
        <guid>https://dotnetuniversity.com/agent-memory-for-ai-coding-assistants/</guid>
        <description>&lt;img src="https://dotnetuniversity.com/agent-memory-for-ai-coding-assistants/nik-cUQGqJ6mBAw-unsplash.jpg" alt="Featured image of post Agent Memory for AI Coding Assistants" /&gt;&lt;p&gt;When you work with an AI coding assistant like GitHub Copilot, Claude Code, or Cursor, every conversation starts with a limited context window. The model can only see what fits inside that window. If you switch threads, close the editor, or come back the next day, the assistant forgets the details you already explained. This is where agent memory becomes useful.&lt;/p&gt;
&lt;p&gt;Agent memory gives your AI assistant a way to remember facts, preferences, and project context across sessions. Instead of repeating yourself, you can let the assistant store and retrieve important information when it needs it.&lt;/p&gt;
&lt;p&gt;In this post, we will look at how agent memory works with coding assistants and explore popular tools that help you manage it.&lt;/p&gt;
&lt;h2 id=&#34;why-agent-memory-matters&#34;&gt;Why Agent Memory Matters
&lt;/h2&gt;&lt;p&gt;Large language models are stateless. They do not remember anything between requests unless you send the previous conversation along with the new prompt. That works fine for short tasks, but it becomes painful for long-running projects.&lt;/p&gt;
&lt;p&gt;Here are a few common problems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Repeated explanations&lt;/strong&gt;: You have to describe your coding style, project structure, or preferences every time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lost context&lt;/strong&gt;: Decisions made in earlier sessions disappear, so Copilot suggests things that conflict with what you already agreed on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inconsistent output&lt;/strong&gt;: Without memory, generated code drifts between sessions because the model has no stable reference.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lost conversation history&lt;/strong&gt;: After a week away from your project, you come back and the assistant has no memory of what you discussed, what decisions were made, or what issues were resolved.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Agent memory solves these problems by storing facts outside the model and loading them back into the context when needed.&lt;/p&gt;
&lt;h2 id=&#34;the-core-use-case-continuing-work-after-days-away&#34;&gt;The Core Use Case: Continuing Work After Days Away
&lt;/h2&gt;&lt;p&gt;The most practical use of agent memory isn&amp;rsquo;t about storing preferences - it&amp;rsquo;s about being able to continue a conversation after days or weeks away from your project.&lt;/p&gt;
&lt;h3 id=&#34;the-scenario&#34;&gt;The Scenario
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Day 1 (Monday)&lt;/strong&gt;: You start working on a new microservice. You spend 4 hours with Claude Code:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Discuss the architecture: You decide to use gRPC for inter-service communication, Redis for caching, and PostgreSQL for persistence&lt;/li&gt;
&lt;li&gt;Design the database schema together: users table, orders table, and their relationships&lt;/li&gt;
&lt;li&gt;Generate entity classes, repositories, and services in C# or Java&lt;/li&gt;
&lt;li&gt;Discuss error handling: You decide on a specific error response format&lt;/li&gt;
&lt;li&gt;Review and refine the code together&lt;/li&gt;
&lt;li&gt;Claude Code generates hundreds of lines of code across multiple files&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Day 2 (Tuesday)&lt;/strong&gt;: You continue working:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Implement the gRPC service with the proto definitions you created&lt;/li&gt;
&lt;li&gt;Set up the Redis cache layer for frequently accessed data&lt;/li&gt;
&lt;li&gt;Write unit tests for the business logic&lt;/li&gt;
&lt;li&gt;Discuss deployment configuration and environment variables&lt;/li&gt;
&lt;li&gt;Close VS Code for the night&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Day 9 (Next Tuesday)&lt;/strong&gt;: You come back to the project after a long weekend and holiday. You open VS Code and ask Claude Code:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Can you help me add a new endpoint to our gRPC service?&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;without-agent-memory&#34;&gt;Without Agent Memory
&lt;/h3&gt;&lt;p&gt;Claude Code has no idea what you&amp;rsquo;re talking about:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I don&amp;rsquo;t see any existing gRPC service. Could you share your proto file or tell me which service you&amp;rsquo;re working on? Also, what error handling format are you using?&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You now have to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Remember everything you did 7 days ago&lt;/li&gt;
&lt;li&gt;Explain the architecture again&lt;/li&gt;
&lt;li&gt;Re-describe the database schema&lt;/li&gt;
&lt;li&gt;Re-explain the error handling format&lt;/li&gt;
&lt;li&gt;Share the proto file and code context&lt;/li&gt;
&lt;li&gt;Hope you didn&amp;rsquo;t forget any important details&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You waste 30-60 minutes just re-establishing context that you already built over 2 days.&lt;/p&gt;
&lt;h3 id=&#34;with-agent-memory&#34;&gt;With Agent Memory
&lt;/h3&gt;&lt;p&gt;Claude Code or GitHub Copilot remembers everything:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I see we built a UserService gRPC service last week with these methods: GetUser, CreateUser, and UpdateUser. The proto file is in &lt;code&gt;protos/user_service.proto&lt;/code&gt;. Should I add the new endpoint there? I&amp;rsquo;ll follow the same error handling format we decided on - returning &lt;code&gt;ErrorResponse&lt;/code&gt; with code, message, and details fields. Also, I remember we were using Redis for caching user data.&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You can immediately start working on the new endpoint. No re-explaining. No lost context. Just continue where you left off.&lt;/p&gt;
&lt;p&gt;This is what agent memory does. It&amp;rsquo;s not about storing random preferences. It&amp;rsquo;s about maintaining continuity in your development work across days, weeks, or even months.&lt;/p&gt;
&lt;h2 id=&#34;how-ai-coding-assistants-handle-memory&#34;&gt;How AI Coding Assistants Handle Memory
&lt;/h2&gt;&lt;p&gt;Most modern coding assistants support memory through the Model Context Protocol (MCP). MCP is an open standard that lets an assistant connect to external tools and data sources. One of those tools is a memory server.&lt;/p&gt;
&lt;p&gt;A memory server acts like a persistent store for:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Conversation history&lt;/strong&gt;: The full chat log from all your sessions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Facts and decisions&lt;/strong&gt;: Important details extracted from conversations&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When you work with an AI assistant that has memory enabled:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Every conversation you have is automatically saved&lt;/li&gt;
&lt;li&gt;Important decisions and facts are extracted and stored&lt;/li&gt;
&lt;li&gt;When you start a new session, the assistant loads the relevant history&lt;/li&gt;
&lt;li&gt;You can continue conversations exactly where you left off&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This approach has a few benefits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Persistence&lt;/strong&gt;: Memory survives across sessions, projects, and even devices.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Continuity&lt;/strong&gt;: You can work on a project for months without repeating yourself.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Portability&lt;/strong&gt;: Because MCP is a standard, the same memory server can work with GitHub Copilot, Claude Code, Cursor, and any other client that supports MCP.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No major coding assistant ships with a built-in memory store. You configure it by adding an MCP server to your setup. Each memory tool below can be added independently, so you can choose the one that fits your workflow.&lt;/p&gt;
&lt;h2 id=&#34;how-mcp-servers-connect-to-your-assistant&#34;&gt;How MCP Servers Connect to Your Assistant
&lt;/h2&gt;&lt;p&gt;MCP servers are small programs that the assistant starts and talks to through standard input and output. In VS Code, you register an MCP server by adding an entry under the &lt;code&gt;mcp.servers&lt;/code&gt; setting in &lt;code&gt;settings.json&lt;/code&gt;. Claude Code and Cursor have similar configuration files. The assistant then discovers the tools exposed by that server and can call them during a chat session.&lt;/p&gt;
&lt;p&gt;A typical MCP server entry looks like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 1
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 2
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 3
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 4
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 5
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 6
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 7
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 8
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 9
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;10
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;11
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;12
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;mcp&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;servers&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;my-memory&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;npx&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;-y&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;package-name&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;env&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;SOME_API_KEY&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;your-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;On Windows, &lt;code&gt;npx&lt;/code&gt;-based servers often need &lt;code&gt;cmd&lt;/code&gt; as the command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;1
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;2
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;3
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;cmd&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;/c&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;npx&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;-y&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;package-name&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You can add more than one memory server, but they will each have their own storage. In practice, pick one and use it consistently so the assistant does not get confused about where to store or retrieve facts.&lt;/p&gt;
&lt;p&gt;The sections below show how to set up each tool separately. You can use these memory tools with any AI assistant that supports MCP, including GitHub Copilot, Claude Code, and Cursor.&lt;/p&gt;
&lt;h2 id=&#34;1-server-memory&#34;&gt;1. Server Memory
&lt;/h2&gt;&lt;p&gt;Server Memory is the official reference MCP server for memory. It stores facts and conversation history as plain text in a JSON file on disk and exposes &lt;code&gt;remember&lt;/code&gt;, &lt;code&gt;recall&lt;/code&gt;, and &lt;code&gt;forget&lt;/code&gt; tools.&lt;/p&gt;
&lt;h3 id=&#34;install-and-run&#34;&gt;Install and run
&lt;/h3&gt;&lt;p&gt;You do not need a global install. &lt;code&gt;npx&lt;/code&gt; downloads and runs it on demand:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;npx -y @modelcontextprotocol/server-memory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you prefer, install it globally:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;npm install -g @modelcontextprotocol/server-memory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;add-to-your-assistant&#34;&gt;Add to your assistant
&lt;/h3&gt;&lt;p&gt;Open VS Code settings (&lt;code&gt;Ctrl + ,&lt;/code&gt; or &lt;code&gt;Cmd + ,&lt;/code&gt;), search for &lt;code&gt;mcp&lt;/code&gt;, and add a server. Or edit &lt;code&gt;settings.json&lt;/code&gt; directly:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 1
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 2
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 3
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 4
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 5
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 6
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 7
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 8
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 9
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;10
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;11
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;12
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;mcp&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;servers&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;memory&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;npx&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;-y&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;@modelcontextprotocol/server-memory&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;env&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;MEMORY_FILE_PATH&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;C:\\Users\\YourName\\.assistant-memory.json&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;On macOS or Linux, use a path like &lt;code&gt;/Users/YourName/.assistant-memory.json&lt;/code&gt; or &lt;code&gt;/home/YourName/.assistant-memory.json&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For Claude Code, add the same server to your Claude Code MCP configuration. For Cursor, add it under Cursor&amp;rsquo;s MCP settings.&lt;/p&gt;
&lt;h3 id=&#34;use-case&#34;&gt;Use Case
&lt;/h3&gt;&lt;p&gt;After your 2 days of work on Monday and Tuesday, Server Memory automatically stores:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;The full chat history&lt;/strong&gt;: All discussions, code generation, and decisions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Key facts extracted&lt;/strong&gt;: Architecture decisions, technology choices, patterns used&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;On Day 9 when you return, ask Claude Code:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Continue from last week. Help me add a new gRPC endpoint.&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Server Memory loads the conversation history and Claude Code remembers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The gRPC service you built (UserService)&lt;/li&gt;
&lt;li&gt;The proto file location&lt;/li&gt;
&lt;li&gt;The database schema and entities&lt;/li&gt;
&lt;li&gt;The error handling format you decided on&lt;/li&gt;
&lt;li&gt;The Redis caching strategy&lt;/li&gt;
&lt;li&gt;Your deployment preferences&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;when-to-use-it&#34;&gt;When to use it
&lt;/h3&gt;&lt;p&gt;Choose Server Memory when you want a zero-dependency, file-based memory store. It&amp;rsquo;s the fastest way to get persistent conversation history and works offline. Perfect for solo developers who want simple session continuity.&lt;/p&gt;
&lt;h2 id=&#34;2-mem0&#34;&gt;2. Mem0
&lt;/h2&gt;&lt;p&gt;Mem0 is an open-source memory layer with a hosted option. It stores memories as structured entities and supports semantic search, so Copilot can find relevant facts even when the wording changes.&lt;/p&gt;
&lt;h3 id=&#34;install-and-run-1&#34;&gt;Install and run
&lt;/h3&gt;&lt;p&gt;Mem0 provides an MCP server package. Run it with &lt;code&gt;npx&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;npx -y @mem0/mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you use the hosted version, create an API key at &lt;a class=&#34;link&#34; href=&#34;https://mem0.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mem0.ai&lt;/a&gt;. For self-hosting, follow the Mem0 documentation to run the platform locally.&lt;/p&gt;
&lt;h3 id=&#34;add-to-your-assistant-1&#34;&gt;Add to your assistant
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 1
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 2
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 3
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 4
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 5
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 6
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 7
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 8
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 9
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;10
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;11
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;12
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;mcp&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;servers&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;mem0&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;npx&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;-y&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;@mem0/mcp&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;env&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;MEM0_API_KEY&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;your-api-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you self-host, you may also need to set &lt;code&gt;MEM0_API_URL&lt;/code&gt; to your local endpoint. The same config works in VS Code Copilot, Claude Code, and Cursor.&lt;/p&gt;
&lt;h3 id=&#34;use-case-1&#34;&gt;Use Case
&lt;/h3&gt;&lt;p&gt;Mem0 automatically stores your entire 2-day conversation. On Day 9, you ask:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;What were we working on last week with the microservice?&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Mem0 retrieves the full context:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;You were building a UserService gRPC microservice&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;The architecture uses PostgreSQL for persistence and Redis for caching&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;You created proto definitions, entities, and repositories&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;You decided on a specific error response format with code, message, and details fields&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can also ask more flexibly:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I remember we discussed some caching strategy, but forgot the details&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Mem0 uses semantic search to find the relevant conversation even if you don&amp;rsquo;t use the exact words.&lt;/p&gt;
&lt;h3 id=&#34;when-to-use-it-1&#34;&gt;When to use it
&lt;/h3&gt;&lt;p&gt;Choose Mem0 when you want semantic search, user-specific memory, and a memory layer that improves over time. It&amp;rsquo;s a good middle ground between simplicity and power for team environments where multiple people might ask about past decisions.&lt;/p&gt;
&lt;h2 id=&#34;3-supermemory&#34;&gt;3. Supermemory
&lt;/h2&gt;&lt;p&gt;Supermemory is a hosted memory and context engine. It extracts facts, builds user profiles, and runs hybrid RAG and memory search. It also offers connectors for Notion, Gmail, GitHub, and other sources, so your assistant can remember information from outside the chat.&lt;/p&gt;
&lt;h3 id=&#34;install-and-run-2&#34;&gt;Install and run
&lt;/h3&gt;&lt;p&gt;Supermemory is a managed service, so there is no local install. Create an account and get an API key from the Supermemory dashboard. The MCP server is exposed as a remote URL.&lt;/p&gt;
&lt;h3 id=&#34;add-to-your-assistant-2&#34;&gt;Add to your assistant
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 1
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 2
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 3
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 4
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 5
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 6
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 7
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 8
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 9
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;10
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;11
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;mcp&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;servers&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;supermemory&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;https://mcp.supermemory.ai/mcp&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;headers&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;Authorization&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;Bearer sm_your_key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;use-case-2&#34;&gt;Use Case
&lt;/h3&gt;&lt;p&gt;Your team uses Notion for documentation and GitHub for code. During Monday and Tuesday, you created Notion pages documenting the architecture and GitHub issues tracking tasks.&lt;/p&gt;
&lt;p&gt;On Day 9, you ask:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Continue the gRPC service work from last week. Check our Notion docs for the API design&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Supermemory connects to your Notion workspace and GitHub repo, retrieving:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The conversation history from Claude Code sessions&lt;/li&gt;
&lt;li&gt;Notion pages with architecture diagrams and API design&lt;/li&gt;
&lt;li&gt;GitHub issues and PRs from the work&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It gives you a complete picture of what was done, documented, and what remains.&lt;/p&gt;
&lt;h3 id=&#34;when-to-use-it-2&#34;&gt;When to use it
&lt;/h3&gt;&lt;p&gt;Choose Supermemory when you want managed, cross-agent memory with user profiles and external connectors. It works well for teams that use multiple assistants and want a single memory layer that integrates with existing documentation.&lt;/p&gt;
&lt;h2 id=&#34;4-cognee&#34;&gt;4. Cognee
&lt;/h2&gt;&lt;p&gt;Cognee is an open-source AI memory platform. It ingests data and builds a self-hosted knowledge graph for persistent agent memory. Because it runs locally, you keep full control over your data.&lt;/p&gt;
&lt;h3 id=&#34;install-and-run-3&#34;&gt;Install and run
&lt;/h3&gt;&lt;p&gt;Install the Python package:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install cognee
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Or run the MCP server with Docker:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker run -e &lt;span style=&#34;color:#f5e0dc&#34;&gt;TRANSPORT_MODE&lt;/span&gt;&lt;span style=&#34;color:#89dceb;font-weight:bold&#34;&gt;=&lt;/span&gt;sse --env-file .env -p 8000:8000 cognee/cognee-mcp:main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The &lt;code&gt;.env&lt;/code&gt; file should include your &lt;code&gt;LLM_API_KEY&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;add-to-your-assistant-3&#34;&gt;Add to your assistant
&lt;/h3&gt;&lt;p&gt;For the Docker SSE server:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 1
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 2
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 3
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 4
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 5
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 6
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 7
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 8
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 9
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;mcp&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;servers&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;cognee&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;sse&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;http://localhost:8000/sse&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;use-case-3&#34;&gt;Use Case
&lt;/h3&gt;&lt;p&gt;Cognee builds a knowledge graph of your work. On Monday and Tuesday, it ingests:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Your conversation history with Claude Code&lt;/li&gt;
&lt;li&gt;The code you generated&lt;/li&gt;
&lt;li&gt;Your decisions and reasoning&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On Day 9, you ask:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;What&amp;rsquo;s the relationship between UserService and OrderService in our gRPC architecture?&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Cognee returns a graph-based answer:&lt;/p&gt;
&lt;p&gt;&amp;ldquo;UserService and OrderService communicate via gRPC. UserService handles user authentication and profile management. OrderService depends on UserService for user validation. Both services share the same PostgreSQL database but use separate Redis cache instances.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;It understands the connections between concepts because it&amp;rsquo;s stored as a knowledge graph, not just plain text.&lt;/p&gt;
&lt;h3 id=&#34;when-to-use-it-3&#34;&gt;When to use it
&lt;/h3&gt;&lt;p&gt;Choose Cognee when you need self-hosted graph memory and want to keep data on your own infrastructure. It&amp;rsquo;s a strong fit for teams with privacy requirements or complex systems where relationships between components matter.&lt;/p&gt;
&lt;h2 id=&#34;5-everos&#34;&gt;5. EverOS
&lt;/h2&gt;&lt;p&gt;EverOS is a local-first Python memory runtime. It stores conversations and agent trajectories as Markdown files, indexed in SQLite and LanceDB. The Markdown-as-source approach makes memories easy to read and edit by hand.&lt;/p&gt;
&lt;h3 id=&#34;install-and-run-4&#34;&gt;Install and run
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;1
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;2
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install everos
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;everos init
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;everos server start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;add-to-your-assistant-4&#34;&gt;Add to your assistant
&lt;/h3&gt;&lt;p&gt;EverOS does not ship with an official MCP package. You can call its HTTP API directly at &lt;code&gt;http://127.0.0.1:8000/api/v1/memory/*&lt;/code&gt;, or bridge it to MCP with a small wrapper. Some community integrations expose an &lt;code&gt;evermem_search&lt;/code&gt; tool over stdio.&lt;/p&gt;
&lt;h3 id=&#34;use-case-4&#34;&gt;Use Case
&lt;/h3&gt;&lt;p&gt;EverOS stores your Monday-Tuesday conversation as Markdown files in your project. On Day 9, you can:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ask Claude Code: &amp;ldquo;Continue our work from last week&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Or simply open the Markdown files in your editor to review&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The files might look like:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 1
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 2
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 3
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 4
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 5
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 6
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 7
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 8
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 9
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;10
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;11
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;12
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;13
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;14
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;15
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;16
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;17
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;18
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#fab387;font-weight:bold&#34;&gt;## Session: UserService gRPC Microservice - 2026-07-06
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#fab387;font-weight:bold&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#fab387;font-weight:bold&#34;&gt;### Architecture Decisions
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#fab387;font-weight:bold&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; Using gRPC for inter-service communication
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; PostgreSQL for persistence with Entity Framework Core
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; Redis for caching user data (TTL: 15 minutes)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; Error handling: ErrorResponse message with code, message, details
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#fab387;font-weight:bold&#34;&gt;### Generated Code
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#fab387;font-weight:bold&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; Entity classes in &lt;span style=&#34;color:#a6e3a1&#34;&gt;`Entities/User.cs`&lt;/span&gt;, &lt;span style=&#34;color:#a6e3a1&#34;&gt;`Entities/Order.cs`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; Repository pattern in &lt;span style=&#34;color:#a6e3a1&#34;&gt;`Repositories/`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; gRPC service in &lt;span style=&#34;color:#a6e3a1&#34;&gt;`Services/UserService.cs`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; Proto definitions in &lt;span style=&#34;color:#a6e3a1&#34;&gt;`protos/user_service.proto`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#fab387;font-weight:bold&#34;&gt;### Next Steps
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#fab387;font-weight:bold&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; Implement authentication middleware
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; Set up health checks
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cba6f7&#34;&gt;-&lt;/span&gt; Configure Docker deployment
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You can edit these files manually, add notes, or correct the assistant&amp;rsquo;s memory directly.&lt;/p&gt;
&lt;h3 id=&#34;when-to-use-it-4&#34;&gt;When to use it
&lt;/h3&gt;&lt;p&gt;Choose EverOS when you want Markdown-as-source-of-truth memory that stays fully local. It&amp;rsquo;s a good fit if you prefer files you can inspect, edit, and version control. Great for organized developers who want manual control over their memory.&lt;/p&gt;
&lt;h2 id=&#34;6-cloud-mem&#34;&gt;6. Cloud-Mem
&lt;/h2&gt;&lt;p&gt;Cloud-Mem is a lightweight cloud-backed memory store for agents. At the time of writing, it does not have a widely published package or MCP registry entry, so treat it as experimental. If you adopt it, you will likely configure it through a custom MCP wrapper or direct API calls.&lt;/p&gt;
&lt;h3 id=&#34;use-case-5&#34;&gt;Use Case
&lt;/h3&gt;&lt;p&gt;You work on multiple machines: office desktop, home laptop, and a shared server. Cloud-Mem stores your conversation history in the cloud.&lt;/p&gt;
&lt;p&gt;On Day 9, you&amp;rsquo;re at home (different machine than Monday/Tuesday). You ask:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Continue our microservice work&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Cloud-Mem syncs the conversation history and Claude Code remembers everything, regardless of which machine you&amp;rsquo;re using.&lt;/p&gt;
&lt;h3 id=&#34;when-to-use-it-5&#34;&gt;When to use it
&lt;/h3&gt;&lt;p&gt;Consider Cloud-Mem if you want a simple hosted key-value memory and are comfortable writing a small bridge. For production use, prefer one of the better-documented options above.&lt;/p&gt;
&lt;h2 id=&#34;7-basic-memory&#34;&gt;7. Basic Memory
&lt;/h2&gt;&lt;p&gt;Basic Memory is a local-first knowledge graph stored as Markdown files. It supports bidirectional editing by both you and the assistant through MCP, and the files are Obsidian-compatible.&lt;/p&gt;
&lt;h3 id=&#34;install-and-run-5&#34;&gt;Install and run
&lt;/h3&gt;&lt;p&gt;Install with &lt;code&gt;uv&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uv tool install basic-memory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;add-to-your-assistant-5&#34;&gt;Add to your assistant
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 1
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 2
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 3
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 4
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 5
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 6
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 7
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 8
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt; 9
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;mcp&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;servers&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;basic-memory&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;uvx&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#cba6f7&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;: [&lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;basic-memory&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a6e3a1&#34;&gt;&amp;#34;mcp&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;use-case-6&#34;&gt;Use Case
&lt;/h3&gt;&lt;p&gt;After Monday-Tuesday, Basic Memory creates a knowledge graph as Markdown files in your Obsidian vault:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;myblog/
├── knowledge/
│   ├── projects/
│   │   └── UserService-Microservice.md
│   ├── architecture/
│   │   └── gRPC-Design-Decisions.md
│   └── code/
│       └── Entity-Framework-Setup.md
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On Day 9, you open Obsidian and review these notes. Then ask Claude Code:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Continue the gRPC service work. I reviewed the notes in Obsidian.&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Claude Code sees the updated notes and continues from where you left off. Any changes you make in Obsidian are immediately available to the assistant.&lt;/p&gt;
&lt;h3 id=&#34;when-to-use-it-6&#34;&gt;When to use it
&lt;/h3&gt;&lt;p&gt;Choose Basic Memory when you want plain Markdown files as the source of truth, with no cloud required. It&amp;rsquo;s ideal if you already use Obsidian or similar tools and want seamless integration between your note-taking and AI development.&lt;/p&gt;
&lt;h2 id=&#34;8-memu&#34;&gt;8. Memu
&lt;/h2&gt;&lt;p&gt;Memu is a personal memory system that compiles conversations, documents, and code into a local Markdown file tree. It is designed for fast retrieval by coding agents.&lt;/p&gt;
&lt;h3 id=&#34;install-and-run-6&#34;&gt;Install and run
&lt;/h3&gt;&lt;p&gt;Install the Python CLI:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install memu-py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Or use the Node wrapper:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;npx memu-cli
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;add-to-your-assistant-6&#34;&gt;Add to your assistant
&lt;/h3&gt;&lt;p&gt;Memu does not ship with an MCP server. It integrates through Claude Skills or by calling CLI commands. You can create a skill in &lt;code&gt;.claude/skills/memu/SKILL.md&lt;/code&gt; that tells Claude Code how to run &lt;code&gt;memu memorize&lt;/code&gt; and &lt;code&gt;memu retrieve&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;use-case-7&#34;&gt;Use Case
&lt;/h3&gt;&lt;p&gt;On Monday, after 4 hours of work, you ask:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Memorize this workspace&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Memu indexes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;All your code&lt;/li&gt;
&lt;li&gt;The conversation history&lt;/li&gt;
&lt;li&gt;Any documents in the workspace&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On Day 9, you ask:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Retrieve our work on the UserService from last week&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Memu returns:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The architecture decisions&lt;/li&gt;
&lt;li&gt;The code you generated&lt;/li&gt;
&lt;li&gt;The discussion about error handling&lt;/li&gt;
&lt;li&gt;The deployment configuration discussion&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All from the indexed memory, organized as a file tree you can browse.&lt;/p&gt;
&lt;h3 id=&#34;when-to-use-it-7&#34;&gt;When to use it
&lt;/h3&gt;&lt;p&gt;Choose Memu when you want file-based memory for coding agents and prefer skill or CLI integration over MCP. It&amp;rsquo;s designed specifically for software development context.&lt;/p&gt;
&lt;h2 id=&#34;comparing-the-options&#34;&gt;Comparing the Options
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Tool&lt;/th&gt;
          &lt;th&gt;Best For&lt;/th&gt;
          &lt;th&gt;Complexity&lt;/th&gt;
          &lt;th&gt;How It Stores Memory&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Server Memory&lt;/td&gt;
          &lt;td&gt;Quick setup, simple facts&lt;/td&gt;
          &lt;td&gt;Low&lt;/td&gt;
          &lt;td&gt;JSON file on disk&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Mem0&lt;/td&gt;
          &lt;td&gt;Rich user and project memory with semantic search&lt;/td&gt;
          &lt;td&gt;Medium&lt;/td&gt;
          &lt;td&gt;Structured entities with API&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Supermemory&lt;/td&gt;
          &lt;td&gt;Managed cross-agent memory with external connectors&lt;/td&gt;
          &lt;td&gt;Low to Medium&lt;/td&gt;
          &lt;td&gt;Cloud-hosted with RAG&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cognee&lt;/td&gt;
          &lt;td&gt;Self-hosted graph memory for complex relationships&lt;/td&gt;
          &lt;td&gt;Medium&lt;/td&gt;
          &lt;td&gt;Knowledge graph on your infra&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;EverOS&lt;/td&gt;
          &lt;td&gt;Local Markdown memory you can edit&lt;/td&gt;
          &lt;td&gt;Medium&lt;/td&gt;
          &lt;td&gt;Markdown files + SQLite index&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cloud-Mem&lt;/td&gt;
          &lt;td&gt;Cross-device memory with simple key-value&lt;/td&gt;
          &lt;td&gt;Medium&lt;/td&gt;
          &lt;td&gt;Cloud-hosted key-value&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Basic Memory&lt;/td&gt;
          &lt;td&gt;Markdown files as source of truth with Obsidian support&lt;/td&gt;
          &lt;td&gt;Low&lt;/td&gt;
          &lt;td&gt;Markdown knowledge graph&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Memu&lt;/td&gt;
          &lt;td&gt;File tree memory for coding agents&lt;/td&gt;
          &lt;td&gt;Medium&lt;/td&gt;
          &lt;td&gt;Markdown file tree&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The right choice depends on your setup. If you just want to continue conversations after days away, start with Server Memory or Basic Memory. If you use multiple assistants and want a single memory layer, Supermemory is worth a look. If privacy matters most, choose Cognee or EverOS.&lt;/p&gt;
&lt;h2 id=&#34;when-to-use-agent-memory&#34;&gt;When to Use Agent Memory
&lt;/h2&gt;&lt;p&gt;Agent memory is not always necessary. For one-off questions or small scripts, the default context window is enough. But memory becomes valuable when:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You work on the same codebase over many sessions.&lt;/li&gt;
&lt;li&gt;You close the editor and come back days later.&lt;/li&gt;
&lt;li&gt;You have strong conventions the assistant should follow.&lt;/li&gt;
&lt;li&gt;You want the assistant to learn from corrections and feedback.&lt;/li&gt;
&lt;li&gt;You are building a complex system with many decisions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Start small. Set up a memory server and work on a project for a week. Close the editor, come back after 3 days, and see if the assistant remembers. You&amp;rsquo;ll immediately understand the value.&lt;/p&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion
&lt;/h2&gt;&lt;p&gt;Agent memory turns an AI coding assistant from a stateless helper into a tool that learns and adapts to your project. The most practical use case is simple: after working with your assistant for hours, days, or weeks, you can close the editor and come back later. The assistant remembers everything - the architecture decisions, the code you generated, the problems you solved, and the plans you made.&lt;/p&gt;
&lt;p&gt;Server Memory and Basic Memory are the simplest ways to get started. If you need more power, tools like Mem0, Supermemory, and Cognee offer richer memory models. Choose the one that matches your architecture, privacy needs, and how much control you want.&lt;/p&gt;
&lt;p&gt;Memory is still an evolving area in AI tooling. The best approach today is to experiment, store what matters, and keep your memory layer simple enough to understand and maintain. The goal is not to build a perfect memory system - it&amp;rsquo;s to stop repeating yourself and focus on writing code.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
