Skip to content

Obsidian MCP report #46

@MaxHeadroom35

Description

@MaxHeadroom35

[BUG] tools/call with write operations (create-note) hangs indefinitely — read operations work fine

Describe the bug

All tools/call requests for write operations (create-note) hang indefinitely without returning any response. The server receives the JSON-RPC request (confirmed in logs) but never sends a response, causing Claude Desktop to time out after 4 minutes with MCP error -32001: Request timed out.

Read operations (list-available-vaults, search-vault) work instantly and return correct results.

Versions tested

  • obsidian-mcp v1.0.6: ALL tools/call operations time out (both read and write)
  • obsidian-mcp v1.0.5: Read operations work, write operations (create-note) still time out

Environment

  • OS: macOS (Apple Silicon, Mac Mini M4 Pro)
  • Node.js: v25.8.2
  • npm: v11.11.1
  • Claude Desktop: Latest as of 2026-03-30
  • Shell: tcsh
  • Vault location: External Thunderbolt disk (/Volumes/LaCie 2big dock/Navy-Obsidian)

Configuration

{
  "mcpServers": {
    "obsidian": {
      "command": "/opt/homebrew/bin/obsidian-mcp",
      "args": ["/Volumes/LaCie 2big dock/Navy-Obsidian"]
    }
  }
}

Steps to reproduce

  1. Install obsidian-mcp v1.0.5 globally (npm install -g obsidian-mcp@1.0.5)
  2. Configure Claude Desktop with a vault on an external Thunderbolt disk
  3. Open Claude Desktop, start a new chat
  4. Call list-available-vaults → works instantly
  5. Call search-vault → works instantly
  6. Call create-note with any content (even a single word "Test") → hangs forever, times out after 4 minutes

Log evidence

Server initialization and read operations work perfectly:

Message from client: {"method":"tools/call","params":{"name":"list-available-vaults","arguments":{}},"jsonrpc":"2.0","id":4}
Message from server: {"jsonrpc":"2.0","id":4,"result":{"_meta":{"toolName":"list-available-vaults",...,"success":true},"content":[{"type":"text","text":"Available vaults:\n  - navy-obsidian"}]}}

Write operations receive the request but never respond:

Message from client: {"method":"tools/call","params":{"name":"create-note","arguments":{"content":"Test","filename":"test123.md","vault":"navy-obsidian"}},"jsonrpc":"2.0","id":11}
[... no "Message from server" ever appears ...]
Message from client: {"jsonrpc":"2.0","method":"notifications/cancelled","params":{"requestId":11,"reason":"McpError: MCP error -32001: Request timed out"}}

Additional context

  • The vault directory has correct permissions (owned by user, drwxr-xr-x)
  • Writing files to the same path via terminal (touch, cp, echo >) works without issues
  • The server correctly validates the vault, registers all 11 tools, and responds to initialize, tools/list, resources/list, and resources/read
  • The resources/read request for vault info also returns instantly — only tools/call for write operations is affected
  • Also tested with a symlink to avoid spaces in path — obsidian-mcp rejected it with "Path contains symlinks that point outside the parent directory"
  • The vault contains only a few small test files (under 1 KB total)

Expected behavior

create-note should create the file and return a success response, just as list-available-vaults and search-vault do.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions