logseq-mcp

查看源码
2025-5-11
Words 1151Read Time 3 min
Score:85

提供与Logseq实例交互的MCP服务器,支持AI代理操作Logseq图谱。

Logseq MCP 工具

本项目提供了一套模型上下文协议(Model Context Protocol, MCP)工具,使 AI 代理能够与您的本地 Logseq 实例进行交互。

安装

  1. 确保已安装 Python 3.11 或更高版本
  1. 克隆本仓库
  1. 安装依赖:

    配置

    1. 确保您的 Logseq 已启用 API:
        • 在 Logseq 中,进入 Settings > Advanced > Developer mode,启用开发者模式
        • 然后,进入 Plugins,启用 Logseq 开发者插件
        • 在高级设置中设置 API Token
        • 重启 Logseq
    1. 在 Cursor MCP 配置文件中配置 MCP 服务器(通常位于 ~/.cursor/mcp.json):

      与 Cursor 和 Claude 配合使用

      添加到 Cursor 的 MCP 工具

      1. 按照上述配置部分设置 MCP 服务器
      1. 打开 Cursor,进入 MCP 面板(侧边栏)
      1. Logseq 工具应出现在可用工具列表中

      与 Claude 配合使用

      在 Cursor 中使用 Claude 时,您需要通过类似以下的提示告知 Claude 您拥有 Logseq 工具:
      “您可以访问 Logseq 工具,这些工具可以帮助您与我的 Logseq 图谱进行交互。您可以使用诸如 logseq.get_all_pages()logseq.get_page(name)logseq.create_page(name) 等函数。”

      可用工具

      所有工具均位于 logseq 命名空间下:

      页面

      • logseq.get_all_pages:获取 Logseq 图谱中所有页面的列表
      • logseq.get_page:按名称获取特定页面
      • logseq.create_page:创建新页面
      • logseq.delete_page:删除页面及其所有块

      • logseq.get_page_blocks:获取特定页面的所有块
      • logseq.get_block:按 ID 获取特定块
      • logseq.create_block:在页面上创建新块
      • logseq.insert_block:将块插入为另一个块的子块
      • logseq.update_block:更新现有块
      • logseq.move_block:将块移动到不同位置
      • logseq.remove_block:移除块及其所有子块
      • logseq.search_blocks:搜索匹配查询的块

      使用 Logseq

      日志页面

      Logseq 中的日志页面具有特定的格式和属性:
      1. 创建或访问日志页面时,使用格式 "mmm dth, yyyy"(例如 "Apr 4th, 2025")
      1. 日志页面由 Logseq 自动格式化,带有正确的日期
      1. 日志页面具有 Logseq 自动设置的特殊属性:
          • journal?: true - 表示这是一个日志页面
          • journalDay: YYYYMMDD - 数字格式的日期(例如 20250404 表示 2025 年 4 月 4 日)
      1. 示例:await logseq.create_page("Apr 4th, 2025")
      重要提示: 您无需手动设置 journal?journalDay 属性。只需使用正确的日期格式(例如 "Apr 4th, 2025")创建页面,Logseq 将自动将其配置为日志页面并设置相应的属性。

      块结构与格式化

      Logseq 中的块具有一些重要的特性:
      1. 自动项目符号:所有块在 Logseq UI 中自动呈现为项目符号
      1. 页面链接:使用双括号创建链接:[[Page Name]]
      1. 层级块
          • 块结构数据包含层级信息:
            • parent:父块的 ID
            • level:缩进级别(1 表示顶级,2+ 表示缩进块)
            • left:左侧的块(通常是缩进块的父块)
      1. 块内容:创建块时,可以包含文本格式化:
          • 支持基本的 Markdown(粗体、斜体等)
          • 块内的项目符号支持可能有限
          • 支持多行内容,但可能受 Logseq 解析规则的限制
      1. 日志块:在日志页面中创建的块继承特殊属性:
          • journal?: true
          • journalDay: YYYYMMDD - 与日志页面相同
      注意: 与日志页面类似,这些块属性由 Logseq 自动处理。在日志页面上创建块时,您无需手动设置 journal?journalDay 属性。

      常见任务示例

      与 Cursor 代理配合使用: 当您在 Cursor 中配置了 Logseq MCP 工具后,可以向代理发出类似以下的提示:
      • “创建一个名为 'Meeting Notes' 的新页面,并添加今天议程的项目符号”
      • “将今天的任务添加到我的日志页面,并创建一个 'Tasks' 部分”
      • “更新今天的日志条目,添加 [[Project Plan]],并将其子元素设置为 'Completed milestone 1'”
      • “在我的图谱中搜索关于 'python projects' 的块,并将它们组织到一个新页面上”
      代理将使用适当的 Logseq 工具在您的图谱中执行这些操作。
      上一篇
      Currency_Exchange_MCP
      下一篇
      discord-mcp