Skip to content

Configuration Reference

Complete configuration options for Another bloated Obsidian MCP Server.

Quick Reference

MethodScopeExample
CLI argumentSession--tools=vault,notes
Environment variableProcessOBSIDIAN_MCP_TOOLS=vault,notes
Config filePersistent~/.obsidian-mcp/config.json

Command Line Arguments

Basic Usage

bash
npx tsx src/index.ts [vault-path] [vault-name] [options]

Arguments

ArgumentRequiredDescription
vault-pathNoAbsolute path to your Obsidian vault
vault-nameNoName for the vault (default: "default")

Options

OptionDescription
--tools=GROUPSComma-separated list of tool groups to enable
--help, -hShow help message

Examples

bash
# Enable all tools (default)
npx tsx src/index.ts /path/to/vault

# With custom vault name
npx tsx src/index.ts /path/to/vault personal

# Enable specific tool groups
npx tsx src/index.ts /path/to/vault --tools=vault,notes,search

# Minimal read-only setup
npx tsx src/index.ts /path/to/vault --tools=vault,notes,search

# Disable all tools (testing)
npx tsx src/index.ts /path/to/vault --tools=none

Environment Variables

OBSIDIAN_MCP_TOOLS

Controls which tool groups are enabled.

bash
export OBSIDIAN_MCP_TOOLS=vault,notes,search

Values:

  • Comma-separated list of group names
  • all - Enable all groups
  • none - Disable all groups

Priority: CLI --tools takes precedence over environment variable.

LOG_LEVEL

Controls logging verbosity.

bash
export LOG_LEVEL=debug

Values:

  • debug - All messages including debug
  • info - Info, warnings, and errors (default)
  • warn - Warnings and errors only
  • error - Errors only

Tool Groups

Available Groups

GroupToolsDescription
vault3Vault management
notes7Note CRUD operations
search1Full-text search
frontmatter5YAML metadata
tags4Tag management
links5Link analysis
daily4Daily notes
templates4Template system
bases3Obsidian Bases
batch6Batch operations
attachments4Attachment tracking
backup4Backup/restore

Special Values

ValueDescription
allEnable all tool groups (default)
noneDisable all tool groups

Configuration Examples

Read-Only Access:

vault,notes,search

Daily Productivity:

vault,notes,search,daily,tags

Knowledge Analysis:

vault,notes,search,links,tags

Content Creation:

vault,notes,search,templates,frontmatter

Full Access:

all

Configuration File

Location

~/.obsidian-mcp/config.json

Schema

json
{
  "vaults": {
    "<vault-name>": "<absolute-path>"
  },
  "defaultVault": "<vault-name>"
}

Example

json
{
  "vaults": {
    "personal": "/Users/you/Obsidian/Personal",
    "work": "/Users/you/Obsidian/Work",
    "research": "/Users/you/Obsidian/Research"
  },
  "defaultVault": "personal"
}

Fields

FieldTypeRequiredDescription
vaultsobjectYesMap of vault names to paths
defaultVaultstringNoDefault vault when none specified

MCP Client Configuration

Claude Code CLI

bash
claude mcp add obsidian \
  --transport stdio \
  --scope user \
  -- npx tsx /path/to/obsidian-mcp-server/src/index.ts \
     /path/to/vault \
     --tools=vault,notes,search

Scopes:

  • user - Available in all projects (~/.claude.json)
  • local - Current project only
  • project - Shared with team (.mcp.json)

Manual Configuration (~/.claude.json)

json
{
  "mcpServers": {
    "obsidian": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "tsx",
        "/path/to/obsidian-mcp-server/src/index.ts",
        "/path/to/vault",
        "--tools=vault,notes,search"
      ]
    }
  }
}

Claude Desktop

Config file: ~/Library/Application Support/Claude/claude_desktop_config.json

json
{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": [
        "tsx",
        "/path/to/obsidian-mcp-server/src/index.ts",
        "/path/to/vault",
        "--tools=vault,notes,search"
      ]
    }
  }
}

Daily Notes Configuration

Daily notes use Obsidian's daily notes plugin configuration from:

<vault>/.obsidian/daily-notes.json

Settings

SettingDefaultDescription
folder"" (root)Folder for daily notes
formatYYYY-MM-DDDate format for filenames
template""Template file for new notes

Example

json
{
  "folder": "Daily",
  "format": "YYYY-MM-DD",
  "template": "Templates/Daily Note"
}

Templates Configuration

Templates are read from the vault's templates folder.

Default Locations (checked in order)

  1. Templates/
  2. templates/

Supported Variables

VariableDescription
&#123;&#123;title&#125;&#125;Note title parameter
&#123;&#123;date&#125;&#125;Current date (YYYY-MM-DD)
&#123;&#123;date:FORMAT&#125;&#125;Date with custom format
&#123;&#123;time&#125;&#125;Current time (HH:mm)
&#123;&#123;variable&#125;&#125;Custom variable

Date Format Tokens

TokenDescriptionExample
YYYY4-digit year2024
MM2-digit month01-12
DD2-digit day01-31
HH2-digit hour (24h)00-23
mm2-digit minute00-59
ss2-digit second00-59

Logging Configuration

Log Location

<project-root>/logs/mcp-server-YYYY-MM-DD.log

Settings

SettingValue
Max log files7
Max age7 days
OutputFile + stderr

Log Format

[2024-01-15T10:30:00.000Z] [INFO] Message here {"data": "value"}

Backup Configuration

Default Settings

SettingDefaultDescription
backupFolder.backupsFolder for backups
keepLast5Backups to keep per note

Backup Filename Format

[folder_]notename_YYYY-MM-DDTHH-MM-SS-sssZ.md

Example: Projects_MyProject_2024-01-15T10-30-00-000Z.md

Security Configuration

Path Validation

All paths are validated to prevent:

  • Path traversal (../)
  • Symlink escapes
  • Absolute paths outside vault

Ignored Paths

The following paths are automatically ignored:

  • .obsidian/
  • .git/
  • .trash/
  • .DS_Store
  • node_modules/
  • Hidden files (starting with .)

Released under the MIT License.