README
🚀 Obsidian MCP (模型上下文协议) 服务器
该项目实现了一个 Model Context Protocol (MCP) 服务器,用于连接 AI 模型与 Obsidian 知识库。借助此服务器,AI 模型能够读取、创建、更新和删除笔记,还能管理文件夹并进行全文搜索。
🚀 快速开始
本项目可连接 AI 模型与 Obsidian 知识库,让 AI 模型对笔记和文件夹进行多种操作,如读取、创建、更新、删除笔记,管理文件夹及全文搜索。
✨ 主要特性
- 支持 AI 模型对 Obsidian 知识库中的笔记进行读取、创建、更新和删除操作。
- 能够管理文件夹,包括创建、重命名、移动和删除操作。
- 提供全文搜索功能,方便在知识库中查找内容。
📦 安装指南
先决条件
- Node.js v16 或更高版本
- 安装了 Obsidian 桌面应用程序
- 已安装并配置好 Obsidian Local REST API 插件
安装步骤
- 克隆仓库
使用以下命令将项目仓库克隆到本地:git clone https://github.com/yourusername/obsidian-mcp-server.git - 安装依赖项
进入项目目录后,运行以下命令以安装所需的依赖项:npm install - 构建项目
安装完成后,运行以下命令进行构建:npm run build
🔧 配置
项目的配置通过环境变量完成。以下是需要设置的关键环境变量:
VAULT_PATH:Obsidian 知识库的存储路径。API_KEY:Obsidian Local REST API 的访问令牌。PORT:服务器运行的端口号,默认为 3000。
示例 .env 文件如下:
VAULT_PATH=/path/to/obsidian-vault
API_KEY=your_api_key_here
PORT=3000
⚠️ 重要提示
请勿将包含敏感信息的
.env文件提交到版本控制系统中。
💻 使用示例
直接运行
在项目根目录下,运行以下命令启动服务器:
npm start
使用 Docker 部署
如果您已经构建了 Docker 镜像,可以使用以下命令启动容器:
docker run -it --env-file .env yourusername/obsidian-mcp-server
📚 详细文档
支持的工具
MCP 服务器提供以下功能模块:
list_notes:列出知识库中的所有笔记。read_note:读取指定笔记的内容。create_note:创建新笔记。update_note:更新现有笔记内容。search_vault:在知识库中搜索内容。delete_note:删除指定笔记。manage_folder:管理文件夹(包括创建、重命名、移动和删除操作)。
开发
开发模式
使用以下命令以开发模式运行服务器:
npm run dev
源代码结构
源代码位于 src 目录中。主要文件包括:
server.js:主服务器入口文件。notes.js和folders.js:处理笔记和文件夹操作的业务逻辑文件。
测试
项目提供了一个测试脚本,用于验证服务器功能:
node test-mcp.js
📄 许可证
ISC
🤝 贡献
欢迎提交 Pull Requests 和 Issues!我们非常感谢您的贡献。
🔗 相关项目
- Model Context Protocol:模型上下文协议的官方实现。
- Obsidian Local REST API:用于与 Obsidian 知识库进行交互的本地REST API插件。
Scan to contact