MCP Hub
Back to servers

obsidian-mcp

Single-container MCP server for an Obsidian vault, providing 14 tools to manage notes, directories, tags, and trash with authentication, CORS, and SSE streaming.

glama
Updated
May 11, 2026

obsidian-mcp

Single-container MCP server for an Obsidian vault. Handles authentication, CORS, SSE streaming, and exposes 14 vault-management tools — no nginx or supergateway needed.

Quick start

docker run -d --name mcp \
  -p 127.0.0.1:3000:3000 \
  -v /path/to/your/vault:/vault \
  -e VAULT_PATH=/vault/Obsidian\ Vault \
  ghcr.io/lpfchan/mcp

Or with docker-compose:

services:
  mcp:
    build: .
    container_name: mcp
    ports:
      - 127.0.0.1:3000:3000
    environment:
      - VAULT_PATH=/vault/Obsidian Vault
    volumes:
      - ./vault:/vault

Configuration

VariableDefaultDescription
VAULT_PATH(required)Path to the Obsidian vault inside the container
MCP_TOKENf304...fcbAPI token for Bearer or URL-path auth
PORT3000HTTP listen port
ALLOWED_ORIGINhttps://chat.lost.plusCORS allowed origin
HOST0.0.0.0Bind address

Authentication supports both Authorization: Bearer <token> headers and URL-path tokens (/<token>/mcp).

Tools

ToolDescription
list-available-vaultsLists available vault names
read-noteReads a note's content
create-noteCreates a new note
edit-noteEdits a note (append, prepend, overwrite, or targeted replace)
search-vaultSearches content, filenames, or tags (with fuzzy mode)
list-notesLists all .md files with optional stats
move-noteMoves or renames a note
create-directoryCreates a directory in the vault
delete-noteMoves a note to .trash
add-tagsAdds tags to frontmatter
remove-tagsRemoves tags from frontmatter
rename-tagRenames a tag across all notes
delete-directoryPermanently deletes a directory
open-trashLists files in .trash
recover-from-trashRecovers a file from .trash

Testing

npm install
npm test

59 tests across 18 suites covering every tool, auth, CORS, and edge cases.

Reviews

No reviews yet

Sign in to write a review