Obsidian MCP Client
An Obsidian plugin for connecting to Model Context Protocol (MCP) servers.
Features
-
Multiple Transport Types: Connect to MCP servers via:
- STDIO (local command execution)
- WebSocket
- Server-Sent Events (SSE)
- Streamable HTTP
-
Plugin Architecture: Extensible transport system with hot-swappable plugins
-
Claude Desktop Compatible: Uses the same config format as Claude Desktop (
~/.mcp-config.json) -
Built-in Presets: Quick-add common MCP servers (Memory, Filesystem, Sequential Thinking, etc.)
Installation
From Obsidian Community Plugins (Coming Soon)
Search for "MCP Client" in Obsidian's community plugin browser.
Manual Installation
- Download the latest release from the Releases page
- Extract to your vault's
.obsidian/plugins/obsidian-mcp-client/directory - Enable the plugin in Obsidian settings
Build from Source
git clone https://github.com/simplemindedbot/obsidian-mcp-client.git
cd obsidian-mcp-client
npm install
npm run build
Copy main.js, manifest.json, and styles.css to your vault's plugins directory.
Usage
- Open the MCP Client view via the ribbon icon or command palette
- Configure MCP servers in Settings > MCP Client
- Connect to servers and browse available tools, resources, and prompts
Configuration
The plugin reads from ~/.mcp-config.json by default (Claude Desktop compatible format):
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
}
}
}
Development
# Install dependencies
npm install
# Development build with watch
npm run dev
# Production build
npm run build
Architecture
src/
āāā main.ts # Plugin entry point
āāā mcpclient/
ā āāā core/
ā ā āāā McpClient.ts # Main client wrapper
ā ā āāā PluginRegistry.ts # Transport plugin registry
ā ā āāā EventEmitter.ts # Type-safe event system
ā āāā plugins/
ā ā āāā stdio/ # STDIO transport
ā ā āāā websocket/ # WebSocket transport
ā ā āāā sse/ # SSE transport
ā ā āāā streamable-http/ # Streamable HTTP transport
ā āāā types/ # TypeScript definitions
āāā ui/
āāā MCPView.ts # Sidebar view
āāā MCPSettingsTab.ts # Settings tab
āāā ToolParameterModal.ts # Tool parameter input modal
License
MIT