Photoshop MCP Server

Um servidor MCP para integrar e automatizar o Adobe Photoshop usando a photoshop-python-api.

Documentação

Servidor MCP do Photoshop

PyPI Version PyPI Downloads Build Status License Python Version Platform GitHub stars GitHub issues GitHub last commit

⚠️ SOMENTE WINDOWS: Este servidor funciona apenas em sistemas operacionais Windows devido à sua dependência de interfaces COM específicas do Windows.

Um servidor Model Context Protocol (MCP) para integração com o Photoshop usando photoshop-python-api.

Inglês | 简体中文

Visão Geral

Este projeto fornece uma ponte entre o Model Context Protocol (MCP) e o Adobe Photoshop, permitindo que assistentes de IA e outros clientes MCP controlem o Photoshop programaticamente.

Photoshop MCP Server Demo

O Que Ele Pode Fazer?

Com este servidor MCP, assistentes de IA podem:

  • Criar, abrir e salvar documentos do Photoshop
  • Criar e manipular camadas (texto, cor sólida, etc.)
  • Obter informações sobre a sessão do Photoshop e documentos
  • Aplicar efeitos e ajustes em imagens
  • E muito mais!

Requisitos

Requisitos do Sistema

  • 🔴 SOMENTE SISTEMA OPERACIONAL WINDOWS: Este servidor funciona APENAS em sistemas operacionais Windows
    • O servidor depende de interfaces COM específicas do Windows para se comunicar com o Photoshop
    • macOS e Linux NÃO são suportados e NÃO PODEM executar este software

Requisitos de Software

  • Adobe Photoshop: Deve estar instalado localmente (testado com as versões CC2017 até 2024)
  • Python: Versão 3.10 ou superior

Instalação

Nota: Lembre-se de que este pacote funciona apenas em sistemas Windows.

# Install using pip
pip install photoshop-mcp-server

# Or using uv
uv install photoshop-mcp-server

Configuração do Host MCP

Este servidor foi projetado para funcionar com vários hosts MCP. A variável de ambiente PS_VERSION é usada para especificar qual versão do Photoshop conectar (por exemplo, "2024", "2023", "2022", etc.).

A maneira recomendada de configurar o servidor é usando uvx como comando, que é o formato padrão oficial.

Configuração Padrão (Recomendada)

Adicione o seguinte à configuração do seu host MCP (funciona com Claude Desktop, Windsurf, Cline e outros hosts MCP):

{
  "mcpServers": {
    "photoshop": {
      "command": "uvx",
      "args": ["--python", "3.10", "photoshop-mcp-server"],
      "env": {
        "PS_VERSION": "2024"
      }
    }
  }
}

Opções de Configuração

  • PS_VERSION: Especifique a versão do Photoshop para conectar (por exemplo, "2024", "2023", "2022", etc.)
  • command: Use uvx para a abordagem padrão
  • args: Use ["photoshop-mcp-server"] para executar o servidor MCP do Photoshop
    • Para especificar uma versão do Python explicitamente, use ["--python", "3.10", "photoshop-mcp-server"] (qualquer versão de 3.10 a 3.14 é suportada)

Principais Recursos

Recursos Disponíveis

  • photoshop://info - Obter informações do aplicativo Photoshop
  • photoshop://document/info - Obter informações do documento ativo
  • photoshop://document/layers - Obter camadas no documento ativo

Ferramentas Disponíveis

O servidor fornece várias ferramentas para controlar o Photoshop:

  • Ferramentas de Documento: Criar, abrir e salvar documentos
  • Ferramentas de Camada: Criar camadas de texto, camadas de cor sólida, etc.
  • Ferramentas de Sessão: Obter informações sobre a sessão do Photoshop, documento ativo, seleção
  • Ferramentas de Script: Executar JavaScript (JSX) arbitrário do Photoshop com photoshop_execute_jsx

photoshop_execute_jsx

Uma saída de escape universal: executa qualquer trecho de JavaScript (ExtendScript/JSX) do Photoshop, permitindo alcançar partes da API do Photoshop que as ferramentas dedicadas acima não cobrem (canais, caminhos, estados de histórico, filtros, automação personalizada, operações em lote, ...).

  • Scripts suportados: qualquer JavaScript do Photoshop que a versão em execução do Photoshop aceite. O mecanismo ExtendScript do Photoshop é baseado em ECMAScript 3, então use sintaxe ES3 (var, sem arrow functions, sem let/const). Um polyfill de JSON.stringify é injetado automaticamente, então JSON.stringify(...) funciona mesmo que o mecanismo não tenha objeto JSON nativo.
  • Tipo de script: passe o corpo do script como uma única string. Retorne um valor com uma instrução return explícita, ou deixe a última expressão como resultado.
  • Valor de retorno: { "success": true, "result": <script output> } em caso de sucesso, e { "success": false, "error": <message> } em caso de falha. Um script que lança uma exceção dentro do Photoshop e uma instância do Photoshop que não pode ser alcançada relatam ambos success: false, então os chamadores nunca precisam inspecionar o payload para distinguir os dois.

Exemplos:

// Count art layers in the active document
app.activeDocument.artLayers.length;
// Get every layer name as JSON
var doc = app.activeDocument;
var names = [];
for (var i = 0; i < doc.artLayers.length; i++) {
    names.push(doc.artLayers[i].name);
}
JSON.stringify(names);

Nota: O script é executado com os mesmos privilégios da interface do Photoshop, portanto pode modificar ou destruir o documento ativo. Salve seu trabalho antes de executar automação destrutiva.

Exemplos de Prompts para Assistentes de IA

Uma vez configurado no seu host MCP, você pode usar o servidor MCP do Photoshop nas conversas do seu assistente de IA. Aqui estão alguns exemplos de prompts para começar:

Exemplos Básicos

User: Can you create a new Photoshop document and add a text layer with "Hello World"?

AI Assistant: I'll create a new document and add the text layer for you.

[The AI uses the Photoshop MCP server to:
1. Create a new document using the `create_document` tool
2. Add a text layer using the `create_text_layer` tool with the text "Hello World"]

I've created a new Photoshop document and added a text layer with "Hello World".

Exemplos Mais Avançados

User: Open my latest PSD file and tell me how many layers it has.

AI Assistant: I'll check your latest PSD file and count the layers.

[The AI uses the Photoshop MCP server to:
1. Get information about open documents
2. If no document is open, it can browse and open a PSD file
3. Retrieve and analyze the layer structure]

Your document has 12 layers, including 3 group folders and 2 adjustment layers.
User: Create a social media post with a gradient background and the text "Summer Sale" in a bold font.

AI Assistant: I'll create that social media post for you.

[The AI uses the Photoshop MCP server to:
1. Create a new document with appropriate dimensions for social media
2. Create a gradient fill layer with summer colors
3. Add a text layer with "Summer Sale" in a bold font
4. Position and style the text appropriately]

I've created your social media post with a gradient background and bold "Summer Sale" text.

Licença

MIT

Agradecimentos