mcpField
I
Inkscape (inksmcp)

Inkscape (inksmcp)

本地服务
github.com/bhanutpt媒体与设计13 周前更新

关于 Inkscape (inksmcp)

Inkscape(inksmcp)是面向 AI 助手的 MCP 服务,可借助 Inkscape 创建、编辑、检查和导出矢量图形。它支持按实际尺寸排版、修改现有 SVG,并提供预览和多种导出格式。

主要功能

  1. 01测量元素边界框和文本
  2. 02对齐、布局与连接线
  3. 03从 JSON 或 CSV 重复套用模板
  4. 04检查和编辑现有 SVG 文件
  5. 05预览并导出为 PNG、PDF 等

适用场景

  1. 01创建按尺寸排版的海报或示意图
  2. 02根据数据生成重复卡片
  3. 03修改并检查现有 SVG
  4. 04预览图形并导出文件

MCP 相关

向 MCP 客户端提供 Inkscape 文档、元素、排版、图表、路径、预览和导出工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bhanutpt-inksmcp": {
"command": "uvx",
"args": [
"inksmcp"
],
"env": {
"INKSCAPE_PATH": "<INKSCAPE_PATH>"
}
}
}
}
启动命令uvx inksmcp
需要配置的环境变量
INKSCAPE_PATHPath to the Inkscape executable, if it is not on PATH or in the default install location

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiinksmcp0.3.0

工具

24

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

inksmcp

一个 MCP 服务,让 AI 助手通过 Inkscape 创建、编辑和导出矢量图形。

CI PyPI Python License: MIT

向助手描述一张海报、一幅示意图、一张图表或一页漫画,它就会在 Inkscape 中构建一份真正的 SVG 文档:经过测量、排版,并导出为 PNG 或 PDF。它也可以打开在其他地方制作的图稿并进行修改。

漫画页元素周期表海报泳道流程图
平面图含四张图表的数据表泰米尔字母海报

这些作品由 Claude 在实地测试期间通过 inksmcp 制作,每件作品调用工具 13 到 41 次。SVG 从未经过手动编辑。平面图和元素周期表使用了一个简短脚本来准备数据。

为什么选择 inksmcp

让模型手动编写 SVG 适用于图标,但面对实际排版时就会力不从心。模型无法测量文本,不断重复坐标运算,也看不到自己绘制的内容。inksmcp 帮模型承担了这些工作:

  • 测量,而非猜测。 边界框由 Inkscape 本身计算,包括文本,并使用文档自身的单位。
  • 依靠关系,而非坐标。 align 和 layout 用于排列元素。place 会将说明文字放在标题实际字形的下方。fit_to 会根据内容调整方框大小。connect 会绘制移动元素后仍保持连接的箭头。
  • 由数据驱动。 repeat 会为每行数据套用一个模板(卡片、时间线、图例、表格行、角色姿势)。split 会将页面划分为面板或单元格。大量数据来自 JSON 或 CSV 文件,因此无需经过对话传递。
  • 支持现有文件。 它可以打开由其他工具制作的 .svg/.svgz 图稿。inspect find 可按颜色、类型、文本或符号查找元素。还可以从图标库中放置符号。
  • 安全且可检查。 每个工具都要么全部完成,要么完全不执行。编辑响应会提示文本重叠问题,而 render_preview 会向 Agent 显示它绘制的内容。
  • 真实输出。 通过 Inkscape 渲染为 PNG、PDF(可选择将文本转为路径)、纯 SVG、EPS、EMF 等格式。

快速开始

  1. 安装 Inkscape 1.x 和 uv。

  2. 将服务添加到 MCP 客户端。Claude Code 的配置如下:

    claude mcp add --scope user inkscape -- uvx inksmcp
    

    Claude Desktop、Cursor 等客户端的配置如下:

    { "mcpServers": { "inkscape": { "command": "uvx", "args": ["inksmcp"] } } }
    
  3. 提出请求:“使用 inkscape 工具,为周六 10:00 在图书馆花园举行的图书交换活动制作一张 A5 传单,给我预览,然后导出为 PDF。”

各操作系统和客户端的详细说明及故障排查方法,请参阅入门指南。

工具

区域工具
文档document_create、document_open、document_save、inspect(大纲、实际边界框、find)、inkscape_info
元素add_elements(矩形、圆、椭圆、直线、折线、多边形、路径、文本、组、箭头、图像、引用)、update_elements、delete_elements、import_file、repeat
排布align、layout、split、connect、z_order、move_to_layer、page_fit、page_resize
图表grid(线性/对数方格纸和坐标轴)、plot(以数据值表示的数据系列)
路径path_operation(并集、差集、交集、组合、描边转路径等)、run_actions(带保护的原始 Inkscape 操作)
输出render_preview(将 PNG 返回给 Agent)、export

有关如何组合使用这些工具,请参阅示例;有关每个参数,请参阅工具参考。

工作原理

文档以 lxml 树的形式存储在服务中,并作为唯一可信数据源。编辑会直接应用于该树。凡是需要 Inkscape 的操作(测量、布尔运算、连接器、渲染、导出),都会交由一个持久运行的 inkscape --shell 进程处理,因此调用只需数毫秒,而启动 Inkscape 则需要约 1 秒。详情请参阅架构说明。

状态

inksmcp 目前处于 beta 阶段(0.3)。它已历经 11 次实地测试,Agent 在测试中用它完成了实际任务。最近一次测试中,Agent 编辑了使用其他工具创建的文件。目前有 160 项测试,均使用真实的 Inkscape 运行。

已知限制:

  • 项目使用 Inkscape 1.4.4 在 Windows 上开发。CI 也会在 Linux 和 macOS 上运行。
  • 每个会话的工具列表约占用 9k 个上下文令牌。
  • 目前无法将渐变和图案创建为样式键。如果它们已存在于文档中,则可以通过原始 style 应用。
  • SVG 1.2 流式文本可以移动,但无法编辑。

路线图列出了后续计划。

贡献

欢迎提交错误报告、实地反馈(“我要求完成 X,这是 Agent 遇到的困难”)和拉取请求。请参阅 CONTRIBUTING.md。本项目以实验优先的方式开发:它所依赖的每项 Inkscape 行为都由 experiments/ 中的脚本验证,并由测试加以保护。开发手册介绍了这一方法。

许可证

MIT。Inkscape 是一个遵循 GPL 的独立程序;inksmcp 通过外部进程调用它。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。