================== /// MCP /// /// MCP /// ================== [server:online] [protocol:ready]
mcp-obsidian
by MarkusPfundstein
MCP server that interacts with Obsidian via the Local REST API community plugin, exposing tools for listing, reading, searching and modifying notes inside an Obsidian vault.
1.6k
197
Specialized01
list_files_in_vault
Lists all files and directories in the root directory of the Obsidian vault.
02
list_files_in_dir
Lists all files and directories inside a specified directory within the Obsidian vault.
03
get_file_contents
Returns the content of a single file in the vault.
04
search
Searches across all files in the vault for documents matching a given text query.
05
patch_content
Inserts content into an existing note relative to a heading, block reference, or front-matter field.
06
append_content
Appends content to a new or existing file in the vault.
07
delete_file
Deletes a file or directory from the vault.
Installation
1. Clone the repository
git clone https://github.com/MarkusPfundstein/mcp-obsidian.git
cd mcp-obsidian
2. Create & activate a virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
3. Install Python dependencies
pip install -r requirements.txt
4. Configure the server – create a .env file or set environment variables:
OBSIDIAN_BASE_URL=https://127.0.0.1:27123 # URL where the Obsidian REST-API plugin is listening
OBSIDIAN_API_TOKEN=<your-obsidian-token> # Token generated in the plugin
MCP_HOST=0.0.0.0
MCP_PORT=8000
5. Launch the server
python -m mcp_obsidian # or: uvicorn mcp_obsidian.app:app --host $MCP_HOST --port $MCP_PORT
6. Verify
curl http://localhost:8000/healthz # Should return OK
7. (Optional) Reverse proxy
Configure nginx/Caddy/Traefik if you want TLS or a public URL.
Documentation
License: MIT License
Updated 7/30/2025