Token导航 LogoToken导航TokenDH.com
Scribus MCP logo
设计创作stdio官方级别未说明来源级核验

Scribus MCP

MCP Server

Scribus MCP是一个服务器端工具,允许LLM通过编程方式创建专业的RGB/CMYK布局。

工具数

37

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude设计Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

chrisgliddon

提供方

chrisgliddon

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run pytest tests/ -v

详细介绍

Scribus MCP

MCP服务器 Scribus --允许LLM以编程方式创建专业的RGB/CMYK布局。

建筑

Claude Code/Desktop ←(MCP stdio)→ server.py ←(subprocess NDJSON)→ Scribus -g -py bridge.py

Scribus作为一个持久的子进程无头运行。桥接脚本在Scribus的嵌入式Python中执行,通过stdin接收JSON命令,通过stdout返回结果。突变会自动保存在延迟30秒的计时器上(将快速更改批处理为一次写入)。新文档保存到 ~/.scribus-mcp/workspace/document.sla;打开的文档将保存回其原始路径。

先决条件

  • Python 3.10+
  • 紫外线 包管理器
  • Scribus 安装在以下位置之一:

- macOS: /Applications/Scribus.app/Contents/MacOS/Scribus - Linux: /usr/bin/scribus - 窗户: C:\Program Files\Scribus 1.6\Scribus.exe - 或设置 SCRIBUS_EXECUTABLE env var(请参见 自定义Scribus路径)

设置

git clone https://github.com/chrisgliddon/scribus-mcp.git
cd scribus-mcp
uv sync

码头工人

如果你不想在本地安装Scribus或uv,请构建Docker镜像:

docker build -t scribus-mcp .

然后使用下面基于Docker的MCP配置示例——不需要本地Scribus或uv。

在Claude代码中配置

添加 .mcp.json 在项目根目录中,或 ~/.claude.json 用于所有会话的全局访问。

原生(uv)-macOS/Linux:

{
  "mcpServers": {
    "scribus": {
      "command": "uv",
      "args": ["--directory", "/path/to/scribus-mcp", "run", "scribus-mcp"]
    }
  }
}

原生(uv)-Windows:

{
  "mcpServers": {
    "scribus": {
      "command": "uv",
      "args": ["--directory", "C:\\path\\to\\scribus-mcp", "run", "scribus-mcp"]
    }
  }
}

Docker(跨平台):

{
  "mcpServers": {
    "scribus": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "scribus-mcp"]
    }
  }
}

在Claude桌面中配置

添加一个 "scribus" 进入 mcpServers 配置文件中的对象:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

原生(uv)-macOS/Linux:

{
  "mcpServers": {
    "scribus": {
      "command": "uv",
      "args": ["--directory", "/path/to/scribus-mcp", "run", "scribus-mcp"]
    }
  }
}

原生(uv)-Windows:

{
  "mcpServers": {
    "scribus": {
      "command": "uv",
      "args": ["--directory", "C:\\path\\to\\scribus-mcp", "run", "scribus-mcp"]
    }
  }
}

Docker(跨平台):

{
  "mcpServers": {
    "scribus": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "scribus-mcp"]
    }
  }
}

工具

文件

工具它做什么
create_document具有不对称边距、对页和出血的新文档。参数: width, height, margins, margin_top/bottom/left/right, facing_pages, first_page_left, bleed_top/bottom/left/right, unit (毫米/磅/英寸), pages, orientation
open_document打开现有 .sla 文件。返回页数、页面大小和对象列表。自动保存会写回打开的文件。参数: file_path
add_page添加页面。参数: count, where (-1=追加), master_page
get_document_info查询文档状态——页面、边距、对象、颜色、母版页、段落样式、字符样式
set_baseline_grid设置跨列文本对齐的文档基线网格。参数: grid (间距单位为pt), offset

颜色

工具它做什么
define_color命名颜色。参数: name, mode (cmyk/rgb), c/m/y/k (0-100%)或 r/g/b (0-255)

文本和排版

工具它做什么
place_text具有内容、样式、列和段落样式的文本框架。参数: x, y, w, h, text, font, font_size, color, alignment, page, line_spacing, line_spacing_mode (0=固定,1=自动,2=基线网格), columns, column_gap, style
edit_text编辑现有框架中的文本。参数: name, action (插入/apply_char_style/apply_para_style/连字符/脱氢酚), text, position, start, count, style
get_text_info获取文本帧度量:溢出计数、字符计数、行计数。参数: name, refresh_layout
create_paragraph_style命名段落样式。参数: name, font, font_size, line_spacing, line_spacing_mode, alignment, first_indent, space_above, space_below, drop_cap, drop_cap_lines, char_style
create_char_style命名字符样式。参数: name, font, font_size, fill_color, features (例如“粗体、斜体、小写”), tracking
link_text_frames链接两个框架以实现文本流。参数: from_frame, to_frame
unlink_text_frames从文本链中取消帧链接。参数: frame

图像和形状

