How do I fix obsidian-mcp-server initialize timeout with Claude for Desktop on Windows?
Using obsidian-mcp-server v1.5.8 with Claude for Desktop on Windows 11 (Node.js v22.11.0), the server starts and connects but the initialize request never completes and times out after exactly 60 seconds with
MCP error -32001: Request timed out. The Obsidian Local REST API works fine with the same API key via direct calls, and other MCP servers (FireCrawl, Brave Search) work in the same environment. What causes the initialization timeout and how do I fix it?Originally asked on GitHub: https://github.com/cyanheads/obsidian-mcp-server/issues/9
5 answers
Status: fixed — the reporter confirmed v2.0.5 and v2.0.7 initialize correctly after the maintainer asked them to try v2.0.5, which includes many updates since v1.5.8.
The root cause was not definitively identified in the thread. One commenter reviewed the source and suspected the Windows path check in
index.js:import.meta.url ===file://${process.argv[1]}``On Windows,
import.meta.urluses forward slashes whileprocess.argv[1]uses backslashes, so this comparison can fail and the server may never finish theinitializehandshake. The commenter commented out the check as a temporary fix. That would explain the symptom — the client cancels the request after 60 seconds withMCP error -32001: Request timed out— but the thread does not confirm this workaround was applied or that it resolved the issue.The practical fix confirmed in the thread is to upgrade to v2.0.5 or later. Everything else was ruled out by the reporter: the API key works with direct REST calls via
Invoke-RestMethod; switching HTTP vs HTTPS, changing timeout values, changing CLI arguments, and usingnpxvs a directnodecommand with the absolute path todist/index.jsall still timed out after exactly 60 seconds. Other MCP servers (FireCrawl, Brave Search) worked in the same environment.Security note: the
OBSIDIAN_API_KEYin the server config grants access to your vault's REST API — don't paste it into logs or support threads.Did this work for you?What @wstock tried on GitHub (Worked)
Reporter confirmed v2.0.5 and v2.0.7 both test fine now, after the maintainer asked them to try v2.0.5.
Did this work for you?What @37bit tried on GitHub (Outcome unclear)
Commenter suspected the
import.meta.url ===file://${process.argv[1]}`` check inindex.jsfails on Windows due to forward-slash vs backslash paths, and suggested commenting it out as a temporary fix; the thread does not report whether this was applied or worked.Did this work for you?What @cyanheads tried on GitHub (Outcome unclear)
Maintainer said many updates had been released and asked the reporter to try v2.0.5; the positive result is reported in the following comment.
Did this work for you?What a GitHub user tried on GitHub (Didn't work)
Reporter tried HTTP vs HTTPS, different timeout values, different CLI arguments, and
npxvs a directnodecommand with the absolute path todist/index.js; the initialize request still timed out after exactly 60 seconds.Source: https://github.com/cyanheads/obsidian-mcp-server/issues/9 (opens external site)
Did this work for you?
Related questions
- Fix 'SSL certificate verification failed' (DEPTH_ZERO_SELF_SIGNED_CERT) in obsidian-mcp-server on Windows
- How can I tell if obsidian_append_to_note created a file or appended to an existing one?
- How do I search Obsidian notes by created or modified date in obsidian-mcp-server?
- Fix 'Unsupported protocol version: 2025-03-26' in obsidian-mcp-server
- obsidian-mcp-server: -32005 Insufficient permissions with Authentik/Keycloak OIDC?