Photoshop MCP server

Provides a bridge to Adobe Photoshop for executing image editing operations including document creation, layer manipulation, filters, text, and Adobe Stock integration
Back to servers
Provider
Agampreet Singh
Release date
Mar 25, 2025
Language
Python
Stats
3 stars

This MCP server implementation adds Photoshop host integration to the broader Model Context Protocol ecosystem. It allows Photoshop to communicate with LLM providers via the MCP protocol, enabling Photoshop to request text completions and other model services while preserving context about the user's current work environment.

Installation

You can install the MCP Photoshop server using npm:

npm install -g @adobe/mcp-photoshop

Alternatively, you can clone the repository and build the server locally:

git clone https://github.com/adobe/mcp-photoshop.git
cd mcp-photoshop
npm install
npm run build

Configuration

Environment Variables

The MCP Photoshop server uses environment variables for configuration:

  • PORT: The port number on which the server will listen (default: 3000)
  • OPENAI_API_KEY: Your OpenAI API key (if using OpenAI as the model provider)
  • ANTHROPIC_API_KEY: Your Anthropic API key (if using Anthropic as the model provider)
  • AZURE_OPENAI_API_KEY: Your Azure OpenAI API key (if using Azure as the model provider)
  • AZURE_OPENAI_ENDPOINT: Your Azure OpenAI endpoint URL

You can set these variables in a .env file in the root directory of the project or use your system's method for setting environment variables.

Config File

Alternatively, you can configure the server using a JSON configuration file. Create a config.json file:

{
  "port": 3000,
  "providers": {
    "openai": {
      "apiKey": "your-api-key"
    },
    "anthropic": {
      "apiKey": "your-api-key"
    },
    "azure": {
      "apiKey": "your-api-key",
      "endpoint": "your-endpoint-url"
    }
  }
}

Running the Server

To start the server, run:

mcp-photoshop

If you've cloned the repository locally:

npm start

With a custom configuration file:

mcp-photoshop --config=/path/to/config.json

Server Options

The server accepts the following command-line options:

  • --port, -p: Specify the port to listen on
  • --config, -c: Path to a configuration file
  • --verbose, -v: Enable verbose logging

Example:

mcp-photoshop --port=4000 --verbose

Connecting Photoshop

Once the server is running, you can configure Photoshop to connect to it:

  1. Open Photoshop
  2. Go to Edit > Preferences > AI Settings (Windows) or Photoshop > Preferences > AI Settings (Mac)
  3. Under "MCP Connection", enter the server URL (e.g., http://localhost:3000)
  4. Click "Test Connection" to verify the connection
  5. Click "OK" to save the settings

Using with Photoshop

After connecting Photoshop to the MCP server, you can access LLM features in Photoshop:

Generative Fill

  1. Select an area of your image
  2. Go to Edit > Generative Fill
  3. Enter a text prompt describing what you want to generate
  4. Photoshop will send the request to the MCP server, which will forward it to the configured LLM provider

Generative Expand

  1. Select your image or layer
  2. Go to Image > Canvas Size and increase the canvas dimensions
  3. Select the empty area with a selection tool
  4. Go to Edit > Generative Expand
  5. Enter a text prompt describing how to expand your image

Text Generation

  1. Select a text layer or create a new one
  2. Right-click and select "Generate Text with AI"
  3. Enter a prompt describing the text you want to generate
  4. The MCP server will process your request and return the generated text

Troubleshooting

Server Connection Issues

If Photoshop can't connect to the MCP server:

  • Verify the server is running by accessing http://localhost:3000/health in your browser
  • Check that the port is not blocked by a firewall
  • Ensure you've entered the correct server URL in Photoshop preferences

Authorization Errors

If you encounter API authorization errors:

  • Check that you've correctly configured your API keys
  • Verify that your API keys have the necessary permissions
  • Ensure your API keys are not expired

Log Files

The server logs can be helpful for troubleshooting:

  • Standard logs are written to the console
  • With the --verbose flag, more detailed logs will be displayed
  • Check these logs for any error messages or warnings

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later