nix-logseq-git-flake

使用说明内容(Markdown格式)

项目简介

nix-logseq-git-flake 通过 Nix Flake 打包提供了 Logseq Desktop 与 Logseq CLI(用于数据库图管理与 MCP 服务器)的组合,其中日志与图管理工具包含一个 MCP 服务器实现,能够以 JSON-RPC 方式向 LLM 客户端提供资源访问、工具执行和 Prompt 渲染等能力。服务器支持 HTTP 传输(默认端口 12315)以及 STDIO 传输,方便集成到 Claude Desktop/Code 等环境。

主要功能点

  • MCP 服务器能力:处理 JSON-RPC 请求与响应,提供上下文服务、资源访问、工具执行、Prompts 获取与渲染等。
  • 资源管理:提供对本地图、节点、标签、属性等资源的读取、查询和导出等能力。
  • 工具注册与执行:注册可调用的外部工具(如 listPages、getPage、listTags、listProperties、searchBlocks、upsertNodes 等),供 LLM 调用。
  • Prompt 定义与渲染:支持获取与渲染提示模板以引导对话。
  • 双传输模式:HTTP 传输(默认,便于与多种客户端对接)和 STDIO 传输(适配 Claude Desktop/Code 等开发环境)。
  • 会话与能力声明:服务器端维护会话状态与能力信息,支持多种工作模式。
  • 与 Claude 集成:提供 Claude 桌面和代码端的配置示例,便于将 MCP 服务器接入到相关 AI 助手中。
  • 易于安装与使用:随 README 提供的指令通过 Nix 构建与运行。

安装步骤

  • 使用 Nix 直接运行(不需安装系统依赖):
    • nix run github:Bad3r/nix-logseq-git-flake#logseq
    • nix run github:Bad3r/nix-logseq-git-flake#logseq-cli -- --help
  • 运行 MCP 服务器(在已有 Graph 的前提下):
    • 通过命令启动:logseq-cli mcp-server -g MyGraph
    • 通过 STDIO 启动(适配 Claude 等环境):logseq-cli mcp-server -g MyGraph -s

服务器配置(给 MCP 客户端的配置信息示例)

以下为示例配置字段,实际使用请按需替换 Graph 名称等参数。服务器名称用于客户端识别,command 为启动 MCP 服务器的二进制或脚本,args 为启动参数。默认 HTTP 传输端口为 12315;若使用 STDIO 传输则使用 -s 选项。 { "serverName": "logseq", "command": "logseq-cli", "args": ["mcp-server", "-g", "MyGraph", "-s"], // 若使用 HTTP 传输则移除 -s,改为 HTTP 传输模式 "transport": "http", // 取值可选: "http" 或 "stdio" "port": 12315, // HTTP 默认端口 "graph": "MyGraph" // 关联的 Logseq 图谱名称 }

注释:以上信息用于 MCP 客户端在启动时定位服务、指定数据图谱与传输方式;客户端本身不需要了解内部实现细节。 (参考 README 的使用方式,实际应用中请将 MyGraph 替换为你实际的图谱名)

基本使用方法

  • 启动方式:
    • 使用 HTTP 传输:logseq-cli mcp-server -g MyGraph
    • 使用 STDIO 传输:logseq-cli mcp-server -g MyGraph -s
  • 客户端对接要点:
    • 客户端需要指定服务器名称、启动命令和参数,以建立 JSON-RPC 的请求/响应流程。
    • MCP 工具(如 listPages、getPage、listTags、listProperties、searchBlocks、upsertNodes)将通过 RPC 调用提供给 LLM 使用。
  • 集成示例来源:
    • Claude Desktop/Code 等环境可以在配置中指向上述命令与参数,以便在 GUI 或代码环境中直接启动 MCP 服务。
    • 第一次运行会下载必要的 ClojureScript 依赖,缓存位置为 $XDG_CACHE_HOME/logseq-cli/nbb/,之后再次启动会更快。

服务器信息