项目简介

Obsidian CLI MCP 服务器是一个命令行工具,用于与您的 Obsidian 笔记库进行交互,并通过 Model Context Protocol (MCP) 标准集成 AI 助手。它将 Obsidian 笔记库的各项操作(如笔记创建、查询、内容读取、信息获取)封装为 AI 助手可调用的工具,从而实现 AI 助手对笔记库内容的理解和操作。

主要功能点

  • 笔记管理: AI 助手可以创建新笔记、搜索现有笔记、读取笔记内容。
  • 笔记库信息: AI 助手可以获取关于整个 Obsidian 笔记库的统计信息和配置详情。
  • AI 助手集成: 通过标准化的 MCP 协议,任何兼容 MCP 的 AI 客户端(如 Claude Desktop)都可以无缝地与您的 Obsidian 笔记库进行交互。

安装步骤

  1. 安装 Python 环境: 确保您的系统已安装 Python 3.8 或更高版本。
  2. 安装 Obsidian CLI 及 MCP 依赖: 打开终端或命令行界面,运行以下命令安装 'obsidian-cli' 及其 MCP 依赖:
    pip install "obsidian-cli[mcp]"
    如果您已经安装了 'obsidian-cli',可以运行 'pip install "mcp"' 单独安装 MCP 依赖。

服务器配置

MCP 客户端需要知道如何启动 'obsidian-cli' MCP 服务器并与之通信。以下是 MCP 客户端配置该服务器的 JSON 格式示例:

{
  "server_name": "obsidian-vault",
  "description": "管理和查询 Obsidian 笔记库的 MCP 服务器",
  "command": "obsidian-cli",
  "args": [
    "--vault",
    "/path/to/your/obsidian/vault",
    "serve"
  ],
  "env": {
    "OBSIDIAN_BLACKLIST": "Assets/:.obsidian/:.git/",
    "EDITOR": "vi"
  },
  "capabilities": {
    "tools": {
      "enabled": true
    }
  },
  "tools_list": [
    {
      "name": "create_note",
      "description": "在 Obsidian 笔记库中创建新笔记",
      "inputSchema": {
        "type": "object",
        "properties": {
          "filename": {"type": "string", "description": "笔记文件名"},
          "content": {"type": "string", "description": "初始内容", "default": ""},
          "force": {"type": "boolean", "description": "如果笔记已存在则覆盖", "default": false}
        },
        "required": ["filename"]
      }
    },
    {
      "name": "find_notes",
      "description": "按名称或标题查找笔记",
      "inputSchema": {
        "type": "object",
        "properties": {
          "term": {"type": "string", "description": "搜索词"},
          "exact": {"type": "boolean", "description": "只进行精确匹配", "default": false}
        },
        "required": ["term"]
      }
    },
    {
      "name": "get_note_content",
      "description": "获取指定笔记的内容",
      "inputSchema": {
        "type": "object",
        "properties": {
          "filename": {"type": "string", "description": "笔记文件名"},
          "show_frontmatter": {"type": "boolean", "description": "包含 YAML Frontmatter", "default": false}
        },
        "required": ["filename"]
      }
    },
    {
      "name": "get_vault_info",
      "description": "获取 Obsidian 笔记库的信息",
      "inputSchema": {"type": "object", "properties": {}, "required": []}
    }
  ]
}

配置参数说明:

  • 'server_name': 服务器的唯一标识符。
  • 'description': 服务器功能的简要描述。
  • 'command': 启动服务器的可执行命令,通常是 'obsidian-cli'。
  • 'args': 传递给 'command' 的参数列表。
    • '--vault /path/to/your/obsidian/vault': 必需。 指定您的 Obsidian 笔记库的绝对路径。请务必将其替换为您的实际路径。
    • 'serve': 启动 MCP 服务器的核心命令。
  • 'env': 服务器运行时的环境变量。
    • 'OBSIDIAN_BLACKLIST': 可选。一个冒号分隔的目录模式列表(例如 'Assets/:.obsidian/:.git/'),在笔记库操作时将被忽略。
    • 'EDITOR': 可选。用于编辑文件的命令行编辑器路径(例如 'vi', 'nano', '/usr/bin/code')。
  • 'capabilities': 声明服务器支持的能力,例如工具调用。
  • 'tools_list': 服务器暴露给 AI 助手使用的工具列表,每个工具都包含名称、描述和详细的输入参数 Schema。

基本使用方法

  1. 启动 MCP 服务器: 在终端中导航到任何位置,运行以下命令。请将 '/path/to/your/obsidian/vault' 替换为您的 Obsidian 笔记库的实际路径:
    obsidian-cli --vault /path/to/your/obsidian/vault serve
    服务器启动后会一直运行,直到您按下 'Ctrl+C' 中断它。
  2. AI 助手连接: 服务器启动后,您的 AI 助手或其他 MCP 客户端即可根据上述配置连接到此服务器,并开始通过暴露的工具与您的 Obsidian 笔记库进行交互。具体的连接和工具调用方式请参考您的 AI 助手或 MCP 客户端的文档。
  3. 停止服务器: 在运行服务器的终端中按下 'Ctrl+C' 即可停止服务器。

信息

分类

生产力应用