Skip to main content

obsidian-vault-sql-mcp

MCP server for Obsidian vaults. Works directly with .md files on disk — no Obsidian app needed. Each vault gets its own SQLite index for fast note lookup by name.

How it works

your-vault/
├── notes/
│   └── my-note.md
├── projects/
│   └── project-alpha.md
└── data-base-sqlite/       ← created automatically
    └── notes.db            ← SQLite index (name → path)

When you call index_vault, the server scans all .md files and stores their names and paths in SQLite. After that, finding a note by name is instant — no directory traversal needed. When you create, move or delete notes through the server, the index updates automatically.

Multiple vaults are supported — each has its own database inside it.


Installation

Requires uv installed.

uvx obsidian-vault-sql-mcp --help

No manual install needed — uvx handles everything on first run.


Configuration

Option A — inline vaults

uvx obsidian-vault-sql-mcp --vault personal=/path/to/my-vault --vault work=/path/to/work-vault

Option B — config file

Create config.json:

{
  "vaults": {
    "personal": "/path/to/my-vault",
    "work": "/path/to/work-vault"
  }
}
uvx obsidian-vault-sql-mcp --config /path/to/config.json

Claude Code setup

Add to your Claude Code MCP settings (~/.claude/settings.json):

{
  "mcpServers": {
    "obsidian": {
      "command": "uvx",
      "args": [
        "obsidian-vault-sql-mcp",
        "--config", "/path/to/config.json"
      ]
    }
  }
}

Or with inline vaults:

{
  "mcpServers": {
    "obsidian": {
      "command": "uvx",
      "args": [
        "obsidian-vault-sql-mcp",
        "--vault", "personal=C:/Users/you/Documents/MyVault"
      ]
    }
  }
}

Tools

Tool Description
list_vaults() List all configured vault names
index_vault(vault_name) Scan vault and build/update SQLite index
list_notes(vault_name) List all indexed notes
search_notes(vault_name, query) Search notes by name (case-insensitive substring)
read_note(vault_name, note_name) Read note content (exact or fuzzy name match)
create_note(vault_name, name, content, folder?) Create a new .md note
update_note(vault_name, note_name, content) Overwrite note content
move_note(vault_name, note_name, new_folder) Move note to a different folder
delete_note(vault_name, note_name) Delete note from disk and index

First-time setup

  1. Start the server with your vault path
  2. Call index_vault("personal") once — this scans all existing notes
  3. Done — all other tools work immediately

After that, index_vault only needs to be called again if you add/move notes outside this server (e.g. manually in Obsidian).


Example usage

search_notes("personal", "yandex")
→ [{ "name": "conspect-yandex-tracker", "relative_path": "notes/conspect-yandex-tracker.md" }]

read_note("personal", "conspect-yandex-tracker")
→ { "content": "# Конспект Yandex Tracker\n..." }

create_note("personal", "new-idea", "# New Idea\nText here", "inbox")
→ { "path": "inbox/new-idea.md" }

move_note("personal", "new-idea", "projects/2026")
→ { "new_path": "projects/2026/new-idea.md" }

License

MIT

Metadata

Release files for obsidian-vault-sql-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for obsidian-vault-sql-mcp 0.1.0
File Size Uploaded
obsidian_vault_sql_mcp-0.1.0.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for obsidian-vault-sql-mcp 0.1.0
File Interpreter ABI Platform
obsidian_vault_sql_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.3 kB

Release files / obsidian_vault_sql_mcp-0.1.0.tar.gz

Download URL obsidian_vault_sql_mcp-0.1.0.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4eb2a22e034184a538408fcbd73a920dfd084045e5f3f0853a2fc0f9a430e082
BLAKE2b-256 checksum
How to use checksums
d6d651db7f0e379eb4f9dbec8bedf4d14514971ede894fc489998a2cad7382c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / obsidian_vault_sql_mcp-0.1.0-py3-none-any.whl

Download URL obsidian_vault_sql_mcp-0.1.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9fe3765de81e93b6572f973d0a71a606c8e59dcb1837b05f919746a022f9c0ca
BLAKE2b-256 checksum
How to use checksums
69287f8a6ad9b3b037f5fbc0b2b2556bd6948d75837f67ab24065e5abc1bc58b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page