工具它做什么
place_image图像框架。参数: x, y, w, h, file_path, scale_to_frame, proportional, page
place_svg在页面上放置一个SVG文件。参数: file_path, x, y, page
draw_shape矩形、椭圆形或直线。参数: shape, x/y/w/hx1/y1/x2/y2, fill_color, line_color, line_width
modify_object更改对象道具。参数: name+位置、大小、旋转、颜色、文本道具、, line_spacing, line_spacing_mode, columns, column_gap, corner_radius, text_flow_mode, fill_transparency, line_style
get_object_properties检查对象的属性(位置、大小、旋转、角半径、text_flow_mode、填充透明度、特定类型:文本内容、字体、颜色、列)。参数: name
delete_object从文档中删除对象。参数: name
control_image获取或设置帧内的图像偏移/比例。参数: name, action (get/set_offset/set_scale/fit_frame_to_image), offset_x, offset_y, scale_x, scale_y
duplicate_objects复制一个或多个对象。参数: names

图层和分组

工具它做什么
manage_layers创建、删除、列出、激活和配置图层。参数: action (创建/删除/列表/获取活动/设置活动/发送层/设置属性/获取属性), layer, name, visible, locked, printable
organize_objects分组、取消分组或更改z顺序。参数: action (分组/取消分组/向前移动/向后移动), names, name

表格

工具它做什么
create_table创建桌子框架。参数: x, y, w, h, rows, columns, page
modify_table_structure插入/删除行/列、调整大小、合并单元格。参数: name, action (insert_rows/insert_columns/remove_rows/remove_columns/resize_row/resisze_column/merge_cells/get_size), index, count, size, row, col, num_rows, num_cols
set_table_content读取或写入表格单元格中的文本。参数: name, cells ({行、列、文本}的列表), get_cell ({行,列})
style_table设置表格及其单元格的样式。参数: name, table_fill_color, table_style, cells (带填充颜色、样式、边框的列表\_*,衬垫\_*)

布局和母版页

工具它做什么
set_guides在页面上设置水平/垂直参考线。参数: horizontal, vertical, page
create_master_page创建新的母版页。参数: name
edit_master_page进入母版页编辑模式。参数: name
close_master_page退出母版页编辑模式
apply_master_page将母版页应用于文档页。参数: master_page, page
list_master_pages列出所有母版页名称
delete_page从文档中删除一页。参数: page

PDF导出

工具它做什么
export_pdf使用印前选项导出PDF。参数: file_path, quality (屏幕/电子书/印刷机), pdf_version (1.3/1.4/1.5/x-1a/x-3/x-4), pages, crop_marks, bleed_marks, registration_marks, color_marks, mark_length, mark_offset, use_doc_bleeds, output_profile (ICC配置文件名称), embed_profiles, info, font_embedding (嵌入/轮廓/无), resolution

高级

工具它做什么
run_script执行原始的Scribus Python。参数: code.Set result 返回数据的变量
get_font_names列出Scribus中所有可用的字体名称

示例提示

创建一个A4文档,在C=100 M=80 Y=0 K=20处定义一种名为“BrandBlue”的CMYK颜色,在顶部中心添加一个36pt的标题“Hello World”,在其后面绘制一个蓝色矩形,然后以PDF格式导出到~/Desktop/test.PDF
打开一个US Letter横向文档,将图像放在左上角的~/logo.png处,缩放为50x50mm,在其下方添加正文,导出为PDF
打开文件~/Documents/layout.sla,显示第1页上的对象,删除旧的“header_text”框架,并将其替换为顶部中心24pt的新标题“Updated Title”
创建一个245x290mm的封面书籍,带有3mm的出血、不对称的边距(顶部=17,底部=20,左侧=20,右侧=15),设置一个13pt的基线网格,在DejaVu Serif 9.5pt中定义一个对齐对齐的“正文”段落样式,然后导出为PDF/X-4,带有裁剪标记和ISOcoat_v2 ICC配置文件

发展

# install dev deps
uv sync

# run tests
uv run pytest tests/ -v

# test with MCP Inspector
npx @modelcontextprotocol/inspector uv run scribus-mcp

配置

自定义Scribus路径

如果Scribus不在标准位置:

macOS/Linux(bash/zsh):

export SCRIBUS_EXECUTABLE=/path/to/scribus

Windows(命令提示符):

set SCRIBUS_EXECUTABLE=C:\path\to\Scribus.exe

Windows(PowerShell):

$env:SCRIBUS_EXECUTABLE = "C:\path\to\Scribus.exe"

超时和保存间隔

变量默认值描述
SCRIBUS_COMMAND_TIMEOUT30在杀死Scribus之前等待命令响应的秒数
SCRIBUS_STARTUP_TIMEOUT60启动时等待就绪哨兵的秒数
SCRIBUS_SAVE_INTERVAL30延迟自动保存之间的秒数。设置为 0 在每次命令后保存(传统行为)

运作原理

  1. 在第一次工具调用时, client.py 启动Scribus无头(-g -ns -py bridge.py)
  2. bridge.py 重定向stdout以避免协议污染,发送 {"ready": true} 哨兵
  3. 客户端通过stdin发送NDJSON命令,从stdout读取JSON响应
  4. 每个命令都有一个超时(默认为30秒)——如果Scribus停滞,进程将被终止,并在下次调用时自动重新启动
  5. 突变被批量保存为延迟自动保存(默认每30秒一次);强制保存在PDF导出之前和关闭时运行
  6. 新文档保存到 ~/.scribus-mcp/workspace/document.sla;打开的文档保存回其原始路径

许可证

麻省理工学院——见 许可证

目录标签

目录标签

PythonClaude设计布局设计本地部署CMYK/RGB自动化排版Scribus集成PDF导出

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

37

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP