Back to MCP directory
publicPublicdnsLocal runtime

Obsidian Notes

一个轻量级的MCP服务器,实现AI助手与Obsidian知识库的读写交互

article

README

🚀 Obsidian MCP 服务器

Obsidian MCP 服务器是一个轻量级的 模型上下文协议 (MCP) 服务器,它能让 AI 助手(如 Cursor 和 Claude)读取和写入您的 Obsidian 笔记 vault,为笔记管理带来更多便利。

🚀 快速开始

示例交互

  • "创建一个新笔记,描述我今天所做的代码更改,并安排明天的站会"(还应使用 Git)
  • "检查我的项目创意相关笔记"
  • "查看我与重构相关的待办事项"

✨ 主要特性

工具

读取

  1. getAllFilenames
    • 功能:获取 Obsidian 笔记 vault 中所有文件的文件名列表,方便发现可用文件。
  2. readMultipleFiles
    • 功能:从 Obsidian 笔记 vault 中检索指定文件的内容。
    • 匹配方式:支持精确文件名、部分文件名或不区分大小写的匹配。
    • 内容标识:每个文件的内容前会添加 '# 文件:filename' 以明确标识。
  3. getOpenTodos
    • 功能:检索 Obsidian 笔记 vault 中所有未完成的 TODO 项。
    • 查找规则:查找未标记的 checkbox 项目(包含 '- [ ] ' 的行)。
    • 返回信息:返回时附带其文件位置。

写入

  1. updateFileContent
    • 功能:使用新的 Markdown 内容更新指定文件在 Obsidian 笔记 vault 中的内容。
    • 文件处理:如果文件不存在,则会自动创建,并自动创建任何必要的目录。

📦 安装指南

npm install obsidian-mcp-server
npm run build

💻 使用示例

与 Claude Desktop 和 Cursor 集成

Claude Desktop

要将您的 MCP 服务器与 Claude Desktop 一起使用,请将其添加到您的 Claude 配置中:

{
  "mcpServers": {
    "obsidian": {
      "command": "node",
      "args": [
        "obsidian-mcp-server/build/index.js",
        "/path/to/your/vault"
      ]
    }
  }
}

Cursor

对于 Cursor,请转到 MCP 标签 Cursor 设置(按 Command + Shift + J)。添加一个服务器,使用以下命令:

node obsidian-mcp-server/build/index.js /path/to/your/vault

📚 详细文档

与其他解决方案的比较

尽管此实现故意保持轻量级,但其他解决方案如 jacksteamdev/obsidian-mcp-tools 提供了更功能丰富的 Obsidian 插件。此独立服务器的优势在于可以直接访问文件系统,而无需运行 Obsidian 应用程序。

📄 资源

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