Obsidian MCP: Four Ways to Connect Claude and Claude Code to Your Vault, and What Each Lets Claude See
An Obsidian MCP server is a small program that exposes your vault to an AI client such as Claude Desktop, Claude Code or Cursor through the Model Context Protocol, so the model can read, search and write notes without you pasting them. There is no official one from Obsidian; the community servers all go through the Local REST API plugin or read the vault folder directly. Three of the four ways to connect Claude hand it your vault as files. The fourth hands it the vault's structure.
Files are enough for editing: Claude opens a note, rewrites a section, adds a [[wikilink]]. They are not enough for the question a long-lived vault raises, which is what it holds, how its topics connect and where it is thin. The comparison below runs on that axis: what Claude can see through each route, the setup for the MCP routes, and one session in which Claude reads the vault as a knowledge graph and proposes the note that fills a gap.
Connect Claude to Your Vault
Create an Account
Sign up for a free InfraNodus account to get access to the knowledge graph tools and your API key.
Create a Free AccountGet InfraNodus MCP
https://mcp.infranodus.com
Add this URL as a connector via Settings > Connectors in Claude Web / Desktop and authenticate with your InfraNodus API key via OAuth.
https://mcp.infranodus.com
Open the ChatGPT Apps page > Advanced Settings > enable Developer Mode > Create App, paste this URL (leave the OAuth fields empty), click Connect, and authenticate with your InfraNodus API key. Full guide: ChatGPT setup.
claude mcp add infranodus -s user --transport http https://mcp.infranodus.com/mcp
Then open Claude Code in terminal, run /mcp and pick
"Authenticate" — it opens the browser OAuth flow where you will need to
put in your InfraNodus API key to connect to
the MCP server.
{
"mcpServers": {
"infranodus": {
"url": "https://mcp.infranodus.com"
}
}
}
Add this to ~/.cursor/mcp.json (all projects) or
.cursor/mcp.json (one project) — or use
Cursor Settings > MCP > New MCP Server. Then
click "Login" next to the server to authenticate with your
InfraNodus API key.
codex mcp add infranodus --url https://mcp.infranodus.com
codex mcp login infranodus
Run these commands in your terminal — the login command opens the
browser OAuth flow where you enter your
InfraNodus API key. (You can also add the
server to ~/.codex/config.toml manually.)
{
"mcpServers": {
"infranodus": {
"command": "npx",
"args": ["-y", "infranodus-mcp-server"],
"env": {
"INFRANODUS_API_KEY": "your-api-key"
}
}
}
}
Add this to your LLM client's MCP configuration file (it runs the
infranodus-mcp-server npm package via npx), replacing
your-api-key with your
InfraNodus API key. See our
deployment guides for client-specific
instructions (n8n, Make.com, local setup, and more).
Install the Skill
/plugin marketplace add infranodus/skills
/plugin install infranodus@infranodus-skills
Run these two commands in the Claude Code prompt to install
the skill as a plugin (use
infranodus-all@infranodus-skills to install all
our skills at once). Or use npx in your terminal:
npx skills add infranodus/skills --skill infranodus -g -a claude-code -y
Download the skill as a .zip file from our GitHub
repository:
Then open Claude Desktop (or Claude Web), go to
Customize > Skills (in older versions:
Settings > Capabilities > Skills), make
sure "Code execution and file creation" is enabled, click
Upload Skill (or the + button)
and select the infranodus.zip file you just
downloaded. The skill will be available in all your new
conversations.
Option 1: ask Codex to install the skill for you with its built-in skill installer. Type this in the Codex prompt:
$skill-installer install the infranodus skill from https://github.com/infranodus/skills
Option 2: use npx in your terminal (it will fetch the skill from our GitHub repository and add it to Codex):
npx skills add infranodus/skills --skill infranodus -g -a codex -y
Both options install the skill into the
~/.codex/skills folder. Start a new Codex session
to pick it up, then type $ in the prompt to see the
skill in the list and invoke it.
npx skills add infranodus/skills --skill infranodus -g
When prompted, select the agents where you want to add the skill — e.g. claude-code, codex, or cursor.
npx comes bundled with Node.js. For ChatGPT and OpenClaw, see the full installation instructions.
Didn't work? You can simply download infranodus.zip from our GitHub repository and add it to your LLM client manually — see the step-by-step instructions.
Try It: Your First Prompt
Paste this into Claude Code, Claude Desktop, Cursor or any client
where the skill is
installed, or type /infranodus in Claude Code to call the skill by name.
Replace the parts in square brackets with your own:
Use the InfraNodus skill on this vault folder: build the knowledge graph, show me the main topics and the most central concepts, then name the biggest gap between two clusters and the note that would bridge it.
What Is an Obsidian MCP Server?
An Obsidian MCP server is a bridge between your vault and an MCP client. The client (Claude Desktop, Claude Code, Cursor or Cline) sends tool calls such as "search notes for X" or "append this to today's note"; the server runs them against the vault on your disk and returns the result. Three families exist: plugins that run the server inside Obsidian, bridges that reach Obsidian through the Local REST API plugin, and servers that read the Markdown folder directly.
The plugin family includes MCP Connector, an in-process server with semantic search and a one-click .mcpb file for Claude Desktop, and Vault as MCP, a local HTTP server started from inside Obsidian. The bridge family includes mcp-obsidian and cyanheads/obsidian-mcp-server, which wrap the Local REST API plugin and need Obsidian open. The folder family, such as StevenStavrakis/obsidian-mcp, works with Obsidian closed.
All three families give Claude the same kind of view: one file at a time, found by name or by text search. That matches how Obsidian stores notes, and it is why the forum thread comparing Obsidian MCP servers turns on tool counts and editing precision. What none of them returns is the shape of the whole: which topics the vault holds, which concepts hold them together, and which pairs of topics never meet.
Is There an Official Obsidian MCP Server?
No. Obsidian does not ship an MCP server, and the r/ObsidianMD thread asking whether an official one is coming has no yes in it. The closest thing is the community Local REST API plugin, which now serves an MCP endpoint at https://127.0.0.1:27124/mcp/ behind the same bearer token it uses for its REST calls. Its plugin page states that the separate bridge servers "are no longer necessary" once this endpoint is enabled.
In practice the choice is narrower than the repo count suggests. If you run Claude Desktop and want a one-click install, MCP Connector. If you run Claude Code or Cursor and are happy with a config line, point the client at the Local REST API endpoint, or at mcp-obsidian or the cyanheads server if you want their typed tools for tags, frontmatter and section edits. Every one of these needs the Local REST API plugin or the vault folder; none is "official", and none shows structure.
Four Ways to Connect Claude to Your Obsidian Vault
The routes differ less in setup than in what Claude can see once connected. The table sets them side by side; the sections that follow give each route one honest paragraph and, for the MCP routes, the setup steps. Routes stack, so this is not a choice of one.
| Route 1: Claude Code in the vault folder | Route 2: Claude inside Obsidian | Route 3: File-access MCP server | Route 4: Knowledge graph over MCP (InfraNodus) | |
|---|---|---|---|---|
| What Claude sees | Files it opens or greps, one at a time | The current note plus what the plugin searches | Files and search results returned by tools, one call at a time | The vault's topical clusters, the concepts that connect them, the statements behind each, and the gaps |
| Setup | cd into the vault, run claude, write a CLAUDE.md | Install a community plugin, sign in to Claude or paste an API key | Install Local REST API, copy the key, add the server to the client config, restart | Add the InfraNodus MCP server to Claude Code or Claude Desktop, authorize with an API key, install the /infranodus skill |
| Where your notes go | Stay on disk; what Claude reads goes to the model | Stay on disk; what the plugin sends goes to the model | Stay on disk; what the tools return goes to the model | Analyzed text goes to InfraNodus servers; nothing is stored unless you save a graph |
| Clients | Claude Code, Claude Desktop (Cowork folder) | Obsidian only | Claude Desktop, Claude Code, Cursor, Cline | Claude Code, Claude Desktop, Cursor, ChatGPT, any MCP client |
| Can it tell you what is missing | Only what it infers from the files it happened to read | No | No; it searches, it does not map | Yes: content gaps between clusters, with the statements on each side |
Route 1: Claude Code in the Vault Folder
Obsidian and Claude Code work together without MCP. A vault is a folder of Markdown files, and Claude Code reads folders: cd into the vault, run claude, and it can list, grep and write notes with [[wikilinks]]. A CLAUDE.md at the vault root holds your folder conventions; .claude/commands holds the prompts you repeat, such as a /today command that files the inbox into daily notes. Darren Rowse's non-coder guide runs exactly this; kepano/obsidian-skills packages the conventions as skills.
This is the fastest route and the right one for editing. Its limit is the reading method: Claude sees what grep returns. Ask "what does my vault say about attention" and it finds the notes containing the word, not the notes about the idea under another name, and not the fact that your attention notes and your sleep notes never link. Claude Desktop's Cowork folder access has the same reach: files in, files out.
Route 1 is also the base the MCP routes plug into. claude mcp add runs from the same vault folder, and the servers it registers, a file bridge or the InfraNodus graph layer, appear as tools in that session. The same JSON entry copies into Codex, Cursor or Claude Desktop, which is why most setup guides end with a config block rather than with what Claude can then see.
Route 2: Claude Inside Obsidian
A second family puts Claude in the Obsidian sidebar. Companion for Claude, Claudian, Claude Code Connector and the Claude Code IDE plugin (which Claude Code attaches to with the /ide command) each run Claude Code or the Anthropic API from inside the app, so the current note is the context and edits land in place. Ask ChatGPT how to connect Claude to your vault and it names eight of these plugins and no MCP server at all.
They are good at drafting where you are reading. They have the same horizon as Route 1: the open note, plus a search. None of them computes a view of the whole vault, so "what am I missing" gets an answer from the model's general knowledge, not from your notes.
Route 3: File-Access MCP Servers (MCP Connector, mcp-obsidian)
The claude obsidian mcp setup is the same four steps for every file-access server. First, install and enable the Local REST API plugin and copy its API key. Second, pick a server: MCP Connector for a one-click .mcpb install in Claude Desktop, or mcp-obsidian (Python) or cyanheads/obsidian-mcp-server (Node) for a bridge you configure yourself. Third, add the server to your client (claude_desktop_config.json or claude mcp add) with the key in an OBSIDIAN_API_KEY variable. Fourth, restart the client.
The port matters. The Local REST API plugin serves HTTPS on 27124 with a self-signed certificate and, if you enable it, plain HTTP on 27123; bridge servers let you turn off certificate checks for localhost. If you use the MCP Tools plugin and see "local rest api key is not configured", it means the Local REST API plugin is not installed, not enabled, or has not generated a key yet; MCP Tools depends on it.
What you get is Claude reading, writing, searching and, with the cyanheads server, editing sections, tags and frontmatter with typed tools. MCP Connector adds semantic search over the vault, runs Obsidian commands and loads tools adaptively so the client's context is not flooded; most servers also expose the active file. That is a real step up from grep. It is still a file view: each call returns one note or one list of matches, and the server has no idea how your topics relate.
Route 4: The Graph Layer: InfraNodus MCP Shows Claude the Vault's Structure
The InfraNodus MCP server adds a layer the file routes do not have. Point it at a folder, a note or a selection, and it builds a text network: words are normalized to their base forms and connected when they co-occur within a few words of each other. Community detection groups the densely connected concepts into topical clusters. Betweenness centrality finds the concepts on the paths between clusters, the ones your notes use to move between topics. Two clusters with almost no links between them are a structural gap.
That graph is what Claude reads. A call to generate_knowledge_graph returns the clusters and their top concepts for a folder; generate_topical_clusters names them; generate_content_gaps returns the pairs of clusters that never meet, with the statements from your notes on each side, so the answer to "what am I missing" comes from your vault, not from the model. retrieve_from_knowledge_base is the GraphRAG side: it pulls the statements relevant to a question together with the structural context around them.
The same graph is the one the Obsidian Graph View Plugin draws inside Obsidian, so what Claude reports as a gap is what you see as empty space between two coloured clusters. The /infranodus skill builds one saved graph per folder with a manifest, which lets Claude answer questions about the vault's themes from the graphs before it opens any file.
The methodology is the peer-reviewed text network analysis behind InfraNodus, the same one the web app uses; the GraphRAG page covers how the retrieval differs from vector search, and MCP vs RAG vs agents explains why MCP is the transport and the graph is the knowledge.
How to Set It Up: Claude Code, Obsidian and the InfraNodus MCP Server in Six Steps
The stepper above installs the pieces; this is the same setup in prose, for Claude Code, so you can see where each piece sits and why it is there. Claude Desktop follows the Claude deploy page and Cursor the Cursor deploy page with the same server URL; the steps after the connection are identical.
- Create an account and an API key. A free InfraNodus account gives you an API key in the API panel. The key is what authorizes the MCP server to work in your account; the vault itself is never uploaded wholesale.
- Add the server to Claude Code. In the terminal, run the command below.
-s usermakes it available in every project; use-s projectto write a shareable.mcp.jsoninto the vault instead. The hosted alternative isclaude mcp add infranodus -s user --transport http https://mcp.infranodus.com/mcp, followed by/mcpinside Claude Code to authenticate in the browser with the same key.
claude mcp add infranodus -s user \
-- env INFRANODUS_API_KEY=YOUR_INFRANODUS_KEY \
npx -y infranodus-mcp-server
- Install the
/infranodusskill. Download it from the skill page and drop it into~/.claude/skills/. The skill tells Claude how to graph a folder, how to name the graphs and how to query them later; without it Claude has the tools but not the procedure.
- Open Claude Code in the vault.
cdinto the vault folder and runclaude. Route 1 is now in place for editing, and the MCP server is in place for structure. Keep your CLAUDE.md; add one line to it saying that questions about themes, gaps or what to write next go to the InfraNodus graphs first.
- Build the first graph. Type
/infranodusand pick the folder you care about, not the whole vault: one research project, or this year's notes. Claude reads the notes, uploads them as statements to a graph named after the folder, and writes a manifest in the vault so the next session knows which graph covers what.
- Add the plugin for the visual side. Install the Obsidian Graph View Plugin and paste the same API key into its settings, so the clusters and gaps Claude talks about are the ones you can click on, select, and send to AI Insights for a follow-up. One key serves the plugin, the MCP server and AI Insights; the plugin and the server read the same graph, so nothing is built twice.
What a Session Looks Like
You open Claude Code in the vault and ask: "What is my vault missing on attention?" Claude calls generate_topical_clusters on the attention folder's graph and reports four clusters: focus and distraction, sleep and recovery, the economics of attention, and meditation practice. It calls generate_content_gaps and finds that the sleep cluster and the economics cluster share almost no concepts, although both discuss time.
You ask it to remove the top nodes, the three concepts that appear in every note, and look again. Under them a smaller insight cluster appears: a handful of statements about environment design that connect to neither sleep nor economics. Claude retrieves those statements with retrieve_from_knowledge_base, then proposes a note titled "Attention as a scarce resource you can budget" that links [[sleep debt]] to [[attention economy]] through [[environment design]], quoting the two existing notes it bridges.
You read it, change two sentences, and tell Claude to write it to the folder with the wikilinks. Claude saves the bridging idea to your InfraNodus Project Notes as well, so the next session, in Obsidian or in Claude, starts from it. The graph found the gap; the model only drafted the note that fills it.
Get the InfraNodus MCP Obsidian Graph View PluginStacking the Routes
The four routes do not compete; the file routes are transport and the graph layer is the reading. Claude Code in the vault folder is how edits happen; a file-access MCP server adds typed tools for tags, frontmatter and sections; an in-Obsidian plugin keeps Claude next to the note you are reading. The InfraNodus MCP server edits nothing: when it shows a gap, Claude writes the bridging note through Route 1 or the section tools of Route 3. A working setup is usually Route 1 plus Route 4.
This is the second brain setup the Claude and Obsidian guides describe, with one layer added: the agent's session starts from the graph of what the vault already holds rather than from an empty context. The LLM wiki setup shows the stack with an agent writing the wiki pages and the plugin showing where the wiki is thin; the AI second brain page assembles the whole loop from capture to insight.
Get Started
Frequently Asked Questions
Is there an official Obsidian MCP server?
No. Obsidian has not released an MCP server. The community Local REST API plugin now serves an MCP endpoint at https://127.0.0.1:27124/mcp/ with bearer token authorization, and its page says the separate bridge servers are no longer required once it is enabled. Every other option is a community plugin (MCP Connector, Vault as MCP) or a community server (mcp-obsidian, cyanheads/obsidian-mcp-server). See Is There an Official Obsidian MCP Server? above.
What is the best Obsidian MCP server for Claude?
It depends on what Claude should see. For one-click file access in Claude Desktop, MCP Connector. For a configurable bridge with typed tools for tags and frontmatter, mcp-obsidian or cyanheads/obsidian-mcp-server over the Local REST API. For the vault's structure, clusters, connecting concepts and content gaps, the InfraNodus MCP server. Most people run one file server and the graph layer together.
How do I use Obsidian with Claude Code?
Open a terminal, cd into your vault folder and run claude. Claude Code can then list, read, grep and write your notes, including [[wikilinks]]. Add a CLAUDE.md at the vault root with your folder and naming conventions, and .claude/commands for prompts you repeat. For structure, add the InfraNodus MCP server with claude mcp add and the /infranodus skill, as in the six steps above.
How do I connect Claude to my Obsidian vault?
Pick the route by what you want Claude to do. To edit notes, run Claude Code in the vault folder (Route 1) or install an in-Obsidian plugin such as Companion for Claude (Route 2). To give Claude Desktop tool access to files, install the Local REST API plugin plus MCP Connector or mcp-obsidian (Route 3). To let Claude see your vault's topics and gaps, add the InfraNodus MCP server (Route 4). The comparison table sets the four side by side.
How to use Obsidian with Claude: which route should I pick?
Start with Route 1 if you have never connected Claude to the vault; it costs one command and shows you what file access feels like. Add Route 4 the first time you ask "what am I missing" and get a generic answer, because that question needs the graph, not the files. Add Route 3 only if you want Claude Desktop, rather than Claude Code, to edit through Obsidian. The personal knowledge management page describes the method behind the graph step.
Why does MCP Tools say "local rest api key is not configured"?
The MCP Tools plugin does not talk to your vault directly; it goes through the Local REST API plugin and reads that plugin's key. The message appears when Local REST API is not installed, is disabled, or has not generated a key yet. Install and enable Local REST API first, open its settings to confirm a key exists, then reopen MCP Tools. The same dependency applies to mcp-obsidian and the cyanheads server, which cannot connect without that key.
Do my notes leave my computer?
With Routes 1 to 3 the files stay on disk, but whatever Claude reads is sent to the model as context, as in any Claude session. With Route 4 the text you select is sent to InfraNodus servers in the EU to build the graph; by default (doNotSave) it is processed and not stored, and only the graphs you save stay in your account. Pick a folder, not the whole vault, and nothing you did not select is analyzed.
Can Claude see my vault as a knowledge graph?
Yes, through the InfraNodus MCP server. The graph is a text network: concepts from your notes connected by co-occurrence, grouped into topical clusters by community detection, with the connecting concepts ranked by betweenness centrality and the gaps between clusters listed. Claude reads it through tool calls; you see the same graph in Obsidian with the Obsidian Graph View Plugin. The LLM wiki in Obsidian page shows the graph growing as the wiki does.
Connect Claude to Your Vault
Create a free account, add the InfraNodus MCP server to Claude Code or Claude Desktop, and ask Claude what one folder of your vault is about. You will see the topics inside it, the concepts that connect them, and the gaps between them, in the graph and in Claude's answer.
Log In Sign Up