Back to MCP directory
publicPublicdnsLocal runtime

obsidian-mcp-local-server

实现Obsidian与AI模型连接的MCP服务器

article

README

🚀 Obsidian MCP (模型上下文协议) 服务器

该项目实现了一个 Model Context Protocol (MCP) 服务器,用于连接 AI 模型与 Obsidian 知识库。借助此服务器,AI 模型能够读取、创建、更新和删除笔记,还能管理文件夹并进行全文搜索。

🚀 快速开始

本项目可连接 AI 模型与 Obsidian 知识库,让 AI 模型对笔记和文件夹进行多种操作,如读取、创建、更新、删除笔记,管理文件夹及全文搜索。

✨ 主要特性

  • 支持 AI 模型对 Obsidian 知识库中的笔记进行读取、创建、更新和删除操作。
  • 能够管理文件夹,包括创建、重命名、移动和删除操作。
  • 提供全文搜索功能,方便在知识库中查找内容。

📦 安装指南

先决条件

  • Node.js v16 或更高版本
  • 安装了 Obsidian 桌面应用程序
  • 已安装并配置好 Obsidian Local REST API 插件

安装步骤

  1. 克隆仓库
    使用以下命令将项目仓库克隆到本地:
    git clone https://github.com/yourusername/obsidian-mcp-server.git
    
  2. 安装依赖项
    进入项目目录后,运行以下命令以安装所需的依赖项:
    npm install
    
  3. 构建项目
    安装完成后,运行以下命令进行构建:
    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.jsfolders.js:处理笔记和文件夹操作的业务逻辑文件。

测试

项目提供了一个测试脚本,用于验证服务器功能:

node test-mcp.js

📄 许可证

ISC

🤝 贡献

欢迎提交 Pull Requests 和 Issues!我们非常感谢您的贡献。

🔗 相关项目

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client