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)