Enables reading, writing, searching, and managing notes in an Obsidian vault with Git-backed version control and multi-device sync support.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Obsidian MCP Serversearch for meeting notes about the Q3 project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Obsidian MCP Server
A custom Model Context Protocol (MCP) server for Obsidian vault integration. Enables Claude Code (desktop & mobile) to read, write, search, and manage your Obsidian notes with support for future AI workflows and external integrations.
Features
π Core Tools: Read, write, search, and list notes
π Git-Backed Sync: Automatic version control and multi-device sync
π± Mobile Support: Works with Claude Code on iPhone/Android
π Secure Auth: OAuth 2.1 and API key support
π Extensible: Drop-in tool system for adding AI workflows and integrations
π³ Docker Ready: Easy deployment to any VPS
π Current Status
β Completed:
Obsidian vault created and Git-backed (obsidian-vault)
MCP server built and tested locally
Environment configuration working
Bug fix: Added
dotenvpackage for proper .env loadingServer running successfully on localhost:3000
π§ Next Steps:
Docker Compose setup for multi-project VPS deployment
Deploy to Hetzner CPX31 (8GB RAM) VPS
Configure for remote access (mobile + desktop)
π See NEXT-STEPS.md for detailed deployment plan and VPS setup instructions.
Quick Start
Prerequisites
Node.js 20+
Git
Obsidian vault in a Git repository
Installation
# Clone the repository
git clone https://github.com/yourusername/obsidian-mcp-server.git
cd obsidian-mcp-server
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your settings
# Run in development mode
npm run dev
# Or build and run in production
npm run build
npm startConfiguration
Create a .env file based on .env.example:
GIT_REPO_URL=https://github.com/yourusername/your-vault.git
GIT_BRANCH=main
GIT_TOKEN=ghp_your_token_here
API_KEY=your_secure_api_keyAvailable Tools
Core Tools
read_note- Read note content and frontmatterwrite_note- Create or update notessearch_notes- Full-text search across vaultlist_notes- List files with optional filtering
Future Extensions (Add as needed)
AI workflows (summarization, tagging, templates)
Calendar integrations
Task management integrations
Custom automations
Deployment
Docker (Recommended)
docker build -t obsidian-mcp .
docker run -p 3000:3000 --env-file .env obsidian-mcpHetzner VPS
See docs/deployment.md for detailed deployment instructions.
Extending the Server
To add new tools, create a new file in src/tools/:
import { BaseTool } from './base.tool.js';
export class MyCustomTool extends BaseTool {
name = 'my_custom_tool';
description = 'Does something custom';
inputSchema = {
type: 'object',
properties: {
param: { type: 'string' }
}
};
async execute(params: { param: string }) {
// Your custom logic here
const content = await this.vault.read(params.param);
return { success: true, content };
}
}The tool will be automatically discovered and registered.
License
MIT
Contributing
This is a personal project, but suggestions and improvements are welcome!
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.