Docs

Search docs

Search pages and tools

MCP Server

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.

How it helps

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:

You need an API key to connect

Every request must carry an X-API-Key header. Sign in to create one.

Sign in to get your key
Memory
https://go-mcp-server-latest.onrender.com/memory/mcp

Drop this into your client’s config and swap in the key you mint on the Keys page:

mcp.json
{
  "mcpServers": {
    "memory": {
      "type": "http",
      "url": "https://go-mcp-server-latest.onrender.com/memory/mcp",
      "headers": {
        "X-API-Key": "<your-api-key>"
      }
    }
  }
}
What you provide

Every request carries your X-API-Key header — mint one on the Keys page. That single key admits the whole server.

Tools

memory_searchtool

Search 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_writetool

Store 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_gettool

Fetch one memory in full by id.

idrequired
stringThe memory id, as returned by memory_search.
memory_updatetool

Replace 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_deletetool

Permanently delete a memory by id.

idrequired
stringThe memory id to delete.
memory_listtool

List 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.

Stateful memory skill

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.

Download SKILL.md
install into your project
mkdir -p .claude/skills/stateful-memory
curl -sL /api/skills/stateful-memory -o .claude/skills/stateful-memory/SKILL.md
What the skill encodes

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.