# Obsidian MCP Server Configuration # =================================== # This file configures the external Obsidian MCP server integration. # # Setup: # 1. Copy this file: copy config\obsidian_mcp.example.yaml config\obsidian_mcp.yaml # 2. Set your vault_path below # 3. Ensure Node.js 20+ is installed: node --version # 4. Restart the bot: python bot_runner.py # # The config file (obsidian_mcp.yaml) is gitignored to protect your vault path. # See OBSIDIAN_MCP_INTEGRATION.md for full documentation. obsidian_mcp: # ---- Core Settings ---- # Enable or disable the Obsidian MCP integration # Set to false to disable without removing the config enabled: true # Absolute path to your Obsidian vault directory # This MUST be the root folder of your vault (contains .obsidian/ subfolder) # # Windows examples (use double backslashes OR forward slashes): # "C:\\Users\\username\\Documents\\Obsidian\\MyVault" # "C:/Users/username/Documents/Obsidian/MyVault" # # Linux/Mac example: # "/home/username/obsidian-vault" # # To use the bot's built-in zettelkasten vault (same files as custom tools): # "C:\\Users\\username\\projects\\ajarbot\\memory_workspace\\obsidian" vault_path: "C:\\Users\\YOUR_USERNAME\\Documents\\Obsidian\\YOUR_VAULT" # ---- Server Settings ---- server: # Command to launch the MCP server # Default: "npx" (downloads obsidian-mcp on first run) # Alternative: "node" (if installed globally) command: "npx" # Arguments passed to the command # The vault_path is appended automatically as the last argument # Default: ["-y", "obsidian-mcp"] # -y = auto-confirm npm package installation args: ["-y", "obsidian-mcp"] # Server startup timeout in seconds # Increase if npx is slow on first download startup_timeout: 30 # ---- Permission Controls ---- # Control which operations the bot is allowed to perform. # Disable categories to restrict the bot's access to your vault. permissions: # Read operations (safe, no changes to vault) # Tools: read-note, search-vault, list-available-vaults, manage-tags allow_read: true # Write operations (creates new files or modifies existing ones) # Tools: create-note, edit-note allow_write: true # Delete operations (permanently removes files) # Tools: delete-note # DISABLED by default for safety - enable only if you trust the bot allow_delete: false # Move/rename operations (changes file paths) # Tools: move-note allow_move: true # Tag operations (modifies YAML frontmatter) # Tools: add-tags, remove-tags, rename-tag allow_tags: true # Directory operations (creates new folders) # Tools: create-directory allow_directories: true # ---- Safety Settings ---- safety: # Require user confirmation before any write operation # When true, the bot will ask "Are you sure?" before creating/editing notes confirm_writes: false # Create a backup copy before deleting a note # Backup is saved to .trash/ in the vault root backup_before_delete: true # Maximum note content size in characters # Prevents accidental creation of very large notes max_note_size: 50000 # Directories the bot should never access or modify # Paths are relative to the vault root restricted_paths: - ".obsidian" # Obsidian app configuration - ".trash" # Obsidian trash folder - ".git" # Git repository data (if vault is version-controlled) # ---- Environment Variable Overrides ---- # These environment variables override the YAML settings above. # Add them to your .env file if you prefer not to use YAML config. # # OBSIDIAN_VAULT_PATH=C:\Users\username\Documents\Obsidian\MyVault # OBSIDIAN_MCP_ENABLED=true # OBSIDIAN_MCP_COMMAND=npx # OBSIDIAN_MCP_ALLOW_DELETE=false # OBSIDIAN_MCP_CONFIRM_WRITES=false