<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Thomas Jumper</title>
    <description>The latest articles on DEV Community by Thomas Jumper (@thomasjumper).</description>
    <link>https://dev.to/thomasjumper</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3853462%2F2c834026-0981-459d-8517-0523a587eb2a.jpg</url>
      <title>DEV Community: Thomas Jumper</title>
      <link>https://dev.to/thomasjumper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thomasjumper"/>
    <language>en</language>
    <item>
      <title>Shared agent memory does not mean shared secrets</title>
      <dc:creator>Thomas Jumper</dc:creator>
      <pubDate>Tue, 04 Aug 2026 14:30:00 +0000</pubDate>
      <link>https://dev.to/thomasjumper/shared-agent-memory-does-not-mean-shared-secrets-2g7n</link>
      <guid>https://dev.to/thomasjumper/shared-agent-memory-does-not-mean-shared-secrets-2g7n</guid>
      <description>&lt;p&gt;"Give every agent shared memory" can sound like an invitation to build a new, invisible data dump. That is not the workflow I want.&lt;/p&gt;

&lt;p&gt;Useful shared memory has boundaries.&lt;/p&gt;

&lt;p&gt;First, do not store secrets. API keys, passwords, access tokens, customer data, and raw production logs need their proper systems of record. A memory tool is not a vault.&lt;/p&gt;

&lt;p&gt;Second, make entries inspectable. A person should be able to see what was stored, which agent stored it, and whether it is still useful.&lt;/p&gt;

&lt;p&gt;Third, keep project scope explicit. A lesson from one project should not casually appear in another just because the same person happens to be using the same client.&lt;/p&gt;

&lt;p&gt;Fourth, design for correction. Working knowledge changes. Teams need a way to export, archive, revise, or erase memories when a decision is reversed or a note goes stale.&lt;/p&gt;

&lt;p&gt;Finally, use memory as an aid to verification, not a replacement for it. A recalled note can tell an agent where to look and what failed before. It should not overrule the current code, test suite, or security policy.&lt;/p&gt;

&lt;p&gt;That is the design bar I hold StremAI to: useful project memory that remains human-readable, attributable, scoped, and under the user's control.&lt;/p&gt;

&lt;p&gt;The goal is not for agents to remember everything. It is for a useful lesson to survive long enough to help the next connected agent without creating a new source of hidden risk.&lt;/p&gt;

&lt;p&gt;What boundary would make you comfortable letting your team share agent memory?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to onboard a new coding agent without a 40-page prompt</title>
      <dc:creator>Thomas Jumper</dc:creator>
      <pubDate>Thu, 30 Jul 2026 14:30:00 +0000</pubDate>
      <link>https://dev.to/thomasjumper/how-to-onboard-a-new-coding-agent-without-a-40-page-prompt-2p6c</link>
      <guid>https://dev.to/thomasjumper/how-to-onboard-a-new-coding-agent-without-a-40-page-prompt-2p6c</guid>
      <description>&lt;p&gt;A huge onboarding prompt is an understandable response to a real problem: a new coding agent begins with none of the context a teammate would accumulate over months.&lt;/p&gt;

&lt;p&gt;It is also a poor long-term interface.&lt;/p&gt;

&lt;p&gt;The longer the prompt becomes, the harder it is to know what is current, what is important for this task, and what should have been a real document instead. The agent receives a wall of context before it has even asked a question.&lt;/p&gt;

&lt;p&gt;Try a three-layer onboarding model instead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Layer 1: Instructions in the repository.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Keep stable rules in &lt;code&gt;CLAUDE.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt;, and project docs: test commands, style, ownership boundaries, and security rules.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Layer 2: A small first-task checklist.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tell the agent which docs to read and what it must verify before changing code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Layer 3: Recallable working knowledge.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let the agent retrieve relevant decisions, pitfalls, and recent handoffs when the task calls for them.&lt;/p&gt;

&lt;p&gt;This creates an onboarding flow that pulls context on demand instead of shoving every past lesson into every session.&lt;/p&gt;

&lt;p&gt;The practical check is simple: give a new agent a normal task and ask it to explain the relevant architecture decision before it writes code. If it cannot find the answer, either the source doc is missing or the shared-memory habit is not established yet.&lt;/p&gt;

&lt;p&gt;The point is not to eliminate human judgment. It is to stop spending human judgment on the same orientation speech over and over.&lt;/p&gt;

&lt;p&gt;StremAI can act as the third layer through MCP: connected agents recall project knowledge when it is relevant, while your repository remains the source of truth for instructions and code.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>llm</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Why your AI coding agents keep reopening the same bugs</title>
      <dc:creator>Thomas Jumper</dc:creator>
      <pubDate>Tue, 28 Jul 2026 14:30:00 +0000</pubDate>
      <link>https://dev.to/thomasjumper/why-your-ai-coding-agents-keep-reopening-the-same-bugs-49c5</link>
      <guid>https://dev.to/thomasjumper/why-your-ai-coding-agents-keep-reopening-the-same-bugs-49c5</guid>
      <description>&lt;p&gt;There is a familiar kind of wasted hour in agent-assisted development.&lt;/p&gt;

&lt;p&gt;An agent finds a bug. It proposes the obvious fix. You explain that the obvious fix broke production last time because of one constraint hidden in a previous investigation. The agent adjusts. A week later, a new session proposes the same fix again.&lt;/p&gt;

&lt;p&gt;The problem is not that the model is bad at debugging. The context died where the work ended.&lt;/p&gt;

&lt;p&gt;The durable part of a debugging session is usually much smaller than the transcript:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Symptom: what the user or system actually did.&lt;/li&gt;
&lt;li&gt;Cause: the confirmed mechanism, not the initial guess.&lt;/li&gt;
&lt;li&gt;Constraint: the tempting fix that must not be used and why.&lt;/li&gt;
&lt;li&gt;Verification: the test or production signal that proves the repair.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After a real incident or hard bug, store that four-part record. It gives the next agent a chance to avoid the same false start without pretending that a memory replaces investigation.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Symptom: callback succeeds locally but fails after deploy. Cause: the deployed origin differs from the configured redirect origin. Constraint: do not accept arbitrary redirect URLs as a workaround. Verification: complete the sign-in flow from a clean browser session.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is more useful than "we fixed OAuth once." It is also safer than pasting an entire incident transcript into every new prompt.&lt;/p&gt;

&lt;p&gt;Shared memory should make agents better at asking the right first question. It should not turn stale notes into unquestioned truth.&lt;/p&gt;

&lt;p&gt;I built StremAI to make these compact lessons available across connected agent sessions. The entry stays attributable and human-readable, so a developer can inspect, correct, archive, or erase it when reality changes.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>debugging</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>The handoff that should not require a meeting</title>
      <dc:creator>Thomas Jumper</dc:creator>
      <pubDate>Thu, 23 Jul 2026 14:30:00 +0000</pubDate>
      <link>https://dev.to/thomasjumper/the-handoff-that-should-not-require-a-meeting-35e2</link>
      <guid>https://dev.to/thomasjumper/the-handoff-that-should-not-require-a-meeting-35e2</guid>
      <description>&lt;p&gt;The frustrating part of using multiple coding agents is not that they are different. It is that every handoff starts with a ritual: explain what has already happened, explain the strange decision, explain what not to touch, explain the one test that lies.&lt;/p&gt;

&lt;p&gt;Some handoffs deserve a meeting. Most do not.&lt;/p&gt;

&lt;p&gt;For routine work, a useful agent handoff has four parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Decision:&lt;/strong&gt; what we chose and why.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State:&lt;/strong&gt; what changed, what remains, and what is intentionally untouched.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pitfall:&lt;/strong&gt; the failure mode most likely to waste the next person's time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pointer:&lt;/strong&gt; the file, issue, or runbook that is the source of truth.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That is small enough to store as project memory after a meaningful change, and specific enough for another connected agent to recall before it begins.&lt;/p&gt;

&lt;p&gt;Here is an example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Decision: use the existing retry helper for webhook delivery. State: validation is complete; follow-up is observability. Pitfall: do not retry non-idempotent writes. Pointer: &lt;code&gt;docs/webhooks.md&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The goal is not to make an agent pretend it was in the prior session. It was not. The goal is to give it the durable context needed to start responsibly.&lt;/p&gt;

