Labsco
MCP SERVER

Obsidian Claude Code

by iansinnott

Let Claude Code and Claude Desktop read and write your Obsidian vault, both connected at once.

Note-Taking & Personal Knowledge Bases
Summary
Two registries, so Claude Code gets IDE tools and other clients get only what makes sense for them.

The WebSocket registry carries the shared file tools plus IDE-specific ones; the HTTP registry carries the shared set. That is why both clients can be attached at the same time without a standard MCP client seeing diagnostics it cannot use. Note the deliberate choice on protocol version: the plugin uses the older HTTP-with-SSE transport because most clients do not yet support Streamable HTTP.

What it is

An Obsidian plugin that runs an MCP server inside the app, over two transports: WebSocket for Claude Code and HTTP/SSE for Claude Desktop.

What you get
  • File operations shared by both transports — view, str_replace, create and insert
  • Workspace context — get_current_file and get_workspace_files, so the assistant knows what you are looking at
  • obsidian_api for reaching Obsidian's own API
  • IDE-specific tools over the Claude Code WebSocket, including getDiagnostics
  • Auto-discovery: Claude Code finds the vault through the /ide command, no config needed
  • Both clients connected simultaneously, each seeing the tools appropriate to it
  • A configurable port so several vaults can run the plugin at once
Requirements

Obsidian with the plugin installed and enabled. Claude Code needs nothing else — run claude, use /ide, pick Obsidian. Claude Desktop needs Node.js and the mcp-remote bridge, because it does not speak HTTP transports directly: point it at http://localhost:22360/sse. Port 22360 is the default and is changeable in plugin settings; each vault needs its own.