{
  "manifest_version": "0.3",
  "name": "obsidian-mcp-server",
  "version": "3.2.4",
  "description": "MCP server for Obsidian vaults — read, write, search, and surgically edit notes, tags, and frontmatter via the Local REST API plugin. STDIO or Streamable HTTP.",
  "author": {
    "name": "cyanheads"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/cyanheads/obsidian-mcp-server"
  },
  "homepage": "https://github.com/cyanheads/obsidian-mcp-server#readme",
  "license": "Apache-2.0",
  "server": {
    "type": "node",
    "entry_point": "dist/index.js",
    "mcp_config": {
      "command": "node",
      "args": ["${__dirname}/dist/index.js"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_AUTH_MODE": "none",
        "NODE_ENV": "production",
        "OBSIDIAN_API_KEY": "${OBSIDIAN_API_KEY}",
        "OBSIDIAN_BASE_URL": "${OBSIDIAN_BASE_URL}",
        "OBSIDIAN_VERIFY_SSL": "${OBSIDIAN_VERIFY_SSL}",
        "OBSIDIAN_REQUEST_TIMEOUT_MS": "${OBSIDIAN_REQUEST_TIMEOUT_MS}",
        "OBSIDIAN_ENABLE_COMMANDS": "${OBSIDIAN_ENABLE_COMMANDS}",
        "OBSIDIAN_READ_PATHS": "${OBSIDIAN_READ_PATHS}",
        "OBSIDIAN_WRITE_PATHS": "${OBSIDIAN_WRITE_PATHS}",
        "OBSIDIAN_READ_ONLY": "${OBSIDIAN_READ_ONLY}",
        "MCP_LOG_LEVEL": "${MCP_LOG_LEVEL}"
      }
    }
  },
  "compatibility": {
    "runtimes": {
      "node": ">=24.0.0"
    }
  },
  "tools_generated": true,
  "prompts_generated": true,
  "user_config": {
    "OBSIDIAN_API_KEY": {
      "title": "Obsidian API Key",
      "description": "Bearer token for the Obsidian Local REST API plugin (Settings → Community Plugins → Local REST API).",
      "type": "string",
      "required": true
    },
    "OBSIDIAN_BASE_URL": {
      "title": "Obsidian Base URL",
      "description": "Base URL of the Obsidian Local REST API. Default: http://127.0.0.1:27123. Use https://127.0.0.1:27124 for the HTTPS port.",
      "type": "string",
      "required": false
    },
    "OBSIDIAN_VERIFY_SSL": {
      "title": "Verify SSL",
      "description": "Whether to verify the TLS certificate. Default false (plugin uses a self-signed cert).",
      "type": "string",
      "required": false
    },
    "OBSIDIAN_REQUEST_TIMEOUT_MS": {
      "title": "Request Timeout (ms)",
      "description": "Per-request timeout in milliseconds. Default: 30000.",
      "type": "string",
      "required": false
    },
    "OBSIDIAN_ENABLE_COMMANDS": {
      "title": "Enable Commands",
      "description": "Opt-in flag for the command-palette pair (obsidian_list_commands + obsidian_execute_command). Off by default.",
      "type": "string",
      "required": false
    },
    "OBSIDIAN_READ_PATHS": {
      "title": "Read Path Allowlist",
      "description": "Comma-separated vault-relative folder allowlist for reads. Unset = full vault. Example: 'public/,projects/'.",
      "type": "string",
      "required": false
    },
    "OBSIDIAN_WRITE_PATHS": {
      "title": "Write Path Allowlist",
      "description": "Comma-separated vault-relative folder allowlist for writes. Unset = full vault. Example: 'projects/,scratch/'.",
      "type": "string",
      "required": false
    },
    "OBSIDIAN_READ_ONLY": {
      "title": "Read-Only Mode",
      "description": "Global read-only kill switch. When true, every write is denied. Default: false.",
      "type": "string",
      "required": false
    },
    "MCP_LOG_LEVEL": {
      "title": "Log Level",
      "description": "Minimum log level for output (debug, info, warn, error). Default: info.",
      "type": "string",
      "required": false
    }
  }
}