&lt;p&gt;I think this is the right unit of agent collaboration: a compact, attributable memory that can be checked against the real code and docs.&lt;/p&gt;

&lt;p&gt;StremAI is the shared MCP memory layer I use for that workflow. One connected agent stores a decision or pitfall; another can recall it before doing the next piece of work. The &lt;a href="https://stremai.com/docs/mcp-memory" rel="noopener noreferrer"&gt;MCP memory guide&lt;/a&gt; has the setup.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What a coding agent should remember, and what belongs in Git instead</title>
      <dc:creator>Thomas Jumper</dc:creator>
      <pubDate>Tue, 21 Jul 2026 14:30:00 +0000</pubDate>
      <link>https://dev.to/thomasjumper/what-a-coding-agent-should-remember-and-what-belongs-in-git-instead-3epl</link>
      <guid>https://dev.to/thomasjumper/what-a-coding-agent-should-remember-and-what-belongs-in-git-instead-3epl</guid>
      <description>&lt;p&gt;The fastest way to make agent memory untrustworthy is to treat it like a second repository.&lt;/p&gt;

&lt;p&gt;Memory is useful when it holds the things that are expensive to rediscover but do not belong in source control as the primary record. Git and docs are still the source of truth for code, specifications, credentials, and change history.&lt;/p&gt;

&lt;p&gt;Here is the simple split I use.&lt;/p&gt;

&lt;p&gt;Good memory candidates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why the team chose an approach when the code alone does not explain it.&lt;/li&gt;
&lt;li&gt;A recurring failure mode and the first diagnostic check that saves time.&lt;/li&gt;
&lt;li&gt;A setup detail that is real but has not made it into formal documentation yet.&lt;/li&gt;
&lt;li&gt;A decision made in a working session that needs to be visible to the next session.&lt;/li&gt;
&lt;li&gt;The name and location of a canonical doc the agent should read before changing a sensitive area.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keep out of memory:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API keys, passwords, tokens, customer data, or private identifiers.&lt;/li&gt;
&lt;li&gt;Raw code dumps.&lt;/li&gt;
&lt;li&gt;Anything that should be versioned, reviewed, and merged through git.&lt;/li&gt;
&lt;li&gt;Unverified guesses presented as facts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The test is boring and useful: would a teammate be harmed if this memory were stale? If yes, write or update the source-of-truth document. Then memory can point to it and explain when it matters.&lt;/p&gt;

&lt;p&gt;For example, "read the migration runbook before touching billing" is good memory. The migration runbook itself should live in the repository.&lt;/p&gt;

&lt;p&gt;This keeps recall concise. Agents retrieve the reason, the warning, and the pointer instead of flooding a session with an old copy of the whole world.&lt;/p&gt;

&lt;p&gt;Shared memory works best as working knowledge with boundaries, not as a mysterious black box. That is why StremAI shows human-readable, attributed entries and gives people controls to export, archive, or erase them.&lt;/p&gt;

&lt;p&gt;What is one thing your team keeps re-explaining that should be a memory, not another paragraph in a prompt?&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>git</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>The two-minute test for whether your coding agents actually share context</title>
      <dc:creator>Thomas Jumper</dc:creator>
      <pubDate>Thu, 16 Jul 2026 14:30:00 +0000</pubDate>
      <link>https://dev.to/thomasjumper/the-two-minute-test-for-whether-your-coding-agents-actually-share-context-13ff</link>
      <guid>https://dev.to/thomasjumper/the-two-minute-test-for-whether-your-coding-agents-actually-share-context-13ff</guid>
      <description>&lt;p&gt;Most "connect your agent" setup flows stop too early. A green dot tells you a configuration exists. It does not prove that one agent can retrieve what another agent learned.&lt;/p&gt;

&lt;p&gt;Here is the two-minute test I use after connecting any shared-memory service.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In your first coding agent, store one harmless note:&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Store a memory titled "setup check" with the content "shared memory is wired up."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Open a fresh session or a different connected agent.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ask it:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Recall the memory titled "setup check."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There are only two useful outcomes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It returns the note. Good: the connection, account, project scope, and recall path are all behaving together.&lt;/li&gt;
&lt;li&gt;It cannot find the note. Do not keep coding and hope. Check that both clients signed in to the same account and project, then restart the client that was connected before the configuration changed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This test sounds almost too small, but it catches the failures that matter: a local-only configuration, an expired sign-in, a client connected to the wrong project, or a setup that did not survive restart.&lt;/p&gt;

