项目简介

Logseq API MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为AI助手等MCP客户端提供访问和操作Logseq知识库的能力。它通过标准化接口暴露Logseq的笔记、块、链接等数据,并提供一系列工具来处理这些信息,例如提取闪卡、分析页面结构等,极大地增强了AI与您的Logseq笔记的互动能力。

主要功能点

  • 页面和块访问: AI可以获取所有页面列表,查看特定页面的块结构和详细内容,以及获取某个特定块的完整信息。
  • 知识关系分析: AI可以查找链接到某个页面的所有其他页面,帮助理解知识间的关联。
  • 学习内容提取: 特别优化了闪卡(Flashcards)的提取功能,可以从指定页面及其链入页面中收集和整理闪卡内容。
  • 标准接口: 所有功能都通过MCP协议(基于JSON-RPC)提供,确保与任何兼容MCP的客户端(如Claude Desktop)无缝集成。
  • 丰富数据格式: 提供结构化、易于AI理解的输出格式,包含必要的元数据(如ID、UUID、属性等)。

安装步骤

  1. 准备环境: 确保您的系统安装了 Python 3.11 或更高版本,并安装了 'uv' 包管理器。
  2. 运行 Logseq 并启用 API: 打开 Logseq 应用,进入 '设置 → Features → Developer mode',启用 'HTTP APIs server',记下 API 地址(通常是 'http://127.0.0.1:12315/api')和 API 令牌。
  3. 克隆仓库:
    git clone https://github.com/gustavo-meilus/logseq-api-mcp.git
    cd logseq-api-mcp
  4. 安装依赖:
    uv sync
  5. 配置 API 凭据: 复制 '.env.template' 文件为 '.env',并编辑 '.env' 文件,填入您在 Logseq 中获取的 API 地址和令牌。
    cp .env.template .env
    # 编辑 .env 文件,替换占位符
  6. 启动服务器(测试): 您可以在终端中直接启动服务器进行测试:
    uv run mcp run src/server.py
    服务器启动后,会等待MCP客户端连接。

服务器配置(用于MCP客户端)

MCP服务器通常由MCP客户端启动和管理。您需要在您的MCP客户端(例如支持MCP的AI助手应用)的配置中添加 Logseq MCP 服务器的启动信息。配置信息通常是一个JSON对象,指定服务器的名称、启动命令及其参数、工作目录以及必要的环境变量。

以下是配置时需要提供给MCP客户端的关键信息:

  • 服务器名称 (server name): 您可以自定义一个名称,例如 'logseq-api'。这是客户端内部用于标识此服务器的名称。
  • 启动命令 (command): 启动服务器的可执行文件路径。在此项目中,是 'uv'。
  • 命令参数 (args): 传递给启动命令的参数列表。对于此项目,启动命令和参数组合应类似于 'uv run --directory /path/to/logseq-api-mcp python src/server.py'。您需要将 '/path/to/logseq-api-mcp' 替换为仓库在您本地文件系统中的实际路径。
  • 环境变量 (env): MCP客户端启动服务器时需要设置的环境变量。您需要在此处提供 Logseq API 的地址和令牌,与您在 '.env' 文件中设置的一致。这些环境变量是:
    • 'LOGSEQ_API_ENDPOINT': Logseq API 的完整地址,例如 'http://127.0.0.1:12315/api'。
    • 'LOGSEQ_API_TOKEN': Logseq API 的访问令牌。

请查阅您的MCP客户端文档,了解如何在其界面或配置文件中添加这些服务器信息。配置完成后,客户端将能够启动并连接到此Logseq MCP服务器。

基本使用方法

一旦 Logseq MCP 服务器在您的MCP客户端中配置并成功启动,AI助手将能够发现并调用服务器提供的工具。您可以通过自然语言向AI提出关于您Logseq知识库的问题或请求,例如:

  • “列出我的Logseq中所有的页面。” (调用 'get_all_pages' 工具)
  • “请详细告诉我关于页面 '我的项目' 的内容。” (可能调用 'get_all_page_content' 工具)
  • “分析页面 '深度学习' 并告诉我它的块结构。” (调用 'get_page_blocks' 工具)
  • “提取页面 '学习笔记' 中所有的闪卡。” (调用 'get_linked_flashcards' 工具)

AI助手会根据您的请求,自动选择并调用相应的工具,将Logseq中的信息获取并整合到其回应中。

信息

分类

生产力应用