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 的界面,理解当前的设计状态,并基于视觉信息进行后续操作。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 环境。
    • 建议使用 'uv' 包管理器来安装和管理 Python 包 (根据 'README.md' 中的配置推测)。您可以通过 pip 安装 'uv': 'pip install uv'。
    • 确保已安装 Adobe Illustrator 软件,并且运行 MCP 服务器的机器是 macOS 系统,因为该服务器依赖 AppleScript 与 Illustrator 交互。
  2. 下载仓库代码:

    • 克隆或下载 'illustrator-mcp' 仓库的代码到本地。
  3. 安装 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 包管理方式选择合适的配置。

基本使用方法

  1. 启动 MCP 服务器: 根据上述配置,启动 Illustrator MCP Server。如果使用 'uv' 配置,通常客户端会自动调用 'uv' 命令启动服务器。如果您使用其他方式,可能需要手动在终端中运行服务器启动命令。
  2. 配置 MCP 客户端: 将上述 JSON 配置添加到您的 MCP 客户端(例如 Claude Desktop)的配置文件中,并确保客户端已正确配置并连接到该服务器。
  3. 在 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 客户端的具体文档和配置方法进行操作。

信息

分类

桌面与硬件