Self-hosted agent memory in an Obsidian vault: hybrid search, link graph, tasks, safe writes, OAuth
MCPpedia last refreshed this data
io.github.maxkuminov/obsidian-mcp is an MCP server that self-hosted agent memory in an Obsidian vault: hybrid search, link graph, tasks, safe writes, OAuth. Its tool list has not been published yet over http, requires no API key, and scores 76/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"obsidian": {
"url": "https://obsidian-mcp.<your-domain>/mcp",
"headers": {
"Authorization": "Bearer omcp_..."
}
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Self-hosted agent memory in an Obsidian vault: hybrid search, link graph, tasks, safe writes, OAuth
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in security / education
Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.
MCP security scanner. CI-native testing, attack simulation, health scoring, and SARIF.
MCP server for 1Password service accounts — tools and resources for vaults and credentials
Deterministic security scanning, no model or API key, plus offline-verifiable proof a fix worked.
MCP Security Weekly
Get CVE alerts and security updates for io.github.maxkuminov/obsidian-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Your agents' memory, in the vault you already have, reachable from claude.ai, ChatGPT, Claude Code and your phone.
A self-hosted Model Context Protocol server that turns an Obsidian vault into long-term memory for every agent you use. Agents search it by meaning or by exact words, follow its wikilinks, see what changed since their last session and who changed it, keep their to-dos in it, and write back through guarded, atomic edits. 32 tools over plain markdown files that you can open, edit and grep.
What sets it apart:
expected_hash is
refused when the note changed since it was read, and a deployment
can require the hash on every edit
(Guarding edits against stale reads).
Every publish is atomic, a create refuses a path that is already taken,
deletes go to .trash/, and dry_run returns the diff before
anything lands.Connect from Claude Code:
claude mcp add obsidian --transport http \
--url "https://obsidian-mcp.<your-domain>/mcp" \
--header "Authorization: Bearer omcp_..."
In claude.ai, Claude Desktop or ChatGPT, add a custom connector at
https://obsidian-mcp.<your-domain>/mcp and sign in through the OAuth
consent page. Connect a client has the rest.
Stack: Python 3.12, FastAPI, PostgreSQL with pgvector, and an embedding backend of your choice (Ollama, OpenAI or Hugging Face TEI; see Pick an embedding backend).

There are three things going on here, and they're more interesting together than apart.
If you let an agent run for a while, it needs memory. Most setups solve this with an opaque vector store, a SQLite blob, or a managed "memory" service that you can't see into. That works until you want to know what the agent thinks it knows about you, or you need to