Logseq MCP工具集

提供一套模型上下文协议工具,使AI代理能够与本地Logseq实例进行交互。

  • by apw124
  • Python
  • 本地部署
  • 15 星标
  • 更新于
在 GitHub 查看 apw124/logseq-mcp

使用说明

Logseq MCP工具

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

安装

  1. 确保您已安装Python 3.11+
  2. 克隆此存储库
  3. 安装依赖项:
    pip install -e .
    

设置

  1. 请确保您的Logseq已启用API。

    • 在Logseq中,转到设置>高级>开发人员模式>启用开发人员模式
    • 然后,转到插件>打开Logseq开发人员插件
    • 同时在高级设置中设置API令牌
    • 重新启动Logseq
  2. 在Cursor MCP配置文件中配置MCP服务器(通常在 ~/.cursor/mcp.json):

    {
      "mcpServers": {
        "logseq": {
          "command": "/opt/homebrew/bin/uvx",
          "args": ["logseq-mcp"],
          "env": {
            "LOGSEQ_API_URL": "http://localhost:12315",
            "LOGSEQ_TOKEN": "your-token-here"
          }
        }
      }
    }
    

或

  1. 配置Claude Code以使用MCP服务器:
claude mcp add
  • 选择范围
  • 选择标准
  • LOGSEQ_API_URL=http://localhost:12315 LOGSEQ_TOKEN=your-token-here /opt/homebrew/bin/uvx logseq-mcp

使用Cursor和Claude

添加到Cursor的MCP工具

  1. 如上文“设置”部分所示配置MCP服务器

  2. 打开光标并转到MCP面板(侧栏)

  3. Logseq工具应出现在可用工具列表中

与克劳德一起使用

在Cursor中使用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”格式(例如“2025年4月4日”)
  2. 日志页面由Logseq自动格式化,并带有适当的日期
  3. 日志页面具有由Logseq自动设置的特殊属性:
    • journal?:true-表示这是日记页
    • journalDay:YYYYMMDD-数字格式的日期(例如,2025年4月4日为20250404)
  4. 例子: await logseq.create_page("Apr 4th, 2025")

重要提示: 您不需要手动设置 journal? 或 journalDay 属性。只需创建一个具有正确日期格式的页面(例如“2025年4月4日”),就会自动将其配置为具有适当属性的日记页面。

块结构和格式

Logseq中的块有一些重要的特征需要理解:

  1. 自动子弹:所有块在Logseq UI中自动呈现为项目符号点

  2. 页面链接:使用双括号创建链接: [[Page Name]]

  3. 分层块:

    • 块结构数据包含层次信息:
      • parent:父块的ID
      • level:缩进级别(顶层为1,缩进块为2+)
      • left:左侧的块(通常是缩进块的父块)
  4. 阻止内容:创建块时,可以包含文本格式:

    • 支持基本Markdown(粗体、斜体等)
    • 块内的子弹点可能支持有限
    • 支持多行内容,但可能受Logseq解析规则的约束
  5. 日志块:日志页面中创建的块继承特殊属性:

    • journal?:true
    • journalDay:YYYYMMDD-与日记页面相同

注: 与日志页面一样,这些块属性由Logseq自动处理。您不需要手动设置 journal? 或 journalDay 在日记页面上创建块时的属性。

常见任务的示例用法

使用Cursor代理: 当您在Cursor中配置了Logseq MCP工具时,您可以向代理发出如下提示:

  • “创建一个名为“会议笔记”的新页面,其中包含今天议程的要点”
  • “用‘任务’部分将今天的任务添加到我的日记页面”
  • “用[[项目计划]]更新今天的日记账条目,将其子元素设置为‘已完成的里程碑1’”
  • “在我的图表中搜索有关‘python项目’的块,并将其组织在新页面上”

代理将使用适当的Logseq工具在您的图上执行这些操作。