项目简介

PsMCP 是一个基于 Model Context Protocol (MCP) 构建的服务器端程序,它允许任何兼容 MCP 协议的客户端(特别是集成大型语言模型 LLM 的客户端)通过调用预定义的功能(即工具),来远程控制和自动化 Adobe Photoshop 的操作。这意味着您可以使用自然语言通过 LLM 指示 Photoshop 执行各种任务。

主要功能点

  • 连接与控制 Photoshop: 启动并连接到 Adobe Photoshop 应用程序。
  • 文件管理: 打开、创建和保存 PSD 文件。
  • 图层操作: 列出文档中的图层,控制图层的可见性、不透明度,重命名、删除、复制图层。
  • 文本编辑: 编辑文本图层的内容、字体大小、位置,切换粗体/斜体样式。
  • 图像导入与管理: 将外部图像文件导入为新图层,列出指定目录下的图像资产。
  • 图层变换: 移动、调整大小和旋转图层。
  • 效果应用: 对图层应用高斯模糊、调整亮度/对比度、色相/饱和度,以及应用海报化和阈值等滤镜效果。
  • 导出功能: 将当前文档或单个可见图层导出为 PNG 或 JPG 格式。
  • 画布调整: 改变文档的画布尺寸。
  • 字体管理: 列出系统可用字体,并测试字体兼容性。

安装步骤

  1. 确保您的计算机上安装了 Python 解释器。
  2. 确保您使用的是 Windows 操作系统,因为该服务器依赖 'win32com.client' 与 Photoshop 进行通信。
  3. 确保您已安装 Adobe Photoshop。
  4. 克隆或下载该 GitHub 仓库到您的本地计算机。
  5. 打开终端或命令提示符,导航到仓库的根目录。
  6. 创建一个 Python 虚拟环境(推荐)。
  7. 激活虚拟环境。
  8. 安装项目所需的依赖库:
    pip install -r requirements.txt
  9. 在仓库根目录下创建一个 '.env' 文件,并设置必要的环境变量,例如:
    GEMINI_API_KEY = YOUR_GEMINI_API_KEY # 如果使用附带的 Gradio 客户端则需要
    PSD_DIRECTORY = /path/to/your/Photoshop/Files # 存放PSD文件的目录
    EXPORT_DIRECTORY = /path/to/your/PsMCP/Exports # 导出文件的目录
    ASSETS_DIR = /path/to/your/PsMCP/Assets # 存放图片资产的目录
    请根据您的实际路径修改目录设置。

服务器配置

PsMCP 服务器本身是一个独立的 Python 脚本 ('psMCP.py'),通过 Stdio 协议与 MCP 客户端通信。要在 MCP 客户端(如 Cursor 或其他兼容的 LLM 客户端)中使用此服务器,您需要在客户端的配置中添加一个服务器条目。典型的配置信息如下(请根据您的客户端类型和实际安装路径进行调整):

  • 服务器名称: 自定义一个名称,例如 'PhotoshopAdv'。
  • 启动命令 (command): 'python' 或 'uv' (如果使用 uv)。
  • 命令参数 (args): 指定启动服务器脚本的参数。这通常包括脚本路径。例如:
    • '--directory' 您的 PsMCP 项目根目录路径
    • 'run' 启动命令(取决于 uv 或其他运行器)
    • 'psMCP.py' 服务器脚本文件名 完整的参数列表可能类似于 '[ "--directory", "D:\Path\To\Your\PsMCP-MCP-Server-for-Photoshop", "run", "psMCP.py" ]'。
  • 超时设置 (timeout): 连接超时时间(毫秒),例如 '60000'。

请查阅您所使用的 MCP 客户端文档,了解如何添加和配置外部 MCP 服务器。

基本使用方法

  1. 确保您已完成安装和配置步骤。
  2. 在终端中,导航到项目根目录。
  3. 直接运行服务器脚本:
    python psMCP.py
    服务器将启动并等待 MCP 客户端连接。
  4. 打开并配置您的 MCP 客户端(例如 Cursor)。在客户端中连接到您在配置步骤中设置的 'PhotoshopAdv' 服务器。
  5. 现在,您可以通过 MCP 客户端集成的 LLM 发送指令,LLM 将通过 MCP 协议调用 PsMCP 服务器提供的工具,进而控制您的 Photoshop 实例执行任务。
  6. 仓库中提供了一个基于 Gradio 的示例客户端 ('app.py'),您可以运行 'python app.py' 来启动一个简单的聊天界面,通过 LLM(需要配置 Gemini API Key)与服务器交互。但这只是一个示例,您可以使用任何支持 MCP 协议的客户端。

信息

分类

桌面与硬件