Skip to main content
Glama
graph LR
    A["<b>.md files</b><br><i>Obsidian · Logseq · plain md</i>"] -- "watch + index" --> B["<b>mcp-recall-md</b><br><i>local vector store</i>"]
    C["<b>AI client</b><br><i>Claude · Cursor · Windsurf</i>"] -- "MCP search" --> B
    style A fill:#f9f4eb,stroke:#c9a96e,color:#333
    style B fill:#e8f0fe,stroke:#4a86c8,color:#333
    style C fill:#e8f5e9,stroke:#5b9a5b,color:#333

"Search my notes about Kubernetes networking"

→ finds kubernetes-networking.md (similarity: 0.53) — even though you phrased it differently than the note

  • Search by meaning, not keywords — finds notes even when your wording doesn't match

  • 100% offline — no API keys, no cloud, nothing leaves your machine

  • Zero config — point at your folders, restart your AI client, done

  • Real-time sync — file watcher picks up changes instantly, re-embeds only what changed


Quick start

Add to your MCP client config and restart:

{
  "mcpServers": {
    "mcp-recall-md": {
      "command": "uvx",
      "args": ["mcp-recall-md", "--vaults", "C:/Users/you/notes"]
    }
  }
}

Config file location: .mcp.json (Claude Code) · claude_desktop_config.json (Claude Desktop) · Cursor / Windsurf MCP settings

That's it. Your notes are searchable.


Installation

The quick start above uses uvx (recommended). Other options:

pip install mcp-recall-md
{
  "mcpServers": {
    "mcp-recall-md": {
      "command": "mcp-recall-md",
      "args": ["--vaults", "C:/Users/you/notes"]
    }
  }
}
  1. Download mcp-recall-md.exe from the latest release

  2. Put it somewhere permanent (e.g. C:\Tools\mcp-recall-md\)

{
  "mcpServers": {
    "mcp-recall-md": {
      "command": "C:/Tools/mcp-recall-md/mcp-recall-md.exe",
      "args": ["--vaults", "C:/Users/you/notes"]
    }
  }
}

Configuration

Multiple vaults

List all folders — each is indexed independently:

"args": ["--vaults", "C:/notes/work", "C:/notes/personal", "C:/docs"]

.recallignore

Drop a .recallignore in any vault root to exclude files. Standard .gitignore syntax:

.obsidian/
_templates/
drafts/

CLI flags

Flag

Default

Description

--vaults

(none)

Folders to index and watch

--db-path

~/.mcp-recall-md/db

ChromaDB storage location

--verbose

off

Debug logging to stderr


Tools

Your AI assistant gets these tools automatically via MCP:

Tool

Description

search

Find notes by meaning — returns ranked results with similarity scores and file paths

status

Show indexed article count and watched vaults

index

Manually store an article (for use without --vaults)

remove

Delete an article from the index

Most users only interact with search — everything else is automatic.


Troubleshooting

Problem

Fix

Search returns nothing

Check that --vaults points to folders with .md files

First run is slow

Embedding model (~80 MB) downloads once on first use

Need to debug

Add --verbose, check ~/.mcp-recall-md/server.log

Force re-index

Delete ~/.mcp-recall-md/db and restart

Logs: ~/.mcp-recall-md/server.log (5 MB max, 3 rotated backups)


Limitations

  • Single-chunk embedding — large files (10k+ words) may search less precisely than shorter notes

  • English-optimized — other languages work but with lower accuracy


License

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
4Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kalikin-artem/proj-mcp-recall-md'

If you have feedback or need assistance with the MCP directory API, please join our Discord server