-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Obsidian Rest API starts hanging forever when patch content is called with invalid target #3
Comments
While PR (coddingtonbear/obsidian-local-rest-api#139) resolves the hanging issue in So, I've added timeout in PR #4 to prevent hanging forever. While testing, I found that:
Based on these observations, I set the timeout values to:
This ensures that the client receives timeout errors before MCP clients force a disconnect. |
love it |
While investigating the timeout settings (trying different values to determine the I created a minimal reproduction case that simply waits for a specified number of seconds. While looking into reporting this, I noticed that @MarkusPfundstein had already created the issue: modelcontextprotocol/python-sdk#88 The problem occurs with this simple pattern:
I've documented my findings in detail there. |
Great work @7shi . Lets see what Anthropic reponds |
When the tool patch_content is called , the ToolHandler calls the URL
PATCH /vault/{filename}
.When the Obsidian REST API can't find the target, it throws a PatchFailed error. It seems as if this error is never returned to the client. After a while, MCP throws a timeout error and Claude tells us that it can't do it.
This is annoying but not breaking. However, the Obsidian plugin also becomes totally unresponsive afterwards. Each call then timeouts, also if done via curl (so not related to MCP).
No idea yet how to fix it. There is an issue reported here that might resolve it? https://github.com/coddingtonbear/obsidian-local-rest-api/pull/139/files
The text was updated successfully, but these errors were encountered: