README
🚀 Logseq MCP 工具
本项目提供了一套模型上下文协议(MCP)工具,可让 AI 代理与你的本地 Logseq 实例进行交互。
🚀 快速开始
📦 安装指南
- 确保你已安装 Python 3.11 或更高版本。
- 克隆此仓库。
- 安装依赖项:
pip install -e .
🔧 配置步骤
-
确保你的 Logseq 已启用 API:
- 在 Logseq 中,转到“设置”>“高级”>“开发者模式”,启用开发者模式。
- 然后,转到“插件”,开启 Logseq 开发者插件。
- 同时在高级设置中设置一个 API 令牌。
- 重启 Logseq。
-
在你的 Cursor MCP 配置文件(通常位于
~/.cursor/mcp.json)中配置 MCP 服务器:
{
"mcpServers": {
"logseq": {
"command": "/opt/homebrew/bin/uvx",
"args": ["logseq-mcp"],
"env": {
"LOGSEQ_API_URL": "http://localhost:12315",
"LOGSEQ_TOKEN": "your-token-here"
}
}
}
}
或者
- 配置 Claude Code 以使用 MCP 服务器:
claude mcp add
- 选择作用域。
- 选择 Stdio。
- 输入
LOGSEQ_API_URL=http://localhost:12315 LOGSEQ_TOKEN=your-token-here /opt/homebrew/bin/uvx logseq-mcp
💻 使用示例
与 Cursor 和 Claude 配合使用
添加到 Cursor 的 MCP 工具
- 按照上述“配置步骤”部分所示配置 MCP 服务器。
- 打开 Cursor 并转到 MCP 面板(侧边栏)。
- Logseq 工具应会出现在你可用工具列表中。
与 Claude 配合使用
在 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 中的日志页面有特定的格式和属性:
- 创建或访问日志页面时,使用“mmm dth, yyyy”格式(例如,“Apr 4th, 2025”)。
- 日志页面会由 Logseq 自动进行日期格式设置。
- 日志页面具有由 Logseq 自动设置的特殊属性:
journal?:true - 表示这是一个日志页面。journalDay:YYYYMMDD - 以数字格式表示的日期(例如,20250404 表示 2025 年 4 月 4 日)。
- 示例:
await logseq.create_page("Apr 4th, 2025")
重要提示:你无需手动设置 journal? 或 journalDay 属性。只需以正确的日期格式创建页面,Logseq 会自动将其配置为具有相应属性的日志页面。
块结构和格式
Logseq 中的块有一些重要特性需要了解:
- 自动项目符号:所有块在 Logseq 用户界面中都会自动呈现为项目符号。
- 页面链接:使用双方括号创建链接:
[[页面名称]]。 - 层次结构块:
- 块结构数据包含层次信息:
parent:父块的 ID。level:缩进级别(1 表示顶级,2 及以上表示缩进块)。left:左侧的块(通常是缩进块的父块)。
- 块结构数据包含层次信息:
- 块内容:创建块时,你可以包含文本格式:
- 支持基本的 Markdown 格式(粗体、斜体等)。
- 块内的项目符号支持可能有限。
- 支持多行内容,但可能受 Logseq 解析规则的限制。
- 日志块:在日志页面中创建的块会继承特殊属性:
journal?:true。journalDay:YYYYMMDD - 与日志页面相同。
注意:与日志页面一样,这些块属性由 Logseq 自动处理。在日志页面上创建块时,你无需手动设置 journal? 或 journalDay 属性。
常见任务的示例用法
与 Cursor 代理协作: 当你在 Cursor 中配置了 Logseq MCP 工具后,你可以向代理提供如下提示:
- “创建一个名为‘会议记录’的新页面,并为今天的议程添加项目符号”
- “将今天的任务添加到我的日志页面的‘任务’部分”
- “用 [[项目计划]] 更新今天的日志条目,并将其子元素设置为‘完成里程碑 1’”
- “在我的图谱中搜索关于‘Python 项目’的块,并将它们整理到一个新页面上”
代理将使用相应的 Logseq 工具在你的图谱上执行这些操作。
由 Modl 托管,Modl 团队的任何提交或更改都是为了确保兼容性
Scan to contact