open-context open-context
September 21, 2026 · 6 min read

The 6 open-context MCP Tools, and When Claude Calls Each One

open-context's MCP server registers six tools that give Claude persistent memory: save_context, recall_context, list_contexts, search_contexts, update_context, and delete_context. You never call any of them by name — Claude reads each tool's description and picks the right one from what you actually say, the same way it would with any other MCP tool.

Key takeaways

  • open-context's MCP server exposes six core tools for memory: save_context, recall_context, list_contexts, search_contexts, update_context, delete_context.
  • MCP tools are model-controlled — the model decides when to call one based on its description, not a command you type.
  • recall_context matches one query as a substring against content and tags; search_contexts requires every space-separated keyword to match.
  • Two additional tools, create_bubble and list_bubbles, manage project workspaces and sit outside this six-tool reference.
  • All six tools read and write through the same pluggable store adapter, so they behave identically on the default JSON file or any of open-context's 15 supported databases.

What actually makes something an "MCP tool"

In the Model Context Protocol specification, tools are defined as model-controlled primitives: a server exposes a tool with a name, a natural-language description, and a schema for its arguments, and the connected model decides for itself, from the conversation, when a tool fits. That's different from typing a slash command — there's no explicit invocation syntax for the person talking to Claude at all.

open-context's MCP server (src/mcp/server.ts) leans on this directly. Each of its six context tools ships with a description written as a trigger pattern — "use this when the user says 'remember this'" — so Claude can match your phrasing to the right tool without you ever knowing the tool's name.

The six tools, one by one

1. save_context

Saves a note, preference, or fact to the store. Takes content, and optional tags, source, and bubbleId. Its description tells Claude to reach for it on "remember this," "save this," or "keep this in mind." It returns the new entry's ID and tags so Claude can confirm what it stored.

2. recall_context

Takes a single query string and searches it as a case-insensitive substring against every saved context's content and tags. It's the tool behind "what did I say about…" and "do you remember…" — a loose, single-term lookup rather than a filtered search.

3. list_contexts

Returns every saved context, or every context matching an optional tag filter, with no query needed. This is what runs for "show my saved contexts" — a browse, not a search.

4. search_contexts

Takes a space-separated query and requires every term to match before a context is returned. Where recall_context is one loose term, search_contexts is a multi-keyword AND search — useful once you remember two or three specific words instead of one general topic.

5. update_context

Edits an existing entry by id, replacing its content and, optionally, its tags or bubbleId. Claude reaches for this when a saved fact changes — correcting a preference rather than saving a duplicate one.

6. delete_context

Removes a saved context by id. It's the only one of the six that's purely destructive, and it returns a plain confirmation or a "not found" message — no undo, so Claude only calls it on an explicit request to forget something.

Two more tools live outside this six

The same server also registers create_bubble and list_bubbles, which group contexts into named project workspaces rather than searching or editing them. They're a separate concern from the six context tools above — see Organize Claude's MCP Memory by Project With Bubbles for how Claude uses them.

Where the six tools read and write

Every tool call goes through the same store adapter, so their behavior doesn't change based on where the data lives. By default that's a JSON file at ~/.opencontext/contexts.json. Setting OPENCONTEXT_DB_URL points the identical six tools at any of open-context's 15 supported backends — SQLite, Postgres, Redis, and more — with no change to how Claude calls them. If you're choosing a backend for a team or a production deployment, SQLite or Postgres: Choosing Your MCP Context Store covers the tradeoff in more depth.

Wiring the tools up in Claude Code or Claude Desktop

The tools become available the moment the MCP server is registered as a client. After npm run build, add it to ~/.claude/settings.json:

{
  "mcpServers": {
    "open-context": {
      "command": "node",
      "args": ["/path/to/opencontext/dist/mcp/index.js"]
    }
  }
}

Restart the client and all six tools appear automatically — no separate registration step, no manual tool selection. From that point on, saying "remember that I prefer TypeScript over JavaScript" is enough for Claude to call save_context on its own.

Give Claude persistent memory across every conversation.

Set up open-context's MCP server →

FAQ

What are the 6 tools in open-context's MCP server?

save_context, recall_context, list_contexts, search_contexts, update_context, and delete_context. Together they let Claude save a memory, search or list saved memories, edit one, and remove one, all through the same context store.

How does Claude know which MCP tool to call?

MCP tools are model-controlled: Claude reads each tool's name and natural-language description and decides on its own, from your prompt, which one fits. You never call a tool by name yourself.

Do I have to say "save_context" for Claude to save something?

No. Saying "remember this" or "keep this in mind" is enough — that phrasing is exactly what the save_context tool's description tells Claude to match against.

What's the difference between recall_context and search_contexts?

recall_context takes one query and matches it as a substring against content and tags. search_contexts takes space-separated keywords and requires every single one to match, which narrows results faster when you remember several specific words.

Where do these six tools actually read and write data?

By default, a local JSON file at ~/.opencontext/contexts.json. Setting OPENCONTEXT_DB_URL points the same six tools at any of open-context's 15 supported database backends without changing their behavior.