MCP server providing comprehensive read, write, search, tag, link, graph, canvas, base, and attachment operations on Obsidian vaults.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent ā or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag ā we're steadily working through the catalog.
š” Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Obsidian MCP Pro.
search_notesFocus-ranked full-text search with query-centered snippets (cached)
get_noteRead a note whole, or by `section` / `block` / `lines
list_notesList notes in the vault or a folder
get_daily_noteGet today's (or a specific date's) daily note
search_by_frontmatterFind notes by frontmatter property values with case-insensitive key/value matching
get_recent_notesNotes sorted by mtime; optional ISO-or-relative `since` filter
The most feature-complete MCP server for Obsidian vaults.
ā Please star us on GitHub, it helps us reach more users!
š Support this project. obsidian-mcp-pro is free and open-source. If it saves you time, consider becoming a patron for ongoing support, or tipping on Ko-fi for a one-time thanks. Patrons get release notes early, priority on bug reports, and (optionally) their name in the README.
Give AI assistants deep, structured access to your Obsidian knowledge base. Read, write, search, tag, analyze links, traverse graphs, manipulate canvases, query Bases, edit by heading or block reference, run semantic search, and pull binary attachments. All through the Model Context Protocol.
41 tools, 5 prompts, 3 resources. Every tool ships with rich descriptions, typed schemas, human-readable titles, and safety annotations (readOnlyHint, destructiveHint, idempotentHint) so your agent picks the right tool, passes the right arguments, and handles results correctly. The original 23 tools earned an average 4.40/5 score and all-A grades on Glama's quality index; the 18 newer ones follow the same authoring conventions documented in docs/TOOL_AUTHORING.md.
get_recent_notes orders by mtime; get_vault_stats reports counts, words, tag coverage; resolve_alias translates a display name to a real note path.trash folder by default, with an optional permanent flag and elicitation-based confirmationupdate_section, insert_at_section, list_sections, plus single-note replace_in_note (regex with match-count guard) and edit_block for paragraphs tagged with ^idrename_tag rewrites both inline #tag occurrences and frontmatter tags: arrays vault-wide; hierarchical mode also rebases nested sub-tags (project/alpha follows project).canvas files with full node and edge datalist_bases enumerates .base filesread_base returns the parsed YAML (filters, properties, views)query_base runs the filter DSL against the vault and returns matching notes; supports taggedWith(), file.hasTag(), file.inFolder(), comparison operators, and and/or/not combinators. Unsupported filters warn and fail closed instead of broadening results.list_attachments enumerates every non-md/canvas/base file with a per-extension count summaryfind_unused_attachments flags assets no note references via embeds or markdown links; optional reclaimable-bytes reportget_attachment returns image / audio / blob bytes inline as MCP content blocks (5 MB default cap, 50 MB hard cap)index_vault chunks each note (heading-aware), embeds via the configured provider, persists vectors to <vault>/.obsidian/cache/, and incrementally re-embeds only changed notesindex_vault requires confirm: "send-vault-text-to-embedding-provider" on each callsearch_semantic ranks notes by cosine similarity against an embedded queryfind_similar_notes reuses an existing note's embeddings, with source-topic anchoring, to surface neighbors without a live API callobsidian://note/{path} reads any note by its vault-relative pathobsidian://tags retrieves the full tag index as JSONobsidian://daily gets today's daily note contentThe server exposes five starter prompts that clients (Claude Desktop, Cursor) surface in their slash-command palette:
daily-review walks today's daily note, surfaces unchecked tasks, and proposes follow-upsweekly-rollup aggregates the last seven daily notes into themes / decisions / open tasksfind-stale-notes locates untouched notes and clusters them as orphaned vs. broken-linked vs. still-linkedextract-action-items pulls all - [ ] ⦠lines from a note (or every note matching a tag) into a checklistbuild-moc generates a Map of Content (MOC) for a tag or folderOBSIDIAN_READ_PATHS / OBSIDIAN_WRITE_PATHS allowlists gate every tool at the path-resolution choke pointnotifications/progress) on rename_tag, find_unused_attachments, and index_vault when the client subscribes via _meta.progressTokenconfirmPath for default move_note reference rewrites, confirmTag for non-dry-run rename_tag, and confirm=true for permanent deletion; clients with elicitation support also get typed promptsUsing Obsidian? There's also an Obsidian plugin that runs this server inside the app with a ribbon toggle and settings UI ā no config-file editing. Recommended for most users.
This merges an entry into your claude_desktop_config.json (or ~/.cursor/mcp.json with --client=cursor), backs up the previous file, and prints next steps. Works on macOS, Windows, and Linux.
Pin a specific vault:
Add this to your Claude Desktop configuration file (claude_desktop_config.json):
If you have multiple vaults, specify which one:
Endpoint: http://127.0.0.1:3333/mcp (Streamable HTTP). HTTP transport requires a bearer token:
Factual signals from GitHub, npm, and our automated checks ā not a rating.
No reviews yet ā be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/rps321321-obsidian-mcp-pro)<a href="https://allmcps.com/mcp/rps321321-obsidian-mcp-pro"><img src="https://allmcps.com/api/badge/rps321321-obsidian-mcp-pro?style=directory" alt="Obsidian MCP Pro on AllMCPs" /></a>