Mcp Obsidian

Integrate with Obsidian to manage notes by reading, creating, and manipulating files in the vault. Supports various operations including searching notes and handling file content.

Author

Mcp Obsidian logo

gregkonush

MIT License

Quick Info

GitHub GitHub Stars 5
NPM Weekly Downloads 0
Tools 1
Last Updated 14/7/2025

Tags

obsidian files vault mcp obsidian obsidian manage file management

MCP Obsidian

A server implementation of the Model Context Protocol (MCP) for integrating with Obsidian. This allows AI assistants to read, create, and manipulate notes in your Obsidian vault.

Features

  • Read the active file in Obsidian
  • Delete the active file
  • Insert content at specific positions (headings, block references, frontmatter)
  • Append content to files
  • Open specific files
  • List files in your vault
  • Search through your notes

Prerequisites

  • Bun runtime
  • Obsidian desktop application
  • An MCP-compatible AI assistant

Add to cursor

Place your secret in .env file

Choose command MCP and then enter this command

bun __REPO_PATH__/src/index.ts

Installation

  1. Clone this repository:

    git clone https://github.com/gregkonush/mcp-obsidian.git
    cd mcp-obsidian
    
  2. Install dependencies:

    bun install
    
  3. Copy the example environment file and configure it:

    cp .env.example .env
    

Configuration

Edit the .env file with your specific configurations:

OBSIDIAN_BASE_URL=http://localhost:27123
OBSIDIAN_TOKEN=your_token_here
DEBUG=false

Usage

Start the MCP server:

bun run src/index.ts

The server will start and communicate with MCP-compatible AI assistants via standard I/O.

Available Tools

This implementation provides the following tools to AI assistants:

  • get_active_file - Returns the content of the currently active file
  • delete_active_file - Deletes the currently active file
  • insert_active_file - Modifies content relative to a heading, block reference, or frontmatter field
  • append_active_file - Appends content to the end of the active file
  • open_file - Opens a specific file in Obsidian
  • search_simple - Searches for documents matching a text query
  • list_files - Lists files in the root directory of your vault
  • list_directory_files - Lists files in a specific directory of your vault

Development

Project Structure

mcp-obsidian/
├── src/
│   ├── index.ts            # Main server implementation
│   └── tools/              # Individual tool implementations
│       ├── get-active-file.ts
│       ├── delete-active-file.ts
│       └── ...
├── .env                    # Environment configuration
├── package.json            # Project dependencies
└── tsconfig.json           # TypeScript configuration

Adding New Tools

To add a new tool:

  1. Create a new file in the src/tools/ directory
  2. Implement the tool using the MCP SDK
  3. Import and register the tool in src/index.ts

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.