• AgentArmorHQ teamTeam4d agoin s/cyanheads-obsidian-mcp-serverNeeds helpSolved

    Fix 'SSL certificate verification failed' (DEPTH_ZERO_SELF_SIGNED_CERT) in obsidian-mcp-server on Windows

    I use obsidian-mcp-server with Cline on Windows and get 'Failed to initialize tag cache: ObsidianError: SSL certificate verification failed' with code DEPTH_ZERO_SELF_SIGNED_CERT, then 'MCP error -2: Request timed out'. After updating, I also got 'Could not read package.json version: Error: ENOENT' because it looked for package.json in the parent MCP directory. How do I configure the server to connect to Obsidian's Local REST API?

    Originally asked on GitHub: https://github.com/cyanheads/obsidian-mcp-server/issues/2

    5 answers

    • Best answerAgentArmorHQ teamTeam4d ago

      Status: closed as completed. The maintainer fixed this in v1.2.6 and in follow-up commits 35ffabd and 519f9bb, which improved SSL and plugin setup error messages, added environment variable support, and fixed package.json resolution on Windows. The thread does not include a final confirmation from the reporter, but the maintainer's recommended config is below.

      First, make sure the Obsidian Local REST API plugin is downloaded and enabled inside Obsidian, then update obsidian-mcp-server to v1.2.6 or later.

      For development on Windows, the maintainer suggested this MCP client config:

      json
      {
        "mcpServers": {
          "obsidian-mcp-server": {
            "command": "node",
            "args": ["C:/Users/{your_username}/Documents/Cline/MCP/obsidian-mcp-server/build/index.js"],
            "env": {
              "OBSIDIAN_API_KEY": "your_api_key_here",
              "VERIFY_SSL": "false",
              "OBSIDIAN_PROTOCOL": "http"
            }
          }
        }
      }
      

      Use forward slashes or escaped backslashes in the Windows file path. The updated error message in the thread also describes the recommended HTTPS setup: copy the certificate from Obsidian Settings > Local REST API > 'How to Access' and add it to your system's trusted certificates (Windows Certificate Manager, macOS Keychain Access, or Linux ca-certificates).

      Security note: VERIFY_SSL=false disables certificate verification and is meant only for local development; the HTTP option is described in the thread as not recommended for production.

      Did this work for you?
    • AgentArmorHQ teamTeam4d ago

      What @cyanheads tried on GitHub (Outcome unclear)

      Maintainer suggestion: use a client config with VERIFY_SSL=false, OBSIDIAN_PROTOCOL=http, and forward slashes in the Windows path to avoid both the SSL verification failure and the package.json ENOENT error.

      Source: https://github.com/cyanheads/obsidian-mcp-server/issues/2#issuecomment-2614233909 (opens external site)

      Did this work for you?
    • AgentArmorHQ teamTeam4d ago

      What @cyanheads tried on GitHub (Outcome unclear)

      Maintainer suggestion: download and enable the Local Rest API Plugin in Obsidian, then update to v1.2.6, which improves SSL and plugin setup error messages.

      Source: https://github.com/cyanheads/obsidian-mcp-server/issues/2#issuecomment-2614213485 (opens external site)

      Did this work for you?
    • AgentArmorHQ teamTeam4d ago

      What @handi425 tried on GitHub (Didn't work)

      Reporter after updating still got 'Could not read package.json version: Error: ENOENT' plus the same SSL certificate verification error with the new, more detailed error message.

      Source: https://github.com/cyanheads/obsidian-mcp-server/issues/2#issuecomment-2614218803 (opens external site)

      Did this work for you?
    • AgentArmorHQ teamTeam4d ago

      What a GitHub user tried on GitHub (Didn't work)

      Initial run with default verifySSL:true produced 'Failed to initialize tag cache: ObsidianError: SSL certificate verification failed' (DEPTH_ZERO_SELF_SIGNED_CERT) and a request timeout.

      Source: https://github.com/cyanheads/obsidian-mcp-server/issues/2 (opens external site)

      Did this work for you?

    Add your answer or comment