Installation Guide¶
Complete setup instructions for MCP Server and Canvas Project Manager Plugin
Table of Contents¶
Prerequisites¶
Required¶
- Obsidian - Latest version (download)
- Node.js - Version 18 or later (download)
- AI Assistant - One of:
- Claude Code (docs)
- Claude Desktop (download)
- Cursor IDE (download)
Recommended¶
- Git - For plugin installation from source
- Code editor - For editing configuration files (VS Code, etc.)
Check Your Setup¶
# Verify Node.js installation
node --version
# Should show v18.x.x or higher
# Verify npm installation
npm --version
# Should show 9.x.x or higher
MCP Server Installation¶
The MCP server enables AI assistants to manage your project entities. It is the bundled stdio server bin/mcp-server.mjs, built from the same repository as the plugin — both share one entity engine and on-disk format, so they can work on the same vault concurrently.
Outdated setups
Older docs referenced npx @ostanlabs/obsidian-mcp or obsidian-accomplishments-mcp. These are outdated — the MCP server is now built from the plugin repository as described below.
Step 1: Build the Server¶
git clone https://github.com/ostanlabs/obsidian_plugin.git
cd obsidian_plugin
npm install
npm run build # builds the plugin AND bin/mcp-server.mjs
(You can build only the server with npm run build:mcp.)
Step 2: Register with Your AI Assistant¶
The server speaks MCP over stdio and targets one project folder via the VAULT_PATH environment variable — the folder that contains milestones/, stories/, tasks/, etc. On first run it bootstraps a schema.json there if none exists.
Configuration file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"obsidian-mcp": {
"command": "node",
"args": ["/absolute/path/to/obsidian_plugin/bin/mcp-server.mjs"],
"env": { "VAULT_PATH": "/path/to/vault/Projects/YourProject" }
}
}
}
If you already have other MCP servers, add the obsidian-mcp entry to the existing mcpServers object.
Open Cursor → Settings → Features → MCP Servers (or edit ~/.cursor/mcp_config.json) and add the same JSON entry as the Claude Desktop tab.
Step 3: Configure VAULT_PATH¶
| Variable | Description | Example |
|---|---|---|
VAULT_PATH |
Absolute path to your project folder (inside your vault) | /Users/john/Vault/Projects/MyProject |
Important:
- Use absolute paths for VAULT_PATH
- Use forward slashes (/) even on Windows
- No trailing slash on VAULT_PATH
- Point at the project folder (the one holding the entity folders), not necessarily the vault root
Step 4: Restart AI Assistant¶
- Claude Desktop: Quit completely and restart
- Cursor: Restart the application
- Claude Code: Run
/mcpto (re)connect — also do this after rebuilding the server
Step 5: Verify Installation¶
Ask your AI assistant:
You should see tools like:
- create_entity
- update_entity
- search_entities
- get_project_overview
- get_schema
- etc.
Plugin Installation¶
The plugin enables visual project management on Obsidian Canvas.
📦 Current version: 1.8.96 — available from GitHub Releases, on npm as @ostanlabs/canvas-project-manager, or built from source.
Already cloned the repo?
If you built the MCP server above, npm run build already produced the plugin files (main.js, manifest.json, styles.css) in the repo root — skip to Step 2 of Option C.
Installation Methods¶
Choose the method that works best for you:
Option A: GitHub Release (Recommended)¶
No build required.
Step 1: Download Release Assets
Download main.js, manifest.json, and styles.css from the latest release.
Step 2: Copy to Vault
# Create plugin directory
mkdir -p /path/to/vault/.obsidian/plugins/canvas-project-manager
# Copy the downloaded files
cp ~/Downloads/{main.js,manifest.json,styles.css} \
/path/to/vault/.obsidian/plugins/canvas-project-manager/
Replace /path/to/vault with your actual vault path.
Step 3: Enable Plugin in Obsidian (see below)
Option B: Install from npm¶
Step 1: Install Package
Step 2: Copy to Vault
# Create plugin directory
mkdir -p /path/to/vault/.obsidian/plugins/canvas-project-manager
# Copy built files from node_modules
cp node_modules/@ostanlabs/canvas-project-manager/{main.js,manifest.json,styles.css} \
/path/to/vault/.obsidian/plugins/canvas-project-manager/
Step 3: Enable Plugin in Obsidian
- Open Obsidian
- Go to Settings (gear icon)
- Navigate to Community Plugins
- Click Turn on community plugins (if not already enabled)
- Find Canvas Project Manager in the list
- Toggle it ON
✅ Plugin is now active!
Option C: Build from Source (For Development)¶
Use this method if you want to contribute or modify the plugin.
⚠️ Note: Requires Git and build tools. Only use this if you need to modify the plugin code.
Step 1: Clone Repository
Step 2: Install Dependencies
Step 3: Build Plugin
This creates three files:
- main.js - Plugin code
- manifest.json - Plugin metadata
- styles.css - Plugin styles
Step 4: Copy to Vault
# Create plugin directory
mkdir -p /path/to/vault/.obsidian/plugins/canvas-project-manager
# Copy built files
cp main.js manifest.json styles.css /path/to/vault/.obsidian/plugins/canvas-project-manager/
**Step 5: Enable Plugin in Obsidian
- Open Obsidian
- Go to Settings (gear icon)
- Navigate to Community Plugins
- Click Turn on community plugins (if not already enabled)
- Find Canvas Project Manager in the list
- Toggle it ON
✅ Plugin is now active!
Vault Setup¶
Create Required Folders¶
The system uses these folders for entity storage:
cd /path/to/vault
# Create entity folders
mkdir -p milestones
mkdir -p stories
mkdir -p tasks
mkdir -p decisions
mkdir -p documents
mkdir -p features
# Create archive folder
mkdir -p archive
Create Main Canvas¶
Create a canvas file for visual project management:
- In Obsidian, create new file:
main.canvas - Or use command palette: "Create new canvas"
Verification¶
Test MCP Server¶
Ask your AI assistant:
Expected:
- AI creates the milestone as milestones/System_Setup.md — filenames are title-only; the entity ID (M-001) lives in the YAML frontmatter, not the filename
- A schema.json appears in the project folder on first run (bootstrapped from the built-in default)
Test Plugin¶
- Open
main.canvasin Obsidian - Open command palette (
Ctrl/Cmd+P) - Run: "Project Canvas: Populate from vault"
- Run: "Project Canvas: Reposition nodes"
Expected: - M-001 appears on canvas - Node is positioned and styled correctly
Test Integration¶
- Ask AI:
Create a story under M-001 called "Test Story" - In Obsidian, run: "Project Canvas: Populate from vault"
- Verify S-001 appears on canvas under M-001
✅ Success! Both components are working together.
Next Steps¶
- Quick Start Guide - Create your first project in 15 minutes
- User Guide - Learn all features and workflows
- Sample Vault - Explore example project
Troubleshooting¶
See FAQ for common issues and solutions.