Obsidian
Integrates with
Obsidian
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.