https://github.com/IAMLEIzZ/ObsiMCP
A obsidian server for the model context protocol (MCP)
https://github.com/IAMLEIzZ/ObsiMCP
Last synced: about 2 months ago
JSON representation
A obsidian server for the model context protocol (MCP)
- Host: GitHub
- URL: https://github.com/IAMLEIzZ/ObsiMCP
- Owner: IAMLEIzZ
- License: mit
- Created: 2025-04-25T14:43:03.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-05-02T04:34:11.000Z (6 months ago)
- Last Synced: 2025-06-24T00:35:39.270Z (4 months ago)
- Language: Go
- Homepage:
- Size: 24.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - **ObsiMCP** - A obsidian server for the model context protocol (MCP) `go` `mcp` `server` `go install IAMLEIzZ/ObsiMCP@latest` (⚙️ DevOps)
- awesome-mcp-servers - **ObsiMCP** - A obsidian server for the model context protocol (MCP) `go` `mcp` `server` `go install IAMLEIzZ/ObsiMCP@latest` (DevOps)
README
# ObsiMCP
A lightweight, extendable MCP server for automating operations on Obsidian vaults, powered by [mcp-go](https://github.com/mark3labs/mcp-go).
ObsiMCP helps you efficiently manage your Obsidian notes and build your own personal knowledge base.
## ✨ Features
- 📖 **Read a Markdown note**
- 🔍 **Search all notes with the same file name** across the entire vault.
- ✍️ **Write content to an existing note**, supporting both:
- `append` mode (adds to the end)
- `overwrite` mode (replaces the file content)
- 🆕 **Create a new note**
- 🗑️ **Delete a note**
- 📁 **List files and subfolders** within a given folder (non-recursive).
- 🏷 Modify, add, and get the frontmatter in Note
- ...
## 📦 Requirements
- Go 1.20+ (The lower version may work, but I haven't tried it yet.)
- An initialized Obsidian vault directory
## 🚀 Getting Started
```bash
git clone https://github.com/IAMLEIzZ/ObsiMCP.git
cd ObsiMCP
go build -o main main.go
```
Configure your `vault` path via the config/config.yaml file or environment variable as needed.
```
vault:
path: "your osbidian vault path"
```
### ⚠️ The BackUpDir Config
**To protect your files, you must set up a backup folder. When you use mcp-server to overwrite or delete, a backup file will be automatically generated to prevent your AI assistant from unstable operation.** (You can manually delete outdated backup files regularly, and we will consider adding an automatic deletion function later.)
```
backup:
path: "your backup dir"
```
## 🧠 Use Cases
- Build agents or copilots that understand and modify your notes.
- Integrate with Obsidian from external apps or LLMs.
- Automate note maintenance, renaming, or content updates.
For example, in deepchat you can start it like this (Please open the file read and write permissions at the same time)
```
{
"mcpServers": {
"ObsiMCP": {
"command": "Your The absolute path to your main executable",
"args": [],
"shell": false,
"env": {}
}
}
}
```
## 🛠 Example Tool Definitions
Each tool in the MCP server corresponds to an operation:
| Tool Name | Description |
|-----------------------------|----------------------------------------------------|
| `ReadNote` | Reads content from a given Markdown file. |
| `GetNote` | Finds all notes in the vault with a matching name. |
| `WriteNote` | Appends or overwrites content in an existing note. |
| `CreateANote` | Creates a new note without initial content. |
| `DeleteNote` | Deletes a note by its name and backup it. |
| `GetNoteList` | Lists files and subfolders in a given folder. |
| `MoveOneNote` | Move a note to another folder. |
| `GetNoteList` | Lists files and subfolders in a given folder. |
| `FindAllFolderByName` | Find all folders with the same name in the vault according to the folder name. |
| `CreateFolder` | Delete a folder with folder name. |
| `GetNoteFrontmatter` | Get a note frontmatter information |
| `AddFrontmatter` | Add frontmatter information to a note |
| `GetNotetags` | Add tags to a note |
| ... | ... |
## 🔗 References
- [mcp-go](https://github.com/mark3labs/mcp-go)
## 📄 License
```
MIT License. Feel free to use, modify, and contribute!
```