&lt;p&gt;It also gives a team a shared definition of "working." Working is not a dashboard badge. Working means useful context makes it across a real boundary: agent to agent, or session to session.&lt;/p&gt;

&lt;p&gt;Once the check passes, replace the test note with five things you are tired of re-explaining: a deployment quirk, a flaky test, an architecture decision, a setup trap, and the convention that keeps coming up in review.&lt;/p&gt;

&lt;p&gt;That is enough to make the next session noticeably less blank.&lt;/p&gt;

&lt;p&gt;I built StremAI around this exact round-trip. It connects through MCP and lets connected agents store and recall project memory. You can try a recall in the &lt;a href="https://stremai.com/playground" rel="noopener noreferrer"&gt;StremAI playground&lt;/a&gt; before committing to a workflow.&lt;/p&gt;

</description>
      <category>aiops</category>
      <category>notionchallenge</category>
      <category>workstations</category>
    </item>
    <item>
      <title>Your CLAUDE.md is not your agent's memory</title>
      <dc:creator>Thomas Jumper</dc:creator>
      <pubDate>Tue, 14 Jul 2026 14:30:00 +0000</pubDate>
      <link>https://dev.to/thomasjumper/your-claudemd-is-not-your-agents-memory-423k</link>
      <guid>https://dev.to/thomasjumper/your-claudemd-is-not-your-agents-memory-423k</guid>
      <description>&lt;p&gt;I like &lt;code&gt;CLAUDE.md&lt;/code&gt;. I also think people are asking it to do a job it cannot do.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt;, and &lt;code&gt;.cursor/rules&lt;/code&gt; are where you put the rules you want an agent to follow: how to run tests, which folders are sensitive, what style the team uses, and when to ask before deploying. That is written context. It belongs in git.&lt;/p&gt;

&lt;p&gt;But a coding agent also learns things while it works.&lt;/p&gt;

&lt;p&gt;It discovers that a particular test is flaky under one flag. It learns why an apparently odd abstraction exists. It finds the deployment step that is not in the runbook yet. Those are not stable enough to hard-code into an instruction file, and they are too useful to lose when the session ends.&lt;/p&gt;

&lt;p&gt;That is the distinction I use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instructions are what your team writes down before the work.&lt;/li&gt;
&lt;li&gt;Memory is what your connected agents learn during the work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The practical move is not to replace instruction files. Keep them. Add a small memory protocol beside them:&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>productivity</category>
      <category>claudecode</category>
    </item>
    <item>
      <title>How to give Claude Code, Cursor, and Codex shared memory over MCP</title>
      <dc:creator>Thomas Jumper</dc:creator>
      <pubDate>Tue, 31 Mar 2026 12:44:08 +0000</pubDate>
      <link>https://dev.to/thomasjumper/how-we-built-a-4-strategy-hybrid-memory-search-for-ai-agents-5aop</link>
      <guid>https://dev.to/thomasjumper/how-we-built-a-4-strategy-hybrid-memory-search-for-ai-agents-5aop</guid>
      <description>&lt;p&gt;I use more than one coding agent in a normal week: Claude Code for most work, Cursor when I'm living in the editor, Codex CLI for scripted runs. They're all good. They also share nothing.&lt;/p&gt;

&lt;p&gt;A lesson learned in one session ("staging DB resets Sunday nights", "that test is flaky, ignore it", "we chose pgvector on purpose, stop suggesting alternatives") is gone in the next session, and was never visible to the other tools at all.&lt;/p&gt;

&lt;p&gt;The built-in memory options don't cross that gap, and their docs say so: Claude Code's auto memory is per-repository and machine-local; Codex's memories are stored locally and off by default; Cursor's documented persistence layer is Rules, which are files you write yourself.&lt;/p&gt;

&lt;p&gt;Instruction files like &lt;code&gt;CLAUDE.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt;, and &lt;code&gt;.cursor/rules&lt;/code&gt; are genuinely useful for the context you write. Keep them. What they don't hold is the context your agents learn while working.&lt;/p&gt;

