obsidian-mcp-brain is a thin Node.js HTTP server that gives remote MCP clients,
such as Claude Code and Claude Desktop, access to one or more Obsidian vaults. It
implements every tool natively and reads and writes the vault files directly.
Remote MCP clients connect over HTTP, not stdio, and the usual approaches have problems:
mcp-proxy can leave
tools/list timing out: Claude Code opens its GET /mcp notification stream at
the same moment it asks for the tool list, and the proxy’s response routing gets
confused. This server implements the MCP HTTP transport directly and has no
child process.Claude Code / Claude Desktop
│ HTTPS (e.g. Tailscale)
▼
obsidian-mcp-brain :3002
├─ OAuth 2.0 discovery endpoints
├─ MCP Streamable HTTP transport (POST /mcp, GET /mcp)
├─ Path deny list (access control)
└─ Vault access (node:fs/promises)
│
▼
Obsidian vault (filesystem)