Cursidian
Provides tools for reading, writing, searching, and managing notes in an Obsidian vault, including safe note editing, tag management, and graph neighborhood exploration.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Cursidiansearch my vault for notes about MCP servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Cursidian
MCP server for local Obsidian vaults, optimised for Cursor agents — safe note editing, lean tool surface, direct filesystem access. No Local REST API plugin required; Obsidian does not need to be open.
npm package: cursidian.
Features
13 agent-focused tools — including
list_tags,search_by_tags, andget_note_neighborhoodSafe writes —
patchinferred whenold_string/new_stringare set;replace_sectionfor heading editsToken-AND search — multi-word vault search requires all terms to appear in a note
Optimistic concurrency —
contentHashon read, optionalexpectedHashon writeSignature-based caches — index and search snapshots invalidate when files change on disk (including Obsidian edits)
Related MCP server: Obsidian MCP Server
Tools (v1)
Tool | Purpose |
| Read note body + frontmatter; returns |
| Safe edits: |
| Create a new note |
| Delete a note |
| List notes in the vault |
| Recently modified notes |
| Full-text search (token-AND); optional |
| Frontmatter tag search (index only, fast) |
| All frontmatter tags with counts |
| One-hop graph: |
| Get/set YAML frontmatter |
| Create/list vault folders |
| Notes linking to a given note |
Requirements
Node.js >= 20
An absolute Obsidian vault path via
OBSIDIAN_VAULT_PATH
Quick start (published package)
Add to ~/.cursor/mcp.json (Windows: %USERPROFILE%\.cursor\mcp.json):
{
"mcpServers": {
"cursidian": {
"command": "npx",
"args": ["-y", "cursidian"],
"env": {
"OBSIDIAN_VAULT_PATH": "C:\\Users\\you\\Documents\\MyVault"
}
}
}
}Unix:
"OBSIDIAN_VAULT_PATH": "/Users/you/Documents/MyVault"Reload Cursor. The config key "cursidian" appears as MCP server user-cursidian.
See also examples/cursor-mcp.json and examples/.env.example.
Local development setup
git clone https://github.com/CoolJohn-lab/Cursidian.git
cd Cursidian
npm install
npm run build
npm testPoint Cursor at the built entrypoint:
{
"mcpServers": {
"cursidian": {
"command": "node",
"args": ["/absolute/path/to/Cursidian/dist/index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "/absolute/path/to/your/vault"
}
}
}
}Wiki skills
Tracked skills live in skills/wiki/. Copy them into ~/.cursor/skills/ (do not symlink). Full steps: skills/wiki/INSTALL.md.
Skill | Purpose |
| Theory, schema, Cursidian MCP protocol |
| Read-only Q&A |
| Vault health |
| Bootstrap a wiki vault |
| Distill sources into wiki pages |
| Capture a session into the wiki |
| Sync a project into the wiki |
| Status / delta / hot.md |
Safe write workflow
Read the note — note the
contentHashin the response.Edit using the safest mode (
patch,replace_section,append,prepend, orreplace).Pass
expectedHashfrom step 1 to detect concurrent edits.
Environment variables
Variable | Required | Description |
| Yes | Absolute path to your Obsidian vault ( |
| No | Set to |
| No | Max file size in bytes (default 10 MB) |
| No | Pre-write backups to |
| No |
|
Development
npm run dev # run server directly (stdio)
npm test # vitest with coverage
npm run lint # eslint
npm run typecheck
npm run build
npm run verify # lint + typecheck + test + build
npm run smoke # live smoke against OBSIDIAN_VAULT_PATHIsolated tool calls:
npm run mcp:test -- read_note --path index
npm run mcp:test -- search_content --query "wiki index" --limit 10
npm run mcp:test -- --listCredits
Upstream filesystem MCP: @istrejo/obsidian-mcp. See LICENSE.
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/CoolJohn-lab/Cursidian'
If you have feedback or need assistance with the MCP directory API, please join our Discord server