Photoshop MCP 服务器

使用步骤与要点(Markdown 格式)

  • 项目简介

    • 该仓库内的 photoshop-mcp 模块实现了一个完整的 MCP 服务器,用于在与 Photoshop 的 UXP 环境的交互中,向使用 MCP 的语言模型或其他客户端提供上下文信息与功能接口。核心能力包括:执行 UXP/Photoshop 脚本的工具、读取类型定义的文档/示例、以及通过 JSON-RPC 与客户端进行通信的 MCP 服务端。
    • 服务器通过 HTTP 传输实现 MCP 通道,暴露的工具包括执行 UXP 代码的 execute、读取 schemas 的 read-schema、读取文档的 read-docs。
  • 主要功能点

    • MCP 服务器核心:创建并运行 MCP 服务端,使用 StreamableHTTPTransport 作为传输层,通过 /mcp 路径处理 MCP 请求与响应。
    • 工具注册与执行:注册 execute 工具,接受 name 与 code,内部将代码包装成可在 Photoshop 的 UXP 环境中执行的运行时上下文,返回对象标识与结果值。
    • 与 Photoshop 的连接与执行:在服务器运行时建立对 Photoshop 的 CDP(Chrome DevTools Protocol)连接,借助 CDP.Runtime.evaluate 在 Photoshop 的 UXP 环境中执行代码,并将结果返回给 MCP 客户端。
    • 读取类型定义与文档:提供 read-schema 与 read-docs 工具,用于读取项目中引用的 .d.ts 架构与相关文档,便于 LLM 在对话中使用这些模板与类型信息。
    • 健康检查与错误处理:提供健康端点,并对错误进行日志记录与清晰的错误返回。
    • 自动化的架构与插件化:通过模块化的工具注册,确保扩展性,便于未来增加更多资源、工具或提示模板。
  • 安装步骤

    • 安装依赖:将仓库克隆到本地后,在 photoshop-mcp 相关模块中安装依赖(如 npm i / pnpm install)。
    • 构建与打包:运行该仓库中定义的构建脚本,将 TypeScript 转译为可执行 JavaScript(输出到 dist 目录)。
    • 启动服务器:以 Node.js 运行打包后的入口文件,启动 MCP 服务器并监听指定端口(默认 3020)。
    • 连接到客户端:MCP 客户端配置正确后即可通过 MCP 进行请求与交互。
  • 服务器配置(MCP 客户端需要的 JSON 配置) 注:MCP 客户端需要的配置为 JSON,包含服务器名称、启动命令及参数等信息。以下为基于仓库信息的准确示例描述(不包含代码块,仅为配置字段说明与注释)。

    • serverName: photoshop-mcp 描述: MCP 服务器的名称,用于在客户端选择或显示。
    • command: node 描述: 启动服务器所用的命令。此处使用 node,因为本服务器的打包输出为 dist/index.js。
    • args: ["dist/index.js"] 描述: 启动命令所需的参数列表。dist/index.js 是打包后的入口文件路径(需要在服务器所在工作目录下可定位到该文件)。
    • 端口与工作目录(如有): 描述: MCP 服务通常在本地启动特定端口(默认 3020),客户端在连接时会使用该端口与 JSON-RPC 通道建立通信。确保启动时的工作目录包含 dist/index.js。
    • 备注:
      • 该配置不需要 MCP 客户端的额外实现细节,只提供服务器端的启动信息,方便 MCP 客户端正确定位并启动服务。
  • 基本使用方法

    • 启动与连接
      1. 构建并启动 Photoshop MCP 服务器(node dist/index.js)。
      2. 在 MCP 客户端配置中填写上述 JSON 配置,以便客户端能够启动并连接到服务器。
    • 使用执行工具
      • 通过 MCP 客户端向 execute 工具发送包含 name 与 code 的请求,服务器会在 Photoshop 的 UXP 环境中执行传入的 JavaScript 代码并返回执行结果(包括对象标识与返回值)。
    • 使用文档/架构读取工具
      • 使用 read-schema 与 read-docs 工具,获取项目中包含的类型定义与文档示例,辅助在对话中提供准确的上下文信息。
    • 健 康 与 错误
      • 通过 /health 端点进行健康检查;若出现错误,日志将输出到服务器端控制台,并返回标准化错误信息给客户端。
  • 说明性注意

    • MCP 服务器作为后端,负责会话管理、能力声明、以及对多种传输方式的支持(示例中通过 HTTP 桥接实现)。
    • 运行环境要求 Photon/Photoshop 已开启并能通过 CDP 与 UXP 环境进行通信。

服务器信息