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_contextmatches one query as a substring against content and tags;search_contextsrequires every space-separated keyword to match.- Two additional tools,
create_bubbleandlist_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.