LogSeq知识图谱API服务器

一个为LogSeq提供HTTP API访问的MCP服务器,使AI助手能够与LogSeq知识图谱进行交互,支持页面管理、块操作、搜索查询等功能。

  • by jimsynz
  • Rust
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 jimsynz/logseq-mcp-server

使用说明

🗃️ LogSeq MCP服务器

模型上下文协议(MCP)服务器,提供对LogSeq的HTTP API的全面访问,使Claude等人工智能助手能够与您的LogSeq知识图进行交互。 ✨

📋 概述

该服务器通过将LogSeq的HTTP API公开为MCP工具来桥接LogSeq和MCP客户端。它允许AI助手:

  • 📖 读取和创建页面和块
  • 🔍 搜索您的知识图谱
  • 🗄️ 执行强大的Datascript查询
  • ⚙️ 访问图元数据和配置

该服务器与LogSeq内置的HTTP API服务器通信,该服务器与您的LogSeq应用程序一起在本地运行。 🖥️

📦 安装

使用Cargo直接从Git存储库安装:

cargo install --locked --git https://harton.dev/james/logseq-mcp-server.git logseq-mcp-server

🛠️ 设置

1.🔧 启用LogSeq HTTP API

分步说明:

  1. 打开LogSeq设置 📱

    • 在您的计算机上启动LogSeq
    • 点击 设置 图标(通常在右上角)
  2. 导航到功能 🎛️

    • 在“设置”菜单中,找到并单击 特性
    • 这将打开功能配置面板
  3. 启用HTTP API服务器 🌐

    • 寻找 “HTTP API服务器” 在功能列表中
    • 将开关切换到 启用 HTTP API服务器
    • 启用后,服务器将自动启动
  4. 配置授权令牌 🔑

    • 启用API服务器后,需要设置身份验证
    • 寻找 “授权令牌” API设置中的部分
    • 点击 “添加新令牌”
    • 填写代币详细信息:
      • 名字: logseq-mcp-server (或任何描述性名称)
      • 价值:生成安全随机字符串(例如。, mcp-token-abc123def456)
    • 保存 令牌配置
  5. 配置自动启动(推荐) 🚀

    • 在 “服务器配置” 章节
    • 启用 “应用程序启动后自动启动服务器”
    • 点击 “保存并应用”
  6. 启动服务器 ▶️

    • 如果未启用自动启动,请手动启动服务器
    • 寻找 “启动服务器” API面板中的按钮
    • 服务器通常运行在 http://localhost:12315

💡 专业提示:确保您的授权令牌安全且私密。它允许访问您的整个LogSeq图!

2.🔐 配置环境变量

服务器需要以下环境变量:

export LOGSEQ_API_URL="http://localhost:12315"  # Default LogSeq API URL
export LOGSEQ_API_TOKEN="your-api-token-here"  # Token from LogSeq settings

3.🤖 配置Claude桌面

将服务器添加到您的 claude_desktop_config.json:

📍 macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
📍 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "logseq": {
      "command": "logseq-mcp-server",
      "env": {
        "LOGSEQ_API_URL": "http://localhost:12315",
        "LOGSEQ_API_TOKEN": "your-api-token-here"
      }
    }
  }
}

4.🧪 测试您的连接

测试API连接和身份验证是否正常工作:

logseq-mcp-server --check

如果成功,您将看到:

✓ Connection successful! Found X pages in LogSeq.

如果有问题,您将看到错误消息以帮助调试问题。

5.🔄 重新启动克劳德桌面

重新启动Claude Desktop以加载新的服务器配置。 🚀

🧰 可用工具

服务器提供13个MCP工具,分为以下几类:

📄 页面管理

  • list_pages 📋 - 列出LogSeq图中的所有页面
  • get_page 📃 - 按名称或UUID获取特定页面信息
  • get_page_content 📝 - 将页面内容格式化为markdown格式
  • create_page ➕ - 创建具有可选属性(标签、模板、别名等)的新页面
  • get_current_page 👁️ - 获取当前活动页面

🧱 区块操作

  • get_block 🟦 - 按UUID获取特定块
  • create_block ✏️ - 插入带有定位选项的新块
  • update_block 📝 - 更新现有块的内容
  • get_current_block 🎯 - 获取当前活动块

🔍 搜索与查询

  • search 🕵️ - 使用LogSeq的内置搜索功能在所有页面上搜索
  • datascript_query 🗄️ - 对LogSeq数据库执行Datascript查询

⚙️ 应用程序信息

  • get_current_graph 🌐 - 获取当前图形的相关信息
  • get_user_configs 👤 - 获取用户配置设置
  • get_state_from_store 💾 - 获取应用程序状态值(主题、UI设置等)

🚀 Claude使用示例

配置后,您可以要求Claude:

"Show me all my pages about machine learning" 🤖
"Create a new page called 'Project Ideas' with the tag 'brainstorming'" 💡
"Search for blocks containing 'TODO' and show me the results" ✅
"What's the current theme setting in my LogSeq?" 🎨
"Execute this Datascript query to find all pages created this week" 📅

🔬 高级:数据脚本查询

使用 datascript_query 强大的数据库查询工具:

# Find all blocks with content
[:find ?e :where [?e :block/content]]

# Find all pages
[:find ?page :where [?page :block/name]]

# Find all TODO/DOING blocks
[:find ?h :where [?h :block/marker]]

# Find blocks referencing a specific page
[:find ?b :where [?b :block/refs ?r] [?r :block/name "Project Ideas"]]

🔧 故障排除

⚠️ 常见问题

  1. “401未经授权” 🚫 - 检查您的API令牌是否正确
  2. “连接被拒绝” 🔌 - 确保LogSeq正在运行并且启用了HTTP API
  3. “找不到方法” ❓ - 验证您使用的是正确的API方法名称

📊 日志记录

服务器记录到stderr。查看详细日志:

RUST_LOG=debug logseq-mcp-server

🧪 MCP检验员测试

您可以使用MCP检查器测试服务器:

npx @modelcontextprotocol/inspector

配置它以使用 logseq-mcp-server 作为命令。

📋 支持的LogSeq API方法

此服务器公开以下已确认工作的LogSeq HTTP API方法:

  • ✅ logseq.Editor.getAllPages
  • ✅ logseq.Editor.getPage
  • ✅ logseq.Editor.getPageBlocksTree
  • ✅ logseq.Editor.createPage
  • ✅ logseq.Editor.getBlock
  • ✅ logseq.Editor.getCurrentPage
  • ✅ logseq.Editor.getCurrentBlock
  • ✅ logseq.Editor.insertBlock
  • ✅ logseq.Editor.updateBlock
  • ✅ logseq.DB.datascriptQuery
  • ✅ logseq.App.getCurrentGraph
  • ✅ logseq.App.getStateFromStore
  • ✅ logseq.App.getUserConfigs

🤝 贡献

这个项目欢迎捐款!请随时:

  • 🐛 报告错误和问题
  • 💡 建议新功能
  • 🔧 提交拉取请求
  • 📚 改进文档

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

👨‍💻 作者

詹姆斯·哈顿 james@harton.nz

🔗 链接

  • 📦 仓库: https://harton.dev/james/logseq-mcp-server
  • 🗃️ LogSeq: https://logseq.com/
  • 🤖 模型上下文协议: https://modelcontextprotocol.io/

Github镜像

此存储库已镜像 在Github上 从它的主要位置 在我的Forgejo实例上请随时在Github上提出问题并打开PR。