项目简介

'easy-obsidian-mcp' 是一个基于 Model Context Protocol (MCP) 的服务器,旨在连接语言模型 (LLM) 客户端与 Obsidian 知识库。它通过 Obsidian Local REST API 插件,允许 LLM 访问和操作 Obsidian 中的笔记数据,从而扩展 LLM 的上下文理解能力。

主要功能点

  • 搜索笔记: 支持在 Obsidian 知识库中进行关键词搜索,快速查找相关信息。
  • Dataview 查询: 支持使用 Dataview 查询语言 (DQL) 从 Obsidian 知识库中检索结构化数据,例如笔记列表、标签、链接等,实现更高级的信息提取和分析。

安装步骤

  1. 安装 Node.js 和 npm: 确保您的计算机上已安装 Node.js 和 npm (Node.js 包管理器)。您可以从 nodejs.org 下载并安装。
  2. 安装 Obsidian: 确保您已安装 Obsidian 应用程序,并且您的知识库已设置完成。
  3. 安装并启用 Obsidian Local REST API 插件:
    • 打开 Obsidian。
    • 进入 '设置' -> '社区插件'。
    • 确保 '限制模式' 关闭
    • 点击 '浏览' 并搜索 'Local REST API'。
    • 安装并启用该插件。
    • 前往插件设置 ('Obsidian 设置' -> 'Local REST API')。
    • 复制显示的 'API Key',您将在后续步骤中使用。
  4. 创建 MCP 服务器项目:
    • 打开终端或命令提示符。
    • 运行命令 'npx create-easy-obsidian-mcp'
    • 按照提示操作,选择要创建服务器的项目目录,并输入您在步骤 3 中复制的 Obsidian API 密钥。
  5. 安装依赖并编译: 'create-easy-obsidian-mcp' 脚本会自动完成依赖安装和编译。如果遇到问题,请手动进入项目目录(在步骤 4 中选择的目录)并运行以下命令:
    npm install
    npm run build

服务器配置

MCP 客户端(如 Cursor, Claude 等)需要配置以下 JSON 格式的信息才能连接到 'easy-obsidian-mcp' 服务器。配置时,请将 '<your_obsidian_api_key>' 替换为您在 Obsidian Local REST API 插件中获得的 API 密钥。

{
  "server name": "easy-obsidian-mcp",  // 您可以自定义服务器名称
  "command": "node",
  "args": [
    "./dist/index.js",       // 服务器启动入口文件路径
    "--apiKey",              // API 密钥参数
    "<your_obsidian_api_key>" // 替换为您的 Obsidian API 密钥
  ]
}
  • 'server name': 服务器的名称,用于在 MCP 客户端中标识和管理连接,您可以自定义设置。
  • 'command': 启动 MCP 服务器的命令,这里指定使用 Node.js 运行。
  • 'args': 传递给启动命令的参数列表。
    • './dist/index.js': 指向编译后的服务器入口文件。
    • '--apiKey': 指定 Obsidian Local REST API 的密钥。
    • '<your_obsidian_api_key>': 请务必替换为您的 Obsidian API 密钥,这是服务器连接到您的 Obsidian 知识库所必需的凭证。

基本使用方法

  1. 启动 MCP 服务器: 按照上述“服务器配置”在 MCP 客户端中完成配置后,客户端通常会自动或手动启动 MCP 服务器。
  2. 在 LLM 中使用工具: 在支持 MCP 协议的 LLM 客户端中,您可以使用自然语言指令来指示 LLM 使用 'easy-obsidian-mcp' 服务器提供的工具。例如:
    • 搜索笔记: 您可以指示 LLM 使用 'obsidian_simple_search' 工具搜索特定关键词,例如 "请使用 'obsidian_simple_search' 工具搜索关于人工智能的笔记"。
    • Dataview 查询: 您可以指示 LLM 使用 'obsidian_dataview_search' 工具执行 Dataview 查询,例如 "请使用 'obsidian_dataview_search' 工具查询最近修改的 5 篇笔记"。

LLM 客户端会将您的指令转换为对 MCP 服务器工具的调用,服务器会执行相应的操作并返回结果,LLM 客户端会将结果整合到回复中,从而实现 LLM 与您的 Obsidian 知识库的互动。

信息

分类

生产力应用