Get started with obsidi-mcp — what it is, how to set it up, and how to use it
Guide the user through getting started with obsidi-mcp.
An Obsidian community plugin that exposes vault operations as an MCP server. Provides 28+ built-in vault tools (read, write, search, tag, link, manage notes) plus 7 CLI bridge tools for Sync history and file recovery. Supports stdio, HTTP (StreamableHTTP), and SSE transports. Other plugins can register additional tools at runtime via the Tool Provider Registry.
Check that the user has the following installed/configured:
obsidian --version to verify)Walk the user through initial setup:
git clone https://github.com/cameronsjo/obsidi-mcp.git
cd obsidi-mcp
npm install
npm run build
ln -sfn /path/to/obsidi-mcp /path/to/your-vault/.obsidian/plugins/obsidi-mcp
Guide the user through their first interaction with the product:
curl http://localhost:3000/health
{
"mcpServers": {
"obsidian": {
"command": "obsidian",
"args": ["--vault", "Your Vault Name", "--mcp"]
}
}
}
{
"mcpServers": {
"obsidian": {
"url": "http://localhost:3000/mcp",
"transport": "streamable-http"
}
}
}
list_notes or get_vault_stats to confirm connectivity.Point the user to the most important files for understanding the project:
main.ts — Plugin entry point, onload()/onunload() lifecyclesrc/mcpServer.ts — MCP server implementation, transport setup, tool dispatchsrc/obsidianTools.ts — 28 built-in vault tool definitions and handlerssrc/cliBridge/ — CLI bridge tools for Sync history and file recoverysrc/vaultResources.ts — MCP resource subscriptions with live vault change notificationssrc/settingsTab.ts — Plugin settings UI configurationmanifest.json — Obsidian plugin manifest (id, version, min app version)npm run dev
Then reload the plugin in Obsidian (Ctrl/Cmd+P > "Reload app without saving").npm run build
npm test
onload():
const mcp = this.app.plugins?.plugins?.['obsidi-mcp'];
if (mcp?.registerToolProvider) {
mcp.registerToolProvider({ id: 'my-plugin', name: 'My Plugin', tools: myTools });
}