Memory server
Durable, per-user memory over hybrid RAG. Store facts once and recall them by meaning across sessions.
Per-user long-term memory. Hybrid RAG (semantic + keyword) over Postgres + pgvector.
Give an agent memory that outlives the session. Call memory_write to store a durable fact once (a user's stack, a decision, a summary), then memory_search before you act so the agent recalls it next time instead of asking again.
Connect
Point your MCP client at the memory route:
Every request must carry an X-API-Key header. Sign in to create one.
https://go-mcp-server-latest.onrender.com/memory/mcpDrop this into your client’s config and swap in the key you mint on the Keys page:
{
"mcpServers": {
"memory": {
"type": "http",
"url": "https://go-mcp-server-latest.onrender.com/memory/mcp",
"headers": {
"X-API-Key": "<your-api-key>"
}
}
}
}Every request carries your X-API-Key header — mint one on the Keys page. That single key admits the whole server.
Tools
memory_searchtoolSearch stored memories by meaning and keyword. Returns ranked snippets with a similarity score and an id; call memory_get with that id for full content. An empty result means nothing relevant is stored.
queryrequired- stringWhat to search for, in natural language.
limit- int · default 5Max results to return.
min_score- float · default 0.35Cosine-similarity floor (0 to 1). Raise for stricter matches.
tags- string[]Only search memories carrying any of these tags.
memory_writetoolStore a new memory. Returns the created memory's id.
contentrequired- stringThe memory to store.
tags- string[]Labels for filtering later.
metadata- objectArbitrary key-value context.
memory_gettoolFetch one memory in full by id.
idrequired- stringThe memory id, as returned by memory_search.
memory_updatetoolReplace a memory's content by id. The memory is re-embedded.
idrequired- stringThe memory id to update.
contentrequired- stringReplacement content; the memory is re-embedded.
memory_deletetoolPermanently delete a memory by id.
idrequired- stringThe memory id to delete.
memory_listtoolList recent memories newest-first, optionally filtered by tag. Use this to browse when you have no search query.
tags- string[]Only list memories carrying any of these tags.
limit- int · default 20Max results.
Make your agent stateful
The tools above give an agent a place to keep knowledge; they don’t teach it when to reach for that place. Install the stateful-memory skilland your agent recalls relevant context before it acts and persists what it learns after — the difference between having memory and actually using it.
The operating protocol that makes the Memory server behave like memory — when to recall, when to persist, and how to tag. Drop it into your agent’s .claude/skills/ folder so it recalls before acting and persists after — instead of starting every session from a blank slate.
mkdir -p .claude/skills/stateful-memory curl -sL /api/skills/stateful-memory -o .claude/skills/stateful-memory/SKILL.md
The protocol: recall once per topic at the start, search before asking, write a tight summary after substantial work, capture durable user facts the moment they’re stated, and keep a consistent tag taxonomy so retrieval stays precise. It’s tuned for the eviction window — store what matters, keep it current.