Photoshop MCP服务器
🌐 语言: 英语 | 韩语
概述
此MCP服务器将Photoshop自动化作为一组工具公开,任何兼容MCP的AI客户端(Claude Desktop、GitHub Copilot等)都可以调用。主要工具是 ExecuteJavaScript,这使AI能够完全访问Photoshop的脚本引擎,使其能够灵活地决定在运行时做什么。
需求
- 视窗 (COM自动化仅适用于Windows)
- Adobe Photoshop (支持COM自动化和
DoJavaScript) - .NET 10 SDK 或以后
安装
1.克隆存储库
git clone https://github.com/airtaxi/PhotoshopMcpServer.git
cd PhotoshopMcpServer2.建造
dotnet build3.(可选)发布为自包含的可执行文件
dotnet publish PhotoshopMcpServer/PhotoshopMcpServer.csproj -c Release -r win-x64 --self-contained可执行文件将位于 PhotoshopMcpServer/bin/Release/net10.0-windows/win-x64/publish/.
MCP服务器配置
克劳德桌面
将以下内容添加到您的Claude Desktop配置文件中:
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json
选项A:从源代码运行(需要.NET SDK)
{
"mcpServers": {
"photoshop": {
"command": "dotnet",
"args": ["run", "--project", "C:\\path\\to\\PhotoshopMcpServer\\PhotoshopMcpServer"]
}
}
}选项B:运行已发布的可执行文件
{
"mcpServers": {
"photoshop": {
"command": "C:\\path\\to\\PhotoshopMcpServer.exe"
}
}
}GitHub副本(VS代码)
添加到您的 .vscode/mcp.json 或VS代码设置:
{
"servers": {
"photoshop": {
"command": "dotnet",
"args": ["run", "--project", "C:\\path\\to\\PhotoshopMcpServer\\PhotoshopMcpServer"]
}
}
}光标
添加到光标MCP设置(~/.cursor/mcp.json):
{
"mcpServers": {
"photoshop": {
"command": "dotnet",
"args": ["run", "--project", "C:\\path\\to\\PhotoshopMcpServer\\PhotoshopMcpServer"]
}
}
}备注:替换 C:\path\to\PhotoshopMcpServer 使用克隆存储库的实际路径。可用工具
| 工具 | 说明 |
|---|---|
ExecuteJavaScript | 主要工具 --在Photoshop的脚本引擎中执行任意JavaScript |
IsPhotoshopRunning | 检查Photoshop是否正在运行且可访问 |
LaunchPhotoshop | 启动Photoshop或连接到正在运行的实例 |
GetPhotoshopVersion | 获取Photoshop版本字符串 |
GetActiveDocumentInfo | 获取有关活动文档的信息(名称、大小、颜色模式、分辨率) |
GetOpenDocuments | 列出所有打开的文档名称 |
OpenDocument | 按路径打开图像文件 |
SaveActiveDocument | 保存当前文档 |
CreateNewDocument | 创建具有指定尺寸的新文档 |
ExportAsPng | 将活动文档导出为PNG |
ExportAsJpeg | 将活动文档导出为JPEG格式,并设置质量 |
GetLayerInfo | 获取活动文档中所有层的摘要 |
ExecuteJavaScript——强大的工具
这 ExecuteJavaScript 该工具故意具有灵活性。它允许人工智能构建和执行任何有效的Photoshop JavaScript,使其能够完全控制Photoshop。示例脚本:
// Get document name
app.activeDocument.name
// Create a new document
app.documents.add(1920, 1080, 72, "My Canvas")
// Resize the active document
app.activeDocument.resizeImage(800, 600)
// Flatten all layers
app.activeDocument.flatten()
// Apply Gaussian blur to the active layer
app.activeDocument.activeLayer.applyGaussianBlur(5.0)
// Get all layer names
var names = [];
for (var i = 0; i < app.activeDocument.layers.length; i++)
names.push(app.activeDocument.layers[i].name);
names.join(", ");项目结构
PhotoshopMcpServer/
├── .github/
│ └── copilot-instructions.md # C# code style rules for Copilot
├── PhotoshopMcpServer/
│ ├── Program.cs # MCP server entry point (stdio transport)
│ ├── Models/
│ │ └── PhotoshopModels.cs # Record types for results and document info
│ ├── Services/
│ │ ├── IPhotoshopService.cs # Photoshop COM service interface
│ │ └── PhotoshopService.cs # COM automation implementation
│ └── Tools/
│ └── PhotoshopTools.cs # MCP tool definitions (13 tools)
├── PhotoshopMcpServer.Tests/
│ ├── PhotoshopToolsTests.cs # Tool unit tests (28 tests)
│ └── PhotoshopServiceTests.cs # Model tests (7 tests)
├── PhotoshopMcpServer.slnx
├── LICENSE
└── README.md运行测试
dotnet test运作原理
- MCP服务器启动并通过以下方式进行通信 标准 (标准输入/输出)
- AI客户端连接并发现可用工具
- 当AI调用工具时,服务器使用 Windows COM自动化 向Photoshop发送命令
- Photoshop执行命令(通常通过
DoJavaScript)并返回结果 - 结果被发送回AI客户端
AI Client ←→ MCP (stdio) ←→ PhotoshopMcpServer ←→ COM ←→ Adobe Photoshop许可证
该项目根据 MIT许可证.
致谢
- 模型上下文协议C#SDK --官方MCP SDK。网
- --人工智能辅助开发该项目
作者
Howon Lee (@空中出租车)
