这是一个模型上下文协议(MCP)服务器,通过自然语言指令实现对 Inkscape 的实时控制。这使得像 Claude 这样的AI助手可以直接实时操作矢量图形。
inkmcp-extension.zipcd ~/.config/inkscape/extensions/
unzip ~/Downloads/inkmcp-extension.zip
cd ~/.config/inkscape/extensions/inkmcp
chmod +x run_inkscape_mcp.sh inkmcpcli.py inkscape_mcp_server.py main.py
正常启动 Inkscape - 扩展隐藏在菜单中,仅可通过 D-Bus 访问。
自动设置:当 AI 客户端首次连接时,它会自动:
~/.config/inkscape/extensions/inkmcp/venv/ 创建 Python 虚拟环境requirements.txt 安装所有必需的依赖项无需手动设置!
编辑您的 Claude 配置文件:
# ~/.claude/claude-config.json
{
"mcpServers": {
"inkscape": {
"command": "/home/USERNAME/.config/inkscape/extensions/inkmcp/run_inkscape_mcp.sh"
}
}
}
更新 Claude 桌面应用设置:
{
"mcpServers": {
"inkscape": {
"command": "/home/USERNAME/.config/inkscape/extensions/inkmcp/run_inkscape_mcp.sh"
}
}
}
对于 Gemini,编辑设置文件:
# ~/.gemini/settings.json
{
"mcpServers": {
"inkscape-mcp": {
"command": "/home/USERNAME/.config/inkscape/extensions/inkmcp/run_inkscape_mcp.sh"
}
}
}
对于 Codex,编辑配置:
# ~/.codex/config.toml
[mcp_servers.inkscape-mcp]
command = "/home/USERNAME/.config/inkscape/extensions/inkmcp/run_inkscape_mcp.sh"
"在 Inkscape 中,从文档左侧边缘绘制一条平滑的正弦波,并为其应用电力描边路径效果"
"在 Inkscape 中,创建一个带有径向渐变圆和优雅字体的美丽标志"
"在 Inkscape 中,使用黄金比例变化的圆大小绘制数学螺旋"
"在 Inkscape 中,创建一个带有尖顶屋顶、木门和花坛的房子插图"
"在 Inkscape 中,设计一个带有条形填充和标签的数据可视化图表,使用当前文档大小"
"在 Inkscape 中,以高分辨率 PNG 格式导出当前文档用于演示"
inkscape_operation - 适用于所有 Inkscape 操作的通用工具:
inkscape_mcp.py - 通过 D-Bus 触发的 Inkscape 扩展inkscape_mcp_server.py - 处理 AI 请求的 FastMCP 服务器inkmcpcli.py - 用于测试的直接命令行界面inkmcpops/ - 模块化操作处理器AI 助手 → MCP 服务器 → CLI 客户端 → D-Bus → Inkscape 扩展 → 实时文档
# 在 inkmcp 目录中 - 绕过 AI 助手进行直接控制
# 基本形状
python inkmcpcli.py circle "cx=100 cy=100 r=50 fill=red"
python inkmcpcli.py rect "x=0 y=0 width=200 height=100 stroke=blue"
# 渐变
python inkmcpcli.py linearGradient "x1=0 y1=0 x2=200 y2=200 stops='[[\"0%\",\"green\"],[\"50%\",\"yellow\"],[\"100%\",\"red\"]]'"
# 代码执行
python inkmcpcli.py execute-code "code='circle = inkex.Circle(); circle.set(\"cx\", \"150\"); circle.set(\"cy\", \"100\"); circle.set(\"r\", \"25\"); svg.append(circle)'"
# 文档信息
python inkmcpcli.py get-info
# 选择信息
python inkmcpcli.py get-selection
# 导出截图
python inkmcpcli.py export-document-image "format=png max_size=800"
在实时 Inkscape 环境中执行任意 Python/inkex 代码:
# 编程创建复杂形状
code = '''
rect = Rectangle()
rect.set('x', '10')
rect.set('y', '20')
rect.set('width', '100')
rect.set('height', '50')
rect.set('style', 'fill:blue;stroke:red;stroke-width:2')
svg.append(rect)
'''
chmod +x *.sh *.py)# 检查 D-Bus 连接
gdbus introspect --session --dest org.inkscape.Inkscape --object-path /org/inkscape/Inkscape
# 结构化的 JSON 输出
python inkmcpcli.py get-info --parse-out --pretty
inkmcpops/ 中创建新文件execute(svg, params) 函数inkscape_mcp_server.py 中添加相应的 MCP 工具