MCP server for Adobe Photoshop automation - Control Photoshop from AI assistants with 50+ tools for design, image editing, and workflow automation
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution in alisaitteke/photoshop-mcp
transport stdio · http counts 1 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
left
, top, right, bottom (number, required): Selection bounds in pixels
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 362e32d · analyzer v18 · 2h ago
danger signals1
- dynamic code executionnew Function()alisaitteke-photoshop-mcp-362e32d/src/utils/extendscript-result.ts:21
return new Function(`return ${trimmed}`)() as unknown;
evidence-backed
findings quoted directly from the published source artifact — not inferred
filesystem 12
- fs alisaitteke-photoshop-mcp-362e32d/src/lib/export-paths.ts :2
import { mkdirSync } from 'node:fs'; - fs alisaitteke-photoshop-mcp-362e32d/src/platform/macos-detector.ts :3
import { access, constants, readFile } from 'fs/promises'; - fs alisaitteke-photoshop-mcp-362e32d/src/platform/macos-executor.ts :3
import { writeFile, unlink } from 'fs/promises'; - fs alisaitteke-photoshop-mcp-362e32d/src/platform/windows-detector.ts :3
import { access, constants } from 'fs/promises'; - fs alisaitteke-photoshop-mcp-362e32d/src/platform/windows-executor.ts :3
import { writeFile, unlink } from 'fs/promises'; - fs alisaitteke-photoshop-mcp-362e32d/src/tools/recipes/batch-mockup-replace.ts :1
import { readdir, stat } from 'node:fs/promises'; - fs alisaitteke-photoshop-mcp-362e32d/src/tools/state-tools.ts :1
import { readFile, unlink } from 'node:fs/promises'; - fs alisaitteke-photoshop-mcp-362e32d/src/ui/agent/gemini-account.ts :1
import { mkdir, writeFile } from 'node:fs/promises'; - fs alisaitteke-photoshop-mcp-362e32d/src/ui/cli.ts :3
import { readFileSync } from 'node:fs'; - fs alisaitteke-photoshop-mcp-362e32d/src/ui/providers/cli-utils.ts :1
import { access } from 'node:fs/promises'; - fs alisaitteke-photoshop-mcp-362e32d/src/ui/server.ts :4
import { readFile, stat } from 'node:fs/promises'; - fs alisaitteke-photoshop-mcp-362e32d/src/ui/store/db.ts :2
import { mkdirSync } from 'node:fs';
shell / exec 7
- shell alisaitteke-photoshop-mcp-362e32d/scripts/spike-issue-2.ts :9
import { execSync } from 'node:child_process'; - shell alisaitteke-photoshop-mcp-362e32d/src/platform/macos-detector.ts :1
import { exec } from 'child_process'; - shell alisaitteke-photoshop-mcp-362e32d/src/platform/macos-executor.ts :1
import { exec, spawn } from 'child_process'; - shell alisaitteke-photoshop-mcp-362e32d/src/platform/windows-detector.ts :1
import { exec } from 'child_process'; - shell alisaitteke-photoshop-mcp-362e32d/src/platform/windows-executor.ts :1
import { exec, spawn } from 'child_process'; - shell alisaitteke-photoshop-mcp-362e32d/src/ui/agent/gemini-account.ts :4
import { spawn } from 'node:child_process'; - shell alisaitteke-photoshop-mcp-362e32d/src/ui/providers/cli-utils.ts :2
import { spawn } from 'node:child_process';
network 5
- net alisaitteke-photoshop-mcp-362e32d/src/ui/providers/anthropic.ts :52
const res = await fetch('https://api.anthropic.com/v1/models?limit=1', { - net alisaitteke-photoshop-mcp-362e32d/src/ui/providers/google.ts :53
const res = await fetch( - net alisaitteke-photoshop-mcp-362e32d/src/ui/providers/openai.ts :49
const res = await fetch('https://api.openai.com/v1/models', { - net alisaitteke-photoshop-mcp-362e32d/src/ui/providers/openrouter.ts :60
const res = await fetch('https://openrouter.ai/api/v1/auth/key', { - net alisaitteke-photoshop-mcp-362e32d/web/src/lib/api.ts :16
const res = await fetch(path, { ...init, headers });
database 1
- db alisaitteke-photoshop-mcp-362e32d/src/ui/store/db.ts :1
import Database, { type Database as DatabaseType } from 'better-sqlite3';
declared dependencies 23
- @ai-sdk/anthropic@^3.0.75
- @ai-sdk/google@^3.0.67
- @ai-sdk/mcp@^1.0.40
- @ai-sdk/openai@^3.0.61
- @anthropic-ai/claude-agent-sdk@^0.3.173
- @hono/node-server@^1.13.7
- @modelcontextprotocol/sdk@^1.0.4
- @openrouter/ai-sdk-provider@^2.9.0
- ai@^6.0.175
- better-sqlite3@^12.9.0
- get-port@^7.1.0
- hono@^4.6.14
- open@^10.1.0
- zod@^4.4.3
- @types/better-sqlite3@^7.6.13
- @types/node@^22.10.5
- @typescript-eslint/eslint-plugin@^8.20.0
- @typescript-eslint/parser@^8.20.0
- concurrently@^9.1.2
- eslint@^9.18.0
- prettier@^3.4.2
- tsx@^4.19.2
- typescript@^5.7.3