obsidian-mcp

obsidian-mcp

3.5

If you are the rightful owner of obsidian-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Obsidian MCP (Model Context Protocol) 服务器用于连接 AI 模型与 Obsidian 知识库,支持笔记和文件夹的管理操作。

Obsidian MCP (Model Context Protocol) Server

English |

This project implements a Model Context Protocol (MCP) server for connecting AI models with Obsidian knowledge bases. Through this server, AI models can directly access and manipulate Obsidian notes, including reading, creating, updating, and deleting notes, as well as managing folder structures.

Created by huangyihe

Features

  • Seamless integration with Obsidian knowledge bases
  • Support for reading, creating, updating, and deleting notes
  • Support for creating, renaming, moving, and deleting folders
  • Full-text search functionality
  • Compliance with the Model Context Protocol specification

Supported Tools

The MCP server provides the following tools:

  • list_notes: List all notes in the Obsidian vault
  • read_note: Read the content of a note in the Obsidian vault
  • create_note: Create a new note in the Obsidian vault
  • search_vault: Search for content in the Obsidian vault
  • delete_note: Delete a note from the Obsidian vault
  • move_note: Move or rename a note to a new location in the Obsidian vault
  • manage_folder: Create, rename, move, or delete a folder in the Obsidian vault

Prerequisites

  • Node.js (v16 or higher)
  • Obsidian desktop application
  • Obsidian Local REST API plugin (needs to be installed in Obsidian)

Installation Options

Choose the most suitable installation method based on your technical level and usage needs:

MethodTarget UsersAdvantagesDisadvantages
🎯 One-Click Install (DXT)General usersSimplest, GUI configurationRequires DXT-enabled client
📦 Remote Install (NPM)Node.js usersAuto-updates, no installationRequires network connection
🔧 Local DeployAdvanced usersOffline use, full controlManual updates required

Method 1: One-Click Install (DXT Package) - Recommended

Suitable for: General users who want the simplest installation experience

Step 1: Download DXT File

Download the pre-built extension package:

Step 2: Install and Configure

Double-click the downloaded .dxt file and the system will automatically install the extension. Then fill in the configuration interface:

  • Vault Path: Your Obsidian vault path (e.g., /Users/username/Documents/MyVault)
  • API Token: Obsidian Local REST API plugin token
  • API Port: API port number (default: 27123)

Method 2: Remote Install (NPM Package)

Suitable for: Node.js developers who want automatic updates and version management

Simply add the following configuration to your MCP client config file:

Using npx (recommended, no pre-installation required):

{
  "mcpServers": {
    "obsidian-mcp": {
      "command": "npx",
      "args": [
        "@huangyihe/obsidian-mcp"
      ],
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/vault",
        "OBSIDIAN_API_TOKEN": "your_api_token",
        "OBSIDIAN_API_PORT": "27123"
      }
    }
  }
}

Note: First run will automatically download the package, subsequent runs use cache, ensuring you always use the latest version.


Method 3: Local Deploy

Suitable for: Users who need customization, advanced control, or offline usage

Option A: Global Install (Recommended)

Step 1: Global Install

npm install -g @huangyihe/obsidian-mcp

Step 2: MCP Client Configuration

{
  "mcpServers": {
    "obsidian-mcp": {
      "command": "obsidian-mcp",
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/vault",
        "OBSIDIAN_API_TOKEN": "your_api_token",
        "OBSIDIAN_API_PORT": "27123"
      }
    }
  }
}

Option B: Source Deploy

Step 1: Clone Repository

git clone https://github.com/newtype-01/obsidian-mcp.git
cd obsidian-mcp

Step 2: Install Dependencies

npm install

Step 3: Build Project

npm run build

Step 4: Configure Environment Variables

cp .env.example .env
# Edit .env file with your configuration

Step 5: Start Server

npm start

Option C: Docker Deploy

Using Docker Compose (Recommended)

# Configure environment variables
cp .env.example .env
# Edit .env file

# Start service
docker-compose up -d

Using Docker Command

# Build image
docker build -t obsidian-mcp .

# Run container
docker run -d \
  --name obsidian-mcp \
  --env-file .env \
  --network host \
  -v $(OBSIDIAN_VAULT_PATH):$(OBSIDIAN_VAULT_PATH) \
  obsidian-mcp

Configuration Guide

Environment Variables

All installation methods require the following configuration:

  • OBSIDIAN_VAULT_PATH: Path to your Obsidian vault
  • OBSIDIAN_API_TOKEN: API token for Obsidian Local REST API plugin
  • OBSIDIAN_API_PORT: API port for Obsidian Local REST API (default: 27123)

⚠️ Important: For remote NPM installation and global installation, you MUST use the OBSIDIAN_ prefix for environment variables. The variables VAULT_PATH, API_TOKEN without the prefix will not work correctly.

Getting API Token

  1. Install "Local REST API" plugin in Obsidian
  2. Generate API Token in plugin settings
  3. Note the port number (default 27123)

Testing

The project includes a test script to verify server functionality:

node test-mcp.js

Development

  • Use npm run dev to run the server in development mode
  • Source code is located in the src directory

License

MIT

Contributing

Pull Requests and Issues are welcome!

Related Projects