该项目实现了一个 Model Context Protocol (MCP) 服务器,用于连接 AI 模型与 Obsidian 知识库。借助此服务器,AI 模型能够读取、创建、更新和删除笔记,还能管理文件夹并进行全文搜索。
本项目可连接 AI 模型与 Obsidian 知识库,让 AI 模型对笔记和文件夹进行多种操作,如读取、创建、更新、删除笔记,管理文件夹及全文搜索。
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 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!我们非常感谢您的贡献。