&lt;p&gt;The fix is a shared memory layer over MCP: one server that any MCP client can connect to, so a memory stored by one connected agent can be recalled by another.&lt;/p&gt;

&lt;p&gt;Here's the full setup with StremAI. Full disclosure: I'm the founder. There are also open-source options like OpenMemory, agentmemory, Memorix, and others if you'd rather self-host, and the verification steps below work with any shared-memory MCP server.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Claude Code
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http stremai https://stremai.com/api/mcp &lt;span class="nt"&gt;--scope&lt;/span&gt; user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run it, then approve the browser sign-in. No API key to paste. &lt;code&gt;--scope user&lt;/code&gt; makes the connection available in every project, not just the current directory.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Cursor
&lt;/h2&gt;

&lt;p&gt;Add one server entry to &lt;code&gt;~/.cursor/mcp.json&lt;/code&gt; for global use, or &lt;code&gt;.cursor/mcp.json&lt;/code&gt; for one project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"stremai"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://stremai.com/api/mcp"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cursor should prompt a browser sign-in. Honest note: OAuth verification for Cursor is still in progress on our side. If the prompt doesn't appear in your build, use an API key fallback:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"stremai"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://stremai.com/api/mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"headers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Bearer ab_live_YOUR_KEY"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Existing &lt;code&gt;"agentbay"&lt;/code&gt; entries keep working; use &lt;code&gt;"stremai"&lt;/code&gt; for new installs so docs and troubleshooting match.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Codex CLI
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-sSL&lt;/span&gt; https://stremai.com/install-codex.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or manually in &lt;code&gt;~/.codex/config.toml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="nn"&gt;[mcp_servers.stremai]&lt;/span&gt;
&lt;span class="py"&gt;url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"https://stremai.com/api/mcp"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Verify it actually works
&lt;/h2&gt;

&lt;p&gt;Most setup guides skip the proof step. Don't.&lt;/p&gt;

&lt;p&gt;In any connected agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;store a test memory titled "setup check" with content "shared memory is wired up"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then open a different tool, or a fresh session, and ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;recall the test memory called "setup check"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If the second agent returns it without you repeating anything, you have working shared memory. That's the whole product in one round trip: what one connected agent learns, another connected agent can recall.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Make it useful
&lt;/h2&gt;

&lt;p&gt;First, tell your agents when to use memory. Put a few lines in your existing &lt;code&gt;CLAUDE.md&lt;/code&gt; or &lt;code&gt;AGENTS.md&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Before answering questions about this codebase, recall relevant project memory.
- After completing a real change, store durable lessons: decisions, pitfalls, gotchas.
- Don't store secrets or raw code; those belong in git.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Second, seed it. Store the five things you're most tired of re-explaining: deploy quirks, flaky tests, architecture decisions, setup gotchas, or the rule everyone keeps rediscovering.&lt;/p&gt;

&lt;p&gt;Recall quality is ranked, so the relevant entry surfaces when it matters instead of everything flooding the context window.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to expect
&lt;/h2&gt;

&lt;p&gt;Memory is user-controlled. Entries are human-readable, attributed to the agent that stored them, and you can export, archive, or erase them from the dashboard.&lt;/p&gt;

&lt;p&gt;On teams, one engineer's agent's lesson can be recalled by teammates' connected agents, which is the part that changes onboarding. The point is not that agents magically know everything. The point is that useful working context stops dying inside one tool's session.&lt;/p&gt;

&lt;p&gt;StremAI is free to start with no credit card. It is verified with Claude Code and Claude Desktop today, with Cursor, Codex, Windsurf, and OpenClaw supported or in active verification.&lt;/p&gt;

&lt;p&gt;Docs: &lt;a href="https://stremai.com/docs/mcp-memory" rel="noopener noreferrer"&gt;stremai.com/docs/mcp-memory&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try a real recall without an account: &lt;a href="https://stremai.com/playground" rel="noopener noreferrer"&gt;stremai.com/playground&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Questions or a setup that didn't work? Comment. I read all of them, and broken-setup reports are worth more to me than praise.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>productivity</category>
      <category>claudecode</category>
    </item>
  </channel>
</rss>
