vault_init
Initialize a new vault from template or migrate existing Obsidian notes to vault-mcp format, classifying files and converting todos.
Instructions
Initialize a new vault or migrate existing Obsidian notes to vault-mcp format.
Actions: setup: Detect vault state and act accordingly. - Empty vault: seeds the vault with template structure (directory layout, .obsidian config, tags.yaml, templates/). - Non-empty vault with unmanaged files: scans all unmanaged .md files, classifies them into auto_captures / auto_notes / ambiguous using server-side heuristics, persists a plan to .brain/import-plan.json, and returns ONLY the ambiguous files for review. Claude should NOT call migrate until the user confirms. - Already-initialized vault: returns status "already_initialized".
migrate: Execute the migration from the persisted import plan. params: manual_overrides (list[dict], optional — each dict must have "path" key to identify the file; supported override fields: target ("captures"|"notes"), title, tags (list[str]), source_type (captures), domain/confidence (notes)), keep_original (bool, default False — if True, source files are preserved after migration)
WORKFLOW: For setup: CALL vault_init(action="setup"). Empty vault → vault seeded from template. Done. Non-empty vault → review summary + ambiguous_files. 1. Present summary counts to user. 2. For ambiguous files, decide target with user if needed. 3. CONFIRM full plan, then call migrate.
For migrate: CONFIRM: Show user the counts and ambiguous decisions before calling. auto-classified files will be migrated automatically. CALL vault_init(action="migrate", manual_overrides=[...], keep_original=False).
Todo conversion (applied automatically during migration):
pending task → - pending task (plain bullet)
done task → -
done task(strikethrough, history preserved)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| keep_original | No | ||
| manual_overrides | No |