🎉 Initial release of Obsidian MCP Server plugin
Core Features:
- MCP server implementation with HTTP transport
- JSON-RPC 2.0 message handling
- Protocol version 2024-11-05 support
MCP Tools:
- read_note, create_note, update_note, delete_note
- search_notes, list_notes, get_vault_info
Server Features:
- Configurable HTTP server (default port: 3000)
- Health check and MCP endpoints
- Auto-start option
Security:
- Origin header validation (DNS rebinding protection)
- Optional Bearer token authentication
- CORS configuration
UI:
- Settings panel with full configuration
- Status bar indicator and ribbon icon
- Start/Stop/Restart commands
Documentation:
- Comprehensive README with examples
- Quick Start Guide and Implementation Summary
- Test client script
6.2 KiB
Troubleshooting Guide
Plugin Won't Load
Check Required Files
Ensure these files exist in the plugin directory:
ls -la /path/to/vault/.obsidian/plugins/obsidian-mcp-server/
Required files:
- ✅
main.js(should be ~846KB) - ✅
manifest.json - ✅
styles.css
Check Obsidian Console
- Open Obsidian
- Press
Ctrl+Shift+I(Windows/Linux) orCmd+Option+I(Mac) - Go to the Console tab
- Look for errors related to
obsidian-mcp-server
Common errors:
- Module not found: Rebuild the plugin with
npm run build - Syntax error: Check the build completed successfully
- Permission error: Ensure files are readable
Verify Plugin is Enabled
- Go to Settings → Community Plugins
- Find MCP Server in the list
- Ensure the toggle is ON
- If not visible, click Reload or restart Obsidian
Check Manifest
Verify manifest.json contains:
{
"id": "obsidian-mcp-server",
"name": "MCP Server",
"version": "1.0.0",
"minAppVersion": "0.15.0",
"description": "Exposes Obsidian vault operations via Model Context Protocol (MCP) over HTTP",
"author": "",
"authorUrl": "",
"isDesktopOnly": true
}
Rebuild from Source
If the plugin still won't load:
cd /path/to/vault/.obsidian/plugins/obsidian-mcp-server
npm install
npm run build
Then restart Obsidian.
Check Obsidian Version
This plugin requires:
- Minimum Obsidian version: 0.15.0
- Desktop only (not mobile)
Check your version:
- Settings → About
- Look for "Current version"
Verify Node.js Built-ins
The plugin uses Node.js modules (http, express). Ensure you're running on desktop Obsidian, not mobile.
Plugin Loads But Shows No Info
Check Plugin Description
If the plugin appears in the list but shows no description:
- Check
manifest.jsonhas adescriptionfield - Restart Obsidian
- Try disabling and re-enabling the plugin
Check for Errors on Load
- Open Console (
Ctrl+Shift+I) - Disable the plugin
- Re-enable it
- Watch for errors in console
Server Won't Start
Port Already in Use
Error: "Port 3000 is already in use"
Solution:
- Go to Settings → MCP Server
- Change port to something else (e.g., 3001, 3002)
- Try starting again
Or find and kill the process using port 3000:
# Linux/Mac
lsof -i :3000
kill -9 <PID>
# Windows
netstat -ano | findstr :3000
taskkill /PID <PID> /F
Module Not Found
Error: "Cannot find module 'express'" or similar
Solution:
cd /path/to/vault/.obsidian/plugins/obsidian-mcp-server
npm install
npm run build
Restart Obsidian.
Permission Denied
Error: "EACCES" or "Permission denied"
Solution:
- Try a different port (above 1024)
- Check firewall settings
- Run Obsidian with appropriate permissions
Server Starts But Can't Connect
Check Server is Running
Look at the status bar (bottom of Obsidian):
- Should show:
MCP: Running (3000) - If shows:
MCP: Stopped- server isn't running
Test Health Endpoint
Open browser or use curl:
curl http://127.0.0.1:3000/health
Should return:
{"status":"ok","timestamp":1234567890}
Check Localhost Binding
The server only binds to 127.0.0.1 (localhost). You cannot connect from:
- Other computers on the network
- External IP addresses
- Public internet
This is by design for security.
Test MCP Endpoint
curl -X POST http://127.0.0.1:3000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"ping"}'
Should return:
{"jsonrpc":"2.0","id":1,"result":{}}
Authentication Issues
Wrong API Key
Error: 401 Unauthorized
Solution:
- Check API key in settings matches what you're sending
- Ensure format is:
Authorization: Bearer YOUR_API_KEY - Try disabling authentication temporarily to test
CORS Errors
Error: "CORS policy" in browser console
Solution:
- Go to Settings → MCP Server
- Ensure "Enable CORS" is ON
- Check "Allowed Origins" includes your origin or
* - Restart server
Tools Not Working
Path Errors
Error: "Note not found"
Solution:
- Use relative paths from vault root
- Example:
folder/note.mdnot/full/path/to/note.md - Don't include vault name in path
Permission Errors
Error: "EACCES" or "Permission denied"
Solution:
- Check file permissions in vault
- Ensure Obsidian has file system access
- Check vault is not read-only
Search Returns Nothing
Issue: search_notes returns no results
Solution:
- Check query is not empty
- Search is case-insensitive
- Searches both filename and content
- Try simpler query
Getting Help
Collect Debug Information
When reporting issues, include:
- Obsidian version: Settings → About
- Plugin version: Check manifest.json
- Operating System: Windows/Mac/Linux
- Error messages: From console (Ctrl+Shift+I)
- Steps to reproduce: What you did before the error
Console Logs
Enable detailed logging:
- Open Console (
Ctrl+Shift+I) - Try the failing operation
- Copy all red error messages
- Include in your report
Test Client Output
Run the test client and include output:
node test-client.js
Check GitHub Issues
Before creating a new issue:
- Search existing issues
- Check if it's already reported
- See if there's a workaround
Common Solutions
"Have you tried turning it off and on again?"
Seriously, this fixes many issues:
- Stop the server
- Disable the plugin
- Restart Obsidian
- Enable the plugin
- Start the server
Clean Reinstall
If all else fails:
# Backup settings first!
cd /path/to/vault/.obsidian/plugins
rm -rf obsidian-mcp-server
# Re-install plugin
cd obsidian-mcp-server
npm install
npm run build
Restart Obsidian.
Reset Settings
If settings are corrupted:
- Stop server
- Disable plugin
- Delete
/path/to/vault/.obsidian/plugins/obsidian-mcp-server/data.json - Re-enable plugin
- Reconfigure settings
Still Having Issues?
- Check the README.md for documentation
- Review QUICKSTART.md for setup steps
- Run the test client to verify server
- Check Obsidian console for errors
- Try a clean rebuild
- Create a GitHub issue with debug info