Search Memory logo

Search Memory

Free web search, local memory, and a citable knowledge base for MCP-compatible AI assistants.

Install Search Memory

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "search-memory": {
      "command": "npx",
      "args": [
        "-y",
        "search-memory-mcp@latest"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

Search Memory MCP server gives AI assistants free web search, page extraction, session memory, and a local knowledge base. It uses multiple search providers with fallback, reads web pages and common document formats, and stores indexed content, cache, memory, and models locally. Use it when an assistant needs current web information, persistent notes, or searchable private documents without a required API key. It runs over MCP through npm, a local checkout, or Docker.

Use cases

  • Search the web for current technical information
  • Remember project decisions across assistant sessions
  • Index private documents into a local knowledge base
  • Research a topic and retain cited source pages
  • Find related documents and entities in an indexed corpus

Key features

  • Multi-provider web search with fallback
  • Page, PDF, DOCX, and EPUB text extraction
  • Local session memory with topic and tag support
  • Hybrid keyword and semantic knowledge-base search
  • Cited research answers and structured JSON output
  • Local cache, models, and indexed data

Tools12

What Search Memory lets your agent do. Expand a tool for its parameters.

Self-reported~405 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 7d ago via OSV.dev · search-memory-mcp@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads1.3kPackage downloads in the last 30 days.
Last commit1d agoMost recent push to the default branch.
Tools exposed12Callable tools this server registers over MCP.

How Search Memory works

What Search Memory MCP server does

Search Memory MCP server combines web research with local persistence. An MCP client can search the web, fetch pages as cleaned Markdown, save notes for later sessions, and build a private index of pages and documents. Indexed material can be searched with keyword and semantic retrieval, while answers can include citations to the relevant sources.

The server supports several web search scrapers, including DuckDuckGo, Bing, Brave, Google, Yahoo, and Marginalia. It can also use a SearXNG instance or the Brave Search API when configured. Search results are deduplicated across providers, and provider fallback helps continue a request when a provider fails or returns no results.

How it works

Web pages are fetched over HTTP when possible. GitHub Raw and RSS receive dedicated fast paths, while Playwright Chromium handles pages that need a browser. PDF, DOCX, and EPUB responses can be converted to text without opening a browser, subject to a 25 MB document limit.

The local knowledge base stores document chunks in SQLite. Retrieval combines SQLite FTS5 keyword search with sqlite-vec semantic search and fuses the results using Reciprocal Rank Fusion. If embeddings are unavailable, retrieval falls back to FTS. An entity graph supports finding related documents and co-occurring entities.

Session memory is separate from the document index. The remember, recall, and forget tools support topics, tags, and session scoping. The research operation can check existing indexed material, search the web, read selected pages, produce a cited answer, and retain the pages for later use. Results expose publication and fetch or indexing dates when those dates are available.

Setup and configuration

The quickest installation uses Node.js and an MCP client configuration with npx -y search-memory-mcp@latest. The documented runtime range is Node.js 20.9 through 25, with Node.js 24 as the development baseline. A local installation uses npm install followed by npm run build; the built server can then be launched with Node or its binary entrypoint.

Docker is an alternative when the host Node.js version is unsuitable. The published image includes Node, the SQLite module, and Chromium. Named volumes preserve the cache, memory, indexed content, and downloaded models. Local folders must be mounted explicitly before ingesting files from them, and INGEST_ALLOWED_DIRS can restrict the folders available to document ingestion.

Default web search does not require an API key. Optional configuration includes provider selection, rate limits, reranking, cross-lingual processing, tracing, and SearXNG or Brave API access. Playwright Chromium downloads during installation or first use, and model-backed features download local model files on their first invocation.

Tools and capabilities

Available operations include web search, page fetching, URL indexing, document ingestion, index search, index listing, related-document lookup, and session memory management. Search supports domain and date filters, structured JSON output, query rewriting, optional multi-query expansion, caching, and deep-search answers with per-source citations.

The server records provider attempts and can expose execution stages, timings, and cache information. Recent searches appear in server status, while TRACE_SEARCHES=true enables full search traces. A retrieval evaluation command reports recall, precision, and mean reciprocal rank.

Limitations and notes

Search Memory MCP server requires network access during installation and for web research. Browser-dependent requests may take longer on the first run because Chromium may need to download. Model-backed features can also have a slow first request while local model files are downloaded.

Fetched web content is treated as data rather than instructions, and hidden text or invisible characters are removed. Fetching and URL indexing block localhost and private network targets to reduce SSRF risk. Token-bucket limits apply to search and fetch operations.

The default search path avoids required API keys, but optional providers may need credentials or a configured endpoint. Local storage keeps data on the machine running the server; Docker users should use persistent volumes if memory and indexed content must survive container removal.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Search Memory

Search Memory is an MCP server that connects AI assistants to free web search, page and document extraction, and local SQLite-backed memory and knowledge indexing. Its main tools include web_search, fetch_content, index_url, ingest_document, search_index, remember, recall, forget, and research, with citations for indexed or researched sources.

Install it by adding `npx -y search-memory-mcp@latest` as the MCP server command in your client configuration. Alternatively, clone or install the package, run `npm install` and `npm run build`, then launch the built entrypoint. Node.js 20.9 through 25 is supported.

Yes, Search Memory works with Cursor. Add the server to Cursor’s MCP configuration using the npm package command, a built local entrypoint, or the Docker command, then restart the MCP connection.

No, its default web search does not require an API key. The server can use scraper-based providers, while the optional Brave Search API requires `BRAVE_SEARCH_API_KEY`; SearXNG also requires a configured endpoint.

Search Memory stores its cache, session memory, knowledge base, and related local data on the machine running the server. Its knowledge base uses SQLite with FTS5 and sqlite-vec, and Docker users can preserve the data with named volumes.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewSearch Memory AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/search-memory?style=directory)](https://allmcps.com/mcp/search-memory)
HTML Embed
<a href="https://allmcps.com/mcp/search-memory"><img src="https://allmcps.com/api/badge/search-memory?style=directory" alt="Search Memory on AllMCPs" /></a>