Obsidian Collaboration MCP
Provides deliberate access to an Obsidian vault, allowing agents to list, search, read, create, append to, and edit Markdown notes with optimistic concurrency controls and optional folder allowlists.
Click on "Deploy 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., "@Obsidian Collaboration MCPcreate a note called 'Meeting Notes' with the key points from our discussion"
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.
Obsidian Collaboration MCP
A small Model Context Protocol server for deliberate access to an Obsidian vault. It reads ordinary Markdown files directly, so Obsidian does not need to be open.
The server is intentionally narrower than a “second brain” system:
No embeddings, vector database, or background indexing.
No automatic chat persistence or agent memory.
No delete, move, command execution, or hidden-folder access.
Edits require the SHA-256 returned by
read_note, which prevents stale overwrites.New notes default to a configurable collaboration folder.
An optional folder allowlist can restrict every write.
Tools
Tool | Access | Purpose |
| Read | Show vault details and access boundaries. |
| Read | List Markdown notes without loading their contents. |
| Read | Run case-insensitive literal full-text search. |
| Read | Read a note and return its SHA-256. |
| Write | Create a note without overwriting an existing file. |
| Write | Append after an optimistic-concurrency check. |
| Write | Replace one exact, unique text span after a concurrency check. |
Set OBSIDIAN_READ_ONLY=1 to omit all write tools.
Related MCP server: Obsidian MCP Server
Requirements
Bun 1.3 or newer
A local Obsidian vault, which is simply a directory containing Markdown files
An MCP client with stdio support
Install
git clone https://github.com/rtbarnes/obsidian-collaboration-mcp.git
cd obsidian-collaboration-mcp
bun install --frozen-lockfileConfigure
Environment variable | Required | Default | Description |
| Yes | — | Absolute path to the vault. |
| No |
| Destination used when |
| No | All non-hidden folders | Comma-separated folder allowlist for every write. |
| No |
| Set to |
All tool paths are vault-relative. The server rejects traversal, hidden paths, non-Markdown files, and symlink escapes.
Codex
Add the server to ~/.codex/config.toml:
[mcp_servers.obsidian]
command = "bun"
args = ["run", "/absolute/path/to/obsidian-collaboration-mcp/src/index.ts"]
[mcp_servers.obsidian.env]
OBSIDIAN_VAULT_PATH = "/absolute/path/to/your/vault"
OBSIDIAN_DEFAULT_FOLDER = "ChatGPT"
OBSIDIAN_WRITE_FOLDERS = "ChatGPT"Restart Codex after editing the configuration.
Other stdio clients
Use bun run /absolute/path/to/obsidian-collaboration-mcp/src/index.ts as the
server command and provide the same environment variables. The exact config
format depends on the client.
Safe editing model
read_note returns sha256. Pass it as expectedSha256 to append_note or
replace_note_text. If Obsidian Sync, another device, or another process changes
the note between the read and the write, the edit fails and the client must read
the note again.
replace_note_text also requires the search text to occur exactly once. This
keeps edits targeted and avoids replacing an unexpected section.
Remote access
This is a stdio server and does not open a network port. Run it beside a trusted MCP tunnel or gateway when a remote client needs access. Keep authentication and authorization in that outer layer.
For an always-on Obsidian Sync bridge, run the server beside Obsidian Headless on a trusted host with encrypted storage.
Development
bun run typecheck
bun testThe integration test starts the real stdio server, inspects its tool surface, and creates a note in a temporary vault.
Security
An MCP client can read any Markdown note that its tools expose. Start with a
non-sensitive test vault or OBSIDIAN_READ_ONLY=1. Use
OBSIDIAN_WRITE_FOLDERS when the client should write only to a dedicated area.
The server does not authenticate clients because stdio MCP servers inherit the trust boundary of the process that launches them. Do not expose the process directly to a network.
This server cannot be deployed
Maintenance
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Open-source Obsidian for MDX - edit local docs with agent assistance
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
Search, read, and safely update Markdown notes in your connected Phasoric knowledge vaults.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables interaction between LLMs and Obsidian vaults through the Model Context Protocol, supporting secure file operations, content management, and advanced search capabilities.5,145 npm682Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Obsidian vaults through vector search, vault indexing, and file monitoring. It provides a standardized interface for searching and managing markdown-based personal knowledge management data within the Model Context Protocol.5,145 npm1MIT
- AlicenseBqualityDmaintenanceEnables AI to manage Obsidian notes, including creation, reading, updating, deletion, full-text search, listing with filtering, sorting, and metadata extraction via the Model Context Protocol.86 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to read, search, create, and modify Obsidian notes via the Model Context Protocol, supporting tasks like daily notes, backlinks, and project management.-