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

gregkonush
Quick Info
Actions
Tags
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
Add to cursor
Place your secret in .env file
Choose command MCP and then enter this command
bun __REPO_PATH__/src/index.ts
Installation
Clone this repository:
git clone https://github.com/gregkonush/mcp-obsidian.git cd mcp-obsidian
Install dependencies:
bun install
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 filedelete_active_file
- Deletes the currently active fileinsert_active_file
- Modifies content relative to a heading, block reference, or frontmatter fieldappend_active_file
- Appends content to the end of the active fileopen_file
- Opens a specific file in Obsidiansearch_simple
- Searches for documents matching a text querylist_files
- Lists files in the root directory of your vaultlist_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:
- Create a new file in the
src/tools/
directory - Implement the tool using the MCP SDK
- 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.