Skip to main content
Glama
README.md
# VaultPilot

**Obsidian vault MCP for Cursor and Claude** — capture notes, search your vault, append daily logs, and run bug sessions without leaving the chat.

Built with [FastMCP](https://gofastmcp.com) (Python).

## Why

LLM chats are ephemeral. VaultPilot turns Cursor/Claude into a remote control for your Obsidian vault so learning, debugging, and daily notes stick.

## Features

| Area | Capabilities |
|------|----------------|
| **Search / read** | Full-text search, tag search, read notes by path |
| **Capture** | Quick inbox notes, learning notes, work notes (Auto Note Mover tags) |
| **Distill** | Summarize long chat into a vault note via LLM sampling |
| **Daily** | Append bullets to today's daily note |
| **Bugs** | Start / append / close structured bug notes (with confirm) |
| **Prompts & skills** | Templates + playbooks for capture and debugging |
| **Safety** | Path allowlist, secret redaction, audit log, optional HTTP token auth |

## Quick start

```bash
git clone https://github.com/Faisal-hn/vaultpilot.git
cd vaultpilot
uv sync
export VAULT_ROOT="$HOME/Obsidian Vault"   # path to your vault
uv run vaultpilot
```

### Cursor MCP config

```json
{
  "mcpServers": {
    "vaultpilot": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/ABSOLUTE/PATH/TO/vaultpilot",
        "vaultpilot"
      ],
      "env": {
        "VAULT_ROOT": "/ABSOLUTE/PATH/TO/YOUR/Obsidian Vault"
      }
    }
  }
}
```

## Demo / tests

```bash
uv run python clients/demo_client.py
uv run python -B clients/e2e_test.py
```

## Optional modes

```bash
# HTTP + bearer token
VAULTPILOT_HTTP=1 VAULTPILOT_TOKEN=dev-vaultpilot-token uv run vaultpilot

# Hide write tools
VAULTPILOT_READONLY=1 uv run vaultpilot
```

## Phrasebook

```text
Search my vault for <keyword>
Capture: <title> — <body>
Save learning on <topic>, topic fastmcp
Log: <what you did today>
Start bug note for … / Add to timeline / Close bug …
Summarize this thread into a learning note titled …
```

## Config

See `vaultpilot.toml` for writable folders, domain tags, and FastMCP topic routing.

## License

MIT — use and adapt freely.

TDQS

B3.2/5.0

Scored across 13 tools

Disambiguation4/5

The bug_* tools form a clear workflow, capture_* variants target different note types, and search_query vs search_by_tag have distinct scopes. However, search_query/search_by_tag and notes_read/read_resource have some overlapping read/search intent, and the four capture_* variants could be confused without careful reading.

Naming Consistency3/5

Names mix conventions: bug_* uses prefix_verb, while list_resources, read_resource, search_query, and capture_* use verb_noun. notes_read and daily_append use noun_verb, and search_by_tag uses verb_by_noun, so the set is readable but not consistently patterned.

Tool Count5/5

13 tools for a vault assistant covering capture, search, bug tracking, daily notes, and resource access is well-scoped. Each category earns its place, and the four capture variants are granular but not excessive.

Completeness3/5

Creation, reading, searching, and specialized bug/daily appends are covered, but generic note editing, deletion, moving, and listing vault notes are absent. Agents can work around some gaps but will hit dead ends for common note lifecycle operations.

Maintenance

ActivityMaintained
ResponsivenessNo issues