Obsidian MCP

by newtype-01
Verified
# Obsidian MCP (Model Context Protocol) 服务器 [English](./README.en.md) | 中文 这个项目实现了一个 Model Context Protocol (MCP) 服务器用于连接 AI 模型与 Obsidian 知识库通过这个服务器AI 模型可以直接访问和操作 Obsidian 笔记包括读取创建更新和删除笔记以及管理文件夹结构 ## 功能特点 - Obsidian 知识库的无缝集成 - 支持笔记的读取创建更新和删除 - 支持文件夹的创建重命名移动和删除 - 支持全文搜索功能 - 符合 Model Context Protocol 规范 ## 前提条件 - Node.js (v16 或更高版本) - Obsidian 桌面应用 - Obsidian Local REST API 插件 (需要在 Obsidian 中安装) ## 安装 1. 克隆此仓库 ```bash git clone https://github.com/newtype-01/obsidian-mcp.git cd obsidian-mcp ``` 2. 安装依赖 ```bash npm install ``` 3. 构建项目 ```bash npm run build ``` ## 配置 服务器通过环境变量进行配置 - `OBSIDIAN_VAULT_PATH`: Obsidian 知识库的路径 - `OBSIDIAN_API_TOKEN`: Obsidian Local REST API 插件的 API 令牌 - `OBSIDIAN_API_PORT`: Obsidian Local REST API 插件的端口号 (默认为 27123) 您可以通过以下方式设置环境变量 1. 复制 `.env.example` 文件为 `.env` 并编辑其中的值 ```bash cp .env.example .env ``` 2. 编辑 `.env` 文件填入您的实际配置 ``` OBSIDIAN_VAULT_PATH=/path/to/your/vault OBSIDIAN_API_TOKEN=your_api_token_here OBSIDIAN_API_PORT=27123 ``` **注意** `.env` 文件包含敏感信息已被添加到 `.gitignore` 不会被提交到版本控制系统 ## 使用方法 1. 确保 Obsidian 正在运行并且已安装和配置了 Local REST API 插件 2. 启动 MCP 服务器 ```bash npm start ``` 3. 服务器将通过标准输入/输出与 AI 模型通信 ## 测试 项目包含一个测试脚本用于验证服务器功能 ```bash node test-mcp.js ``` ## 支持的工具 MCP 服务器提供以下工具 - `list_notes`: 列出知识库中的所有笔记 - `read_note`: 读取指定笔记的内容 - `create_note`: 创建新笔记 - `update_note`: 更新现有笔记 - `search_vault`: 在知识库中搜索内容 - `delete_note`: 删除笔记 - `manage_folder`: 管理文件夹 (创建重命名移动删除) ## 开发 - 使用 `npm run dev` 在开发模式下运行服务器 - 源代码位于 `src` 目录中 ## 许可证 ISC ## 贡献 欢迎提交 Pull Requests Issues ## 相关项目 - [Model Context Protocol](https://github.com/anthropics/model-context-protocol) - [Obsidian Local REST API](https://github.com/coddingtonbear/obsidian-local-rest-api)