obsidian-mcp
3.2
If you are the rightful owner of obsidian-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server for Obsidian, written in Go.
obsidian-mcp
A Model Context Protocol (MCP) server for Obsidian, written in Go.
Features
- Interact with Obsidian through the MCP protocol
- Support for Obsidian REST API
- Provides tools and prompts functionality
- Supports both stdio and SSE server modes
Prerequisites
This MCP server requires the Obsidian Local REST API plugin to be installed and enabled in Obsidian. This plugin provides a secure HTTPS interface that allows external tools to interact with your Obsidian notes through a REST API.
Installation
Using go install
go install github.com/orvice/obsidian-mcp/cmd/obsidian-mcp@latest
Build from source
git clone https://github.com/orvice/obsidian-mcp.git
cd obsidian-mcp
go build -o obsidian-mcp ./cmd/obsidian-mcp
Configuration
Environment Variables
OBSIDIAN_BASE_URL
: Base URL for Obsidian REST APIOBSIDIAN_API_KEY
: API key for Obsidian REST APISSE_SERVER
: Set to "true" to enable SSE server mode (optional)
MCP Configuration Examples
Claude Desktop Configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"obsidian-mcp": {
"command": "obsidian-mcp",
"env": {
"OBSIDIAN_BASE_URL": "http://localhost:27123",
"OBSIDIAN_API_KEY": "your-obsidian-api-key"
}
}
}
}
Continue Configuration
Add to ~/.continue/config.json
:
{
"experimental": {
"modelContextProtocol": true
},
"mcpServers": {
"obsidian-mcp": {
"command": "obsidian-mcp",
"args": [],
"env": {
"OBSIDIAN_BASE_URL": "http://localhost:27123",
"OBSIDIAN_API_KEY": "your-obsidian-api-key"
}
}
}
}
Usage
- Ensure Obsidian is installed with the REST API plugin enabled
- Obtain an API key and configure environment variables
- Start the MCP server
- Use in MCP-compatible clients (such as Claude Desktop)
Development
# Run the project
go run ./cmd/obsidian-mcp
# Run tests
go test ./...
# Build
make build