@bubblydoo/photoshop-mcp 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +138 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +7049 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist-readmes/README.md +383 -0
  6. package/dist-runtime/runtime-code.cjs +17124 -0
  7. package/dist-runtime/runtime-code.d.cts +9 -0
  8. package/dist-schemas/@adobe-uxp-types/photoshop/src/index.d.ts +16 -0
  9. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/all-types.d.ts +65 -0
  10. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/Actions.d.ts +230 -0
  11. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/Channel.d.ts +120 -0
  12. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/ColorSampler.d.ts +105 -0
  13. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/Constants.d.ts +1648 -0
  14. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/CoreModules.d.ts +922 -0
  15. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/CountItem.d.ts +86 -0
  16. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/Document.d.ts +931 -0
  17. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/Guide.d.ts +105 -0
  18. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/HistoryState.d.ts +74 -0
  19. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/ImagingModule.d.ts +559 -0
  20. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/Layer.d.ts +1073 -0
  21. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/LayerComp.d.ts +219 -0
  22. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/Objects.d.ts +7 -0
  23. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/PathItem.d.ts +243 -0
  24. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/PathPoint.d.ts +78 -0
  25. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/Photoshop.d.ts +317 -0
  26. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/Selection.d.ts +557 -0
  27. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/SubPathItem.d.ts +69 -0
  28. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/TextItem.d.ts +213 -0
  29. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/Channels.d.ts +81 -0
  30. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/ColorSamplers.d.ts +97 -0
  31. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/CountItems.d.ts +130 -0
  32. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/Documents.d.ts +95 -0
  33. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/Guides.d.ts +76 -0
  34. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/HistoryStates.d.ts +56 -0
  35. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/LayerComps.d.ts +92 -0
  36. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/Layers.d.ts +68 -0
  37. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/PathItems.d.ts +65 -0
  38. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/PathPoints.d.ts +50 -0
  39. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/SubPathItems.d.ts +50 -0
  40. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/collections/TextFonts.d.ts +43 -0
  41. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/objects/Colors.d.ts +225 -0
  42. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/objects/ConversionOptions.d.ts +213 -0
  43. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/objects/ImagingBounds.d.ts +53 -0
  44. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/objects/PathPointInfo.d.ts +84 -0
  45. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/objects/SaveOptions.d.ts +376 -0
  46. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/objects/SolidColor.d.ts +118 -0
  47. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/objects/SubPathInfo.d.ts +47 -0
  48. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/objects/TextFont.d.ts +49 -0
  49. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/objects/Tool.d.ts +23 -0
  50. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/Preferences.d.ts +121 -0
  51. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesBase.d.ts +9 -0
  52. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesCursors.d.ts +37 -0
  53. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesFileHandling.d.ts +58 -0
  54. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesGeneral.d.ts +77 -0
  55. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesGuidesGridsAndSlices.d.ts +51 -0
  56. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesHistory.d.ts +69 -0
  57. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesInterface.d.ts +46 -0
  58. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesPerformance.d.ts +42 -0
  59. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesTools.d.ts +44 -0
  60. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesTransparencyAndGamut.d.ts +38 -0
  61. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesType.d.ts +44 -0
  62. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/preferences/PreferencesUnitsAndRulers.d.ts +44 -0
  63. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/text/CharacterStyle.d.ts +254 -0
  64. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/text/ParagraphStyle.d.ts +114 -0
  65. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/text/TextWarpStyle.d.ts +48 -0
  66. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/types/ApplyImageTypes.d.ts +107 -0
  67. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/types/CalculationsTypes.d.ts +119 -0
  68. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/types/DocumentTypes.d.ts +80 -0
  69. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/types/LayerCompTypes.d.ts +91 -0
  70. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/types/LayerTypes.d.ts +153 -0
  71. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/types/SharedTypes.d.ts +6 -0
  72. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/dom/types/TextTypes.d.ts +218 -0
  73. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/util/colorTypes.d.ts +61 -0
  74. package/dist-schemas/@adobe-uxp-types/photoshop/src/internal/util/unit.d.ts +45 -0
  75. package/dist-schemas/@adobe-uxp-types/uxp/src/index.d.ts +21 -0
  76. package/dist-schemas/@adobe-uxp-types/uxp/src/internal/all-types.d.ts +3 -0
  77. package/dist-schemas/@adobe-uxp-types/uxp/src/internal/dialog.d.ts +26 -0
  78. package/dist-schemas/@adobe-uxp-types/uxp/src/internal/entrypoints.d.ts +385 -0
  79. package/dist-schemas/@adobe-uxp-types/uxp/src/internal/host.d.ts +28 -0
  80. package/dist-schemas/@adobe-uxp-types/uxp/src/internal/os.d.ts +56 -0
  81. package/dist-schemas/@adobe-uxp-types/uxp/src/internal/other.d.ts +7 -0
  82. package/dist-schemas/@adobe-uxp-types/uxp/src/internal/shell.d.ts +54 -0
  83. package/dist-schemas/@adobe-uxp-types/uxp/src/internal/storage.d.ts +1216 -0
  84. package/dist-schemas/@adobe-uxp-types/uxp/src/internal/versions.d.ts +18 -0
  85. package/dist-schemas/@bubblydoo/uxp-toolkit/dist/commands-library/index.d.ts +109 -0
  86. package/dist-schemas/@bubblydoo/uxp-toolkit/dist/index.d.ts +153 -0
  87. package/dist-schemas/@bubblydoo/uxp-toolkit/dist/psLayerRef-BJKcxKbm.d.ts +66 -0
  88. package/package.json +51 -0
package/README.md ADDED
@@ -0,0 +1,138 @@
1
+ # @bubblydoo/photoshop-mcp
2
+
3
+ MCP (Model Context Protocol) server for Photoshop automation via Chrome DevTools Protocol.
4
+
5
+ This allows AI assistants to execute JavaScript code directly in Adobe Photoshop's UXP environment.
6
+
7
+ ## How it works
8
+
9
+ 1. The MCP server connects to Photoshop via the Chrome DevTools Protocol (CDP)
10
+ 2. User code is bundled with esbuild (ESM → CJS) along with the `@bubblydoo/uxp-toolkit` runtime
11
+ 3. The bundled code is evaluated in Photoshop's UXP execution context
12
+ 4. Results are returned via CDP, with promise awaiting support
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ pnpm add @bubblydoo/photoshop-mcp
18
+ ```
19
+
20
+ ## Usage
21
+
22
+ ### Start the server
23
+
24
+ ```bash
25
+ # Using the CLI
26
+ pnpm photoshop-mcp
27
+
28
+ # Or with a custom port
29
+ PORT=3020 pnpm photoshop-mcp
30
+
31
+ # Or run directly
32
+ node dist/index.js
33
+ ```
34
+
35
+ The server starts at `http://localhost:3020/mcp` by default.
36
+
37
+ ### Test with MCP Inspector
38
+
39
+ ```bash
40
+ pnpx @modelcontextprotocol/inspector --transport http --server-url http://localhost:3020/mcp
41
+ ```
42
+
43
+ ### Configure with Cursor
44
+
45
+ Add to your Cursor MCP settings:
46
+
47
+ ```json
48
+ {
49
+ "mcpServers": {
50
+ "photoshop": {
51
+ "url": "http://localhost:3020/mcp"
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
57
+ ## Available Tools
58
+
59
+ ### `execute`
60
+
61
+ Execute JavaScript code in Photoshop's UXP context.
62
+
63
+ **Input:**
64
+ - `name` (string): Descriptive name for the operation (shown in UI)
65
+ - `code` (string): ESM JavaScript code to execute
66
+
67
+ **Features:**
68
+ - Code is bundled with esbuild before execution
69
+ - `@bubblydoo/uxp-toolkit` and `@bubblydoo/uxp-toolkit/commands` are available as imports
70
+ - Use `export default` to return values
71
+ - Returned promises are automatically awaited
72
+ - Top-level await is not supported (return a promise instead)
73
+
74
+ **Example:**
75
+ ```javascript
76
+ import { app } from '@bubblydoo/uxp-toolkit';
77
+
78
+ export default app.activeDocument?.name ?? 'No document open';
79
+ ```
80
+
81
+ ### `read-schema`
82
+
83
+ Read the TypeScript type definitions for the toolkit packages.
84
+
85
+ **Input:**
86
+ - `package` (enum): Either `@bubblydoo/uxp-toolkit` or `@bubblydoo/uxp-toolkit/commands`
87
+
88
+ ### `read-docs`
89
+
90
+ Read the documentation for the toolkit packages.
91
+
92
+ ## Environment Variables
93
+
94
+ | Variable | Default | Description |
95
+ |----------|---------|-------------|
96
+ | `PORT` | `3020` | HTTP server port |
97
+ | `PHOTOSHOP_MCP_PLUGIN_PATH` | (internal fake-plugin) | Path to UXP plugin directory |
98
+ | `PHOTOSHOP_MCP_PLUGIN_ID` | `com.example.fakeplugin` | Plugin ID from manifest.json |
99
+
100
+ ## Endpoints
101
+
102
+ - `POST /mcp` - MCP protocol endpoint (Streamable HTTP transport)
103
+ - `GET /mcp` - MCP protocol endpoint (for SSE connections)
104
+ - `GET /health` - Health check (returns `{ "status": "ok" }`)
105
+
106
+ ## Requirements
107
+
108
+ - Adobe Photoshop with UXP support
109
+ - Photoshop must have Developer Mode enabled
110
+ - The UXP Developer Tools must be accessible
111
+
112
+ ## Architecture
113
+
114
+ ```
115
+ ┌─────────────────┐ HTTP/MCP ┌──────────────────┐
116
+ │ AI Assistant │ ◄───────────────► │ photoshop-mcp │
117
+ │ (Cursor, etc) │ │ (Hono server) │
118
+ └─────────────────┘ └────────┬─────────┘
119
+ │ CDP
120
+
121
+ ┌──────────────────┐
122
+ │ Photoshop │
123
+ │ (UXP Runtime) │
124
+ └──────────────────┘
125
+ ```
126
+
127
+ ## Development
128
+
129
+ ```bash
130
+ # Build
131
+ pnpm build
132
+
133
+ # Watch mode
134
+ pnpm dev
135
+
136
+ # Start server
137
+ pnpm start
138
+ ```
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node