Obsidian
About
Lightweight server for reading, modifying, searching, and navigating Obsidian notes through the Obsidian Local REST API, enabling granular content manipulation across Markdown files.
Details
- Author
- gregkonush
- Repository
- gregkonush/mcp-obsidian
- GitHub stars
- 2
- License
- MIT License
- Categories
- Developer Tools, Design, File Management, AI, Search, API, Infrastructure
Jump to
- 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
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
ObsidianCommand (node, npx, python, etc.)bunArguments-
Argument 1
run -
Argument 2
src/index.ts
Environment-
DEBUG
false -
OBSIDIAN_TOKEN
your_token_here -
OBSIDIAN_BASE_URL
http://localhost:27123
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Start the MCP server:
bun run src/index.ts
The server will start and communicate with MCP-compatible AI assistants via standard I/O.
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
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
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"obsidian": {
"env": {
"DEBUG": "false",
"OBSIDIAN_TOKEN": "your_token_here",
"OBSIDIAN_BASE_URL": "http://localhost:27123"
},
"args": [
"run",
"src/index.ts"
],
"command": "bun"
}
}
}
Linux
{
"env": {
"DEBUG": "false",
"OBSIDIAN_TOKEN": "your_token_here",
"OBSIDIAN_BASE_URL": "http://localhost:27123"
},
"args": [
"run",
"src/index.ts"
],
"command": "bun"
}
Macos
{
"env": {
"DEBUG": "false",
"OBSIDIAN_TOKEN": "your_token_here",
"OBSIDIAN_BASE_URL": "http://localhost:27123"
},
"args": [
"run",
"src/index.ts"
],
"command": "bun"
}
Windows
{
"env": {
"DEBUG": "false",
"OBSIDIAN_TOKEN": "your_token_here",
"OBSIDIAN_BASE_URL": "http://localhost:27123"
},
"args": [
"run",
"src/index.ts"
],
"command": "bun"
}
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 fileChoose 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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





