Illustrator MCP Server 使用说明
项目简介
Illustrator MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在使大型语言模型 (LLM) 能够与 Adobe Illustrator 软件进行交互。通过该服务器,LLM 可以执行 ExtendScript 脚本来自动化 Illustrator 的操作,并获取 Illustrator 窗口的截图,从而实现更智能的创意工作流程。
主要功能点
- 执行 ExtendScript 脚本 (run 工具): 允许 LLM 在 Adobe Illustrator 中运行 ExtendScript/JavaScript 代码,从而自动化各种设计任务,例如批量处理图形、调整图层、生成设计元素等。
- 获取 Illustrator 窗口截图 (view 工具): 允许 LLM 获取当前 Adobe Illustrator 窗口的屏幕截图,以便 LLM 可以“看到” Illustrator 的界面,理解当前的设计状态,并基于视觉信息进行后续操作。
安装步骤
-
环境准备:
- 确保已安装 Python 环境。
- 建议使用 'uv' 包管理器来安装和管理 Python 包 (根据 'README.md' 中的配置推测)。您可以通过 pip 安装 'uv': 'pip install uv'。
- 确保已安装 Adobe Illustrator 软件,并且运行 MCP 服务器的机器是 macOS 系统,因为该服务器依赖 AppleScript 与 Illustrator 交互。
-
下载仓库代码:
- 克隆或下载 'illustrator-mcp' 仓库的代码到本地。
-
安装 Python 依赖:
- 进入仓库的 'src/illustrator' 目录。
- 使用 'uv' 安装依赖 (如果 'uv' 可用且配置正确,根据 'README.md' 中的配置推测使用 'uv',否则可能需要使用 'pip install -r requirements.txt',但仓库中没有 'requirements.txt' 文件,根据代码推测可能依赖 'mcp' 库,建议手动安装 'pip install mcp-server' 或 'pip install mcp')。
服务器配置
MCP 客户端(例如 Claude Desktop)需要配置 MCP 服务器的连接信息。以下是根据 'README.md' 提供的 'claude_desktop_config.json' 示例生成的配置信息,您需要将其添加到您的 MCP 客户端配置中。
{ "mcpServers": { "illustrator": { // 服务器名称,客户端通过此名称引用 "command": "uv", // 启动服务器的命令,这里假设使用 uv 包管理器 "args": [ // 启动服务器的参数列表 "--directory", // 指定工作目录 "/Users/you/code/mcp/illustrator-mcp-server", // 请替换为您的 illustrator-mcp 仓库代码的实际路径 "run", // uv run 命令,用于运行 Python 包 "illustrator" // 指定要运行的 Python 包名称,对应 src/illustrator/__init__.py 定义的包 ] } } }
配置参数说明:
- '"illustrator"': MCP 服务器的名称,您可以在客户端配置中自定义,用于唯一标识该服务器连接。
- '"command": "uv"': 启动 MCP 服务器的命令。这里配置为 'uv',表明期望使用 'uv' 包管理器来运行服务器。如果您的环境没有 'uv' 或者您希望直接使用 Python 解释器运行,可以将 'command' 修改为 'python' 或您的 Python 解释器路径,并相应调整 'args' 参数。
- '"args"': 启动命令的参数列表。
- '"--directory", "/Users/you/code/mcp/illustrator-mcp-server"': 指定服务器的工作目录为您的 'illustrator-mcp' 仓库代码所在的目录。请务必将 '/Users/you/code/mcp/illustrator-mcp-server' 替换为您本地仓库的实际路径。
- '"run", "illustrator"': 使用 'uv run' 命令运行名为 'illustrator' 的 Python 包。这会执行 'src/illustrator/init.py' 文件中定义的 'main()' 函数,进而启动 'server.py' 中定义的 MCP 服务器。
如果您不使用 'uv',而是直接使用 'python' 运行服务器,可以将配置修改为类似如下形式 (需要进入 'src/illustrator' 目录运行):
{ "mcpServers": { "illustrator": { "command": "python", "args": [ "server.py" // 直接运行 server.py 文件 ] } } }
或者在仓库根目录下运行:
{ "mcpServers": { "illustrator": { "command": "python", "args": [ "-m", "src.illustrator.server" // 以模块方式运行 server.py ] } } }
请根据您的实际环境和 Python 包管理方式选择合适的配置。
基本使用方法
- 启动 MCP 服务器: 根据上述配置,启动 Illustrator MCP Server。如果使用 'uv' 配置,通常客户端会自动调用 'uv' 命令启动服务器。如果您使用其他方式,可能需要手动在终端中运行服务器启动命令。
- 配置 MCP 客户端: 将上述 JSON 配置添加到您的 MCP 客户端(例如 Claude Desktop)的配置文件中,并确保客户端已正确配置并连接到该服务器。
- 在 LLM 中使用工具: 在支持 MCP 协议的 LLM 应用中,您应该能够发现并调用 'illustrator' 服务器提供的 'view' 和 'run' 工具。
- view 工具: 调用 'view' 工具可以让 LLM 获取 Adobe Illustrator 窗口的截图,并将其作为上下文信息使用。
- run 工具: 调用 'run' 工具时,您需要提供 'code' 参数,其值为要执行的 ExtendScript/JavaScript 代码。LLM 可以生成或选择合适的脚本代码,传递给 'run' 工具在 Illustrator 中执行,并获取执行结果。
示例使用场景:
- LLM 指示 Illustrator 生成特定图形: 您可以指示 LLM "使用 Illustrator 生成一个蓝色的圆形,半径为 100 像素"。LLM 可以分析您的指令,生成相应的 ExtendScript 代码,并使用 'run' 工具在 Illustrator 中执行,完成图形的创建。
- LLM 分析 Illustrator 界面: LLM 可以先调用 'view' 工具获取 Illustrator 窗口截图,然后分析截图内容,例如识别当前选中的图层、工具栏状态等,从而更好地理解 Illustrator 的当前状态,并进行更精细化的操作。
注意事项
- 该 MCP 服务器目前仅在 macOS 系统上经过测试,并且主要针对 Adobe Illustrator 和 Claude Desktop 进行了适配。
- 服务器依赖 AppleScript 与 Illustrator 交互,因此运行服务器的机器必须允许 AppleScript 控制 Adobe Illustrator。
- 执行 ExtendScript 代码具有一定的风险,请确保您信任 LLM 生成的代码,并谨慎执行可能修改或影响设计文件的操作。
- 请根据您的 MCP 客户端的具体文档和配置方法进行操作。
信息
分类
桌面与硬件