home / mcp / obsidian mcp rest server
Provides local MCP access to Obsidian vaults for reading, writing, listing, and searching notes via a secure local REST API.
Configuration
View docs{
"mcpServers": {
"publikprinciple-obsidian-mcp-rest": {
"command": "obsidian-mcp-rest",
"args": [
"--config",
"path/to/config.json"
]
}
}
}You run a local MCP server that exposes your Obsidian vaults through a secure REST-like interface. This lets AI assistants read, write, search, and manage notes inside Obsidian without exposing your data beyond your machine.
Connect an MCP client to the local Obsidian MCP REST server to perform common note operations. You can read, write, list, and search notes, all through a standard MCP interface that stays local to your machine.
Prerequisites you need before installing the MCP server.
- Node.js 16 or higher.
- Obsidian with the Local REST API plugin installed and configured.
- An Obsidian vault with Local REST API enabled.
Install the MCP server globally and prepare a configuration file for Obsidian Local REST API.
Install globally
npm install -g PublikPrinciple/obsidian-mcp-restCreate a configuration file named config.json with the following structure.
{
"obsidian": {
"apiKey": "your-api-key-here",
"port": 27123,
"host": "localhost"
},
"server": {
"name": "obsidian-mcp",
"version": "1.0.0"
}
}The server operates locally and communicates through the standard input/output streams. All interactions with the Obsidian REST API are authenticated using your API key, and no external network access is required. Your data remains local to your machine.
Launch the server using your configuration file.
obsidian-mcp-rest --config path/to/config.jsonThe server starts and listens for MCP requests via stdin/stdout.
Configure Claude Desktop to connect to your local MCP server so you can issue natural-language requests to manage Obsidian notes.
1. Open Claude Desktop settings 2. Go to the MCP section 3. Add a new server configuration with these settings.
{
"name": "obsidian-mcp",
"command": "obsidian-mcp-rest",
"args": ["--config", "path/to/config.json"]
}List all notes in the vault or a specific folder to help you inventory content.
Read the contents of a specific note to extract information or verify content.
Create or update a note within the vault, enabling you to modify content programmatically.
Search for notes using a query string to quickly locate relevant content.
Retrieve metadata for a specific note, such as creation date, modification date, and tags.