SuperAPI AI 工具集

markmap-mcp-server

Markmap MCP Server 是一个基于 Model Context Protocol(MCP)的服务器工具,可将 Markdown 转换为交互式思维导图。它支持标题与嵌套列表的 Markdown 结构,生成可交互的 HTML 思维导图,并可在服务端通过 Playwright 导出 PNG、JPG、SVG 图片,方便 Agent 直接使用。所有转换均在本地完成,无需第三方 API 密钥,注重隐私。服务器提供可配置的浏览器预览行为(always/never/agent),生成的 HTML 页面自带导出工具栏和 Markdown 复制功能,还支持离线模式内联资源。该工具适合需要将文档、笔记、大纲快速可视化,并在聊天或 Agent 流程中直接传递图片的场景。使用前需要 Node.js v20 或以上版本,服务端图片导出需额外安装 Playwright 及 Chromium。

访问官网

工具介绍

用途

Markmap MCP Server 是一个基于 Model Context Protocol(MCP)的服务端工具,用于将 Markdown 文本转换为交互式思维导图。它利用 markmap 渲染引擎,把 Markdown 中的标题和嵌套列表解析为可视化的思维导图,并可根据配置在服务端导出 PNG、JPG、SVG 图片,便于 Agent 直接消费和传递。

主要能力

  • Markdown 转思维导图:将包含标题与嵌套列表的 Markdown 转换为交互式 HTML 思维导图。
  • Agent 友好的返回方式:可返回文件路径、内联 HTML 和/或图片内容,具体由启动时的配置决定。
  • 服务端导出:通过 Playwright 在服务端导出 PNG / JPG / SVG,方便在聊天或内联中预览。
  • 浏览器预览:可配置打开行为,支持 always(总是打开)、never(从不打开)或 agent(由 Agent 决定),该选项在服务器启动时设定。
  • 浏览器导出工具栏:查看 HTML 时,可在页面 UI 中直接导出 PNG/JPG/SVG 或复制 Markdown。
  • 离线 HTML:启动时加 --offline 参数会内联资源,使页面无需 CDN 访问即可工作。
  • 文件工作流:支持从 inputPath 读取文件、列出最近生成的输出、清理旧文件。
  • 隐私优先:完全本地转换,不使用云端思维导图 API。

使用方式

环境要求

  • Node.js v20 或以上版本。
  • 如需服务端图片导出(format: png|jpg|svg),需安装 Playwright 和 Chromium。Playwright 是本包的可选依赖。

配置 MCP 客户端

在 MCP 客户端(如 Cursor / Claude Desktop 等)中添加相应配置。也可以克隆仓库并在本地运行。

服务器偏好设置(通过 CLI 或环境变量)

这些设置需要在服务器启动时决定,而不是作为工具参数传入:

  • CLI 标志会覆盖环境变量。--output 会覆盖 MARKMAP_DIR。
  • --open:单独使用 --open 表示 always。也可以传入 --open always|never|agent。无效值会导致报错退出。如果不传该标志,则使用环境变量 MARKMAP_OPEN(默认值为 never)。
  • 生成的 HTML 始终包含 markmap 工具栏、英文导出标签和完全展开的节点。

可用工具

markdown_to_mindmap

将 Markdown 转换为交互式思维导图,并可选生成图片。返回内容根据 returnMode 不同:

  • returnMode=path:对于图片格式,filePath 是图片路径,htmlFilePath 仍是 HTML 源文件路径。
  • returnMode=content:返回原始 HTML 文本块,或针对 png/jpg/svg 返回 MCP 图片内容块(base64),不返回路径 JSON。超过 200KB 的 HTML 会回退为路径 JSON。
  • returnMode=both:返回路径 JSON 加上上述的内联内容。

注意:交互式缩放/折叠以及页面内的“Export PNG/JPG/SVG”按钮属于 HTML 查看器的功能。服务端 format 参数(png|jpg|svg)是 Agent 可以直接消费的格式,无需手动点击浏览器。

其他工具

  • 列出输出目录中最近生成的文件(按最新优先)。仅包含文件名以 markmap 开头的文件。返回 {outputDir, files: [{name, filePath, size, mtimeMs, mtime}]}。
  • 通过绝对路径检索生成的思维导图文件。路径必须位于配置的输出目录内,禁止路径遍历。返回 JSON {filePath, mimeType, size}。对于小于 200KB 的 HTML/SVG,还会附加一个文本内容块。PNG/JPG 仅返回元数据(不含图片块),如需像素内容请通过 markdown_to_mindmap 并设置 format=png|jpg 重新导出。
  • cleanup_mindmaps:删除旧的(或全部)生成的思维导图文件。
  • 提示词 mindmap_from_content:一个辅助提示词,要求模型将笔记整理为 Markdown,然后调用 markdown_to_mindmap。

示例提示

  • “把这份设计文档总结成思维导图。”
  • “将 ./notes/architecture.md 转换为思维导图。”
  • “为这份大纲生成一张 PNG 思维导图用于聊天。”

适用场景

  • 在 Agent 或聊天机器人的工作流中,将 Markdown 笔记、文档大纲、设计文档等快速转为可视化的思维导图。
  • 需要将思维导图以图片形式直接在对话中展示,而无需手动打开浏览器操作。
  • 对隐私有要求、希望完全本地转换而不调用云端 API 的场景。

限制

  • 需要 Node.js v20 或以上版本。
  • 服务端图片导出依赖 Playwright 和 Chromium。
  • 预览打开行为和输出方式等设置需在服务器启动时确定,不能作为工具调用参数动态更改。
  • 检索文件时路径必须位于配置的输出目录内,不允许路径遍历。
  • PNG/JPG 的检索仅返回元数据,不含图片块。
  • 本项目基于 MIT 许可证。