SuperAPI AI 工具集

LINZA-MCP

LINZA-MCP 是一个本地 MCP 服务器(sidecar),用于让 AI 智能体处理 Markdown 知识库。它读取指定的 Obsidian vault 或 Markdown 文件夹,在 .linza/linza.db 建立本地 SQLite 索引,并向智能体提供工作地图:主题领域、重复出现的材料格式、可能相关的笔记、因果关系链以及可供未来会话使用的记忆候选。LINZA 不会修改原始文件,所有变更(如接受格式命名、写入 YAML)都必须经过用户审核,默认先 dry-run。它支持 Markdown、TXT、JSON、DOCX、XLSX,安装 pypdf 后可读取 PDF;可通过 LM Studio、Ollama 或 OpenAI 兼容端点提供嵌入向量,用于语义搜索、主题地图和关联建议。默认暴露 7 个 MCP 工具,低层工具通过 agent_workspace 访问。项目处于 alpha 阶段,采用 MIT 许可证。

访问官网

工具介绍

LINZA 是一个本地 MCP 服务器,用于智能体(agent)对知识文件夹进行工作。它的定位是“不改变数据,改变视角”。LINZA 适用于 Obsidian vault、Markdown 文件夹、文档、文章、日志和草稿。当材料过多、需要梳理知识库、划分主要领域并让智能体更好地在其中导航时,可以使用它。

主要能力

LINZA 读取选定文件夹,在旁边构建本地 SQLite 数据库 .linza/linza.db,并向智能体提供工作地图,包括:

  • 文件夹地图:找到多少笔记、索引是否最新、可见哪些领域、哪些材料等待审核。
  • 领域:较大的语义分组,其名称在用户接受或重命名前保持为草稿。
  • 材料格式:日志、草稿、规格、研究笔记、案例、规则等重复出现的笔记形式。
  • 关联:可能的邻近关系、层级、因果以及节点之间的路径,并说明为什么相关。
  • 未来智能体的记忆:简短候选,说明该记住什么、何时回忆、什么已过时或可疑。
  • 上下文包:为智能体准备的紧凑上下文,包含来源、关联和边界。

材料格式

“材料格式”是用户对重复笔记形式的命名。LINZA 最初只看到结构(长度、标题、列表、链接、表格、文件夹、重复特征),因此第一个结果可能中性命名为 type-001。用户可以说明“这是日志”,LINZA 便将 type-001 -> 日志 的对应关系保存在 .linza 中。API 内部保留兼容键 material_type、type_name 和 role;外部文档和用户视图使用“格式”。接受格式名称意味着将决定写入 .linza;在 YAML 中写入 role: 日志 只能通过单独的审核提案进行;笔记正文不会改变。

审核流程

LINZA 返回用户可读的提案,每个意图内部保留 ID、证据和待确认数据。好的意图会回答“为什么 LINZA 这样认为”,包含来源、分块、关联类型、置信度以及应用后会发生什么的诚实描述。

自主模型:

  • review_next 以用户可读形式显示提案。
  • 用户接受、重命名或跳过。
  • apply_review_items 先执行 dry-run。
  • 确认后,选中的意图写入 .linza,或在支持时写入紧凑 YAML。
  • teach 选择好的已接受示例。
  • grow 根据这些示例提出相似意图,并解释 selected_rules 为何进入该批次。 如果接受了错误内容,可以温和撤销批准:LINZA 不删除旧记录,也不自动回滚 YAML,而是将批准标记为已撤销,停止将其用作活跃示例,并在历史中留下痕迹。

安装与使用

  1. 安装包。普通安装已足够处理 Markdown、TXT、JSON、DOCX 和 XLSX;[pdf] 额外添加本地 PDF 提取器 pypdf。
  2. 选择文件夹。LINZA 可处理任何 Markdown 文件夹:Obsidian vault、项目工作文件夹或单独文档文件夹。示例中需将 /absolute/path/to/workspace-or-vault 替换为实际路径。
  3. 连接 MCP 客户端。Claude Desktop、Cursor、OpenCode 等 MCP 客户端通常使用标准格式;VS Code / Copilot MCP 使用 servers 键。LINZA_VAULT 不是启动必需,未设置时服务器使用 ./vault,但实际使用建议显式指定文件夹。
  4. 验证启动。连接后让智能体调用相关工具。LINZA 可以在没有嵌入服务器的情况下启动并显示工具;嵌入用于语义搜索、主题地图和关联建议。

最简单的本地嵌入路径是 LM Studio:打开 LM Studio,下载嵌入模型(如 text-embedding-granite-embedding-278m-multilingual、nomic-embed-text-v1.5 或其他合适模型),启动 Local Server,确认端点 http://127.0.0.1:1234/v1 可用。支持的提供方包括 lmstudio(推荐的本地模式)、ollama(通过 Ollama 的本地选项)和 openai(任何带 /embeddings 的 OpenAI 兼容端点)。如果更改提供方、模型或维度,需要完整重建索引;LINZA 会检查嵌入签名,并在 sidecar 过时或包含混合向量空间时停止图/搜索工作流。

MCP 工具

默认 LINZA 只显示 7 个 MCP 工具,足以进行常规工作:检查状态、索引文件夹、搜索、读取文件、查看计数、诊断 vault,并通过 agent_workspace 引导智能体。低层工具被视为实现细节,通过 agent_workspace 访问。开发和审计可使用单独的低层模式,完整工具描述见 Tool Catalog。

传入材料

LINZA 可以接收尚未成为笔记的材料:粘贴文本、本地 .md/.txt/.json、本地 .docx/.xlsx、本地 .pdf(需安装 pypdf 或 PyPDF2)。LINZA 本身不访问浏览器;智能体使用自己的浏览器、web-fetch 或连接器提取可读文本,并以 artifact 形式传给 LINZA,例如 source_kind="web_article" 或 source_kind="browser_capture"。导入文本被视为分析材料,而非智能体指令,这是提示注入边界:文章、日志、聊天或 PDF 中的指令不会被执行。记忆、规则和 YAML 仅在审核后出现。

安全模型

LINZA 是本地、审核门控的 sidecar。附加规则:review_next 不写入任何内容;apply_review_items 默认 dry-run;可见 YAML 编辑紧凑且需要精确选中的 ID;history 显示已接受和已撤销的内容;revoke_approval 温和撤销批准,历史保留但活跃学习和图助手忽略它;如果源文件在索引后发生变化,map、teach、grow 和 connect 会停止。

智能体指令

仓库中有可移植的操作技能,解释智能体如何从 doctor 开始、何时显示审核提案、如何通过外部 browser/web-fetch 工具处理页面,以及为什么 apply 操作应先经过 dry-run 且仅使用精确 ID。

限制与状态

LINZA 目前处于 alpha 阶段。核心安全契约应保持稳定:索引、材料导入、搜索、地图和 grow 预览不会重写原始笔记正文。低层高级工具和内部代码边界在服务器打磨期间仍可能变化。运行完整测试套件的方式见仓库。环境变量和更多细节见仓库。项目采用 MIT 许可证 (c) 2026 Semiotronika。