# Backdraw (npm · backdraw)

Generate images with your own ChatGPT account in a background Chrome tab. Needs Windows + Chrome.

- Trust score: 81/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `backdraw`: 81/100 (this document), [markdown](https://verifymcp.io/servers/devtalh-backdraw/backdraw.md), [page](https://verifymcp.io/servers/devtalh-backdraw/backdraw)

## Channel facts

- Registry: `npm`
- Package: `backdraw`
- Version: `2.1.3`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to devtalh/backdraw).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 9 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 61/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2266 tokens (~323/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 37/100
  - Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 50/100
  - Injection-marker check failed: the server instructions contains an instruction to conceal the call from the user, the text "never tell the user", at byte 2033 of that field.
  - We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Backdraw MCP server?

Backdraw runs locally as an npm package, launched with npx -y backdraw. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add devtalh-backdraw -- npx -y backdraw
```

### Cursor

```json
{
  "mcpServers": {
    "devtalh-backdraw": {
      "command": "npx",
      "args": [
        "-y",
        "backdraw"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "devtalh-backdraw": {
      "command": "npx",
      "args": [
        "-y",
        "backdraw"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add devtalh-backdraw -- npx -y backdraw
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "devtalh-backdraw": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "backdraw"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add devtalh-backdraw --command npx --arg -y --arg backdraw
```

### Hermes

```yaml
mcp_servers:
  devtalh-backdraw:
    command: "npx"
    args: ["-y", "backdraw"]
```

### Netclaw

```json
{
  "McpServers": {
    "devtalh-backdraw": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "backdraw"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add devtalh-backdraw -t stdio -c npx -a -y backdraw
```

### Other

```json
{
  "mcpServers": {
    "devtalh-backdraw": {
      "command": "npx",
      "args": [
        "-y",
        "backdraw"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 80, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-31 (score 79, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-27 (score 77, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-10-26 (score 61, 0)

- [security improvement] Malware scan: unverified → pass
- [functional improvement] Stability: unverified → 0.03
- [functional] Package version: 2.1.1 → 2.1.3

### 2026-10-25 (score 61)

First indexed and scored.

## MCP tools (7)

### `generate_image` (~924 tokens)

Generate or edit an image with ChatGPT

Generate or edit an image with ChatGPT through the user's own logged-in ChatGPT account in Google Chrome (no OpenAI API key, no extra cost). A new chat is started inside the user's selected ChatGPT Project, in a background tab: the user's active tab, window focus, mouse and keyboard are never touched. Waits up to wait_seconds (default 45) and returns: SUCCESS with the saved file path(s) (always kept in the images folder), a preview and the conversation link; NEEDS REFERENCE IMAGE / CHATGPT REPLIED WITHOUT AN IMAGE together with ChatGPT's own reply text; or, while ChatGPT is still working, STILL RUNNING / QUEUED with a job id: then keep calling job_status with that job_id. Use it whenever the user asks for an image, visual, illustration or concept art with ChatGPT, in any language. Write a detailed, self-contained prompt (subject, style, composition, colors, mood); give the shape in aspect_ratio rather than in the prompt. To edit an image or keep a character consistent, pass the image file(s) in reference_images: a fresh chat with reference_images is the most reliable way to edit. To use one of the user's saved reference collections (see list_collections), pass reference_collection.

Input parameters:

- `aspect_ratio` (string): Optional shape as W:H, e.g. 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 4:5, 5:2 (Discord banner) or 3:1 (header). Any W:H with whole numbers between 1:4 and 4:1 works (not 1.5:1: use 3:2). ChatGPT draws 1:…
- `auto_reattach` (boolean): If ChatGPT answers that it can't access the image and asks for it to be uploaded, attach the chat's latest image (or reference_images) automatically and ask once more.
- `conversation_url` (string): Optional ChatGPT conversation link from an earlier result: the prompt is sent in that chat instead of a new one. Fine for quick follow-ups; for exact edits prefer reference_images in a fresh chat.
- `filename_hint` (string): Optional few words naming the subject (e.g. 'red fox mascot'), used for the saved file name instead of the start of the prompt. Pass it when the prompt opens with something else, such as instructions…
- `include_preview` (boolean): Attach a downscaled preview of the result so you can check it.
- `output_dir` (string): Optional folder to also copy the image(s) into, e.g. the current project's assets folder (absolute path preferred). The central images folder always keeps a copy.
- `prompt` (string, required): Full image description or edit instructions, in any language.
- `reference_collection` (string): Optional name of one of the user's Backdraw reference collections (see list_collections; matched loosely). Its images are attached after any reference_images, up to 16 references in total: over the l…
- `reference_files` (array): Optional file names from list_collections to attach only those images of reference_collection, instead of the newest.
- `reference_images` (array): Optional local image files (png/jpg/webp/gif, up to 16) attached to the message, e.g. the image to edit or a character sheet. Paths saved by earlier calls work directly.
- `send_as_is` (boolean): Send the prompt verbatim, without the short instruction the bridge adds (useful to answer a question ChatGPT asked).
- `transparent_background` (boolean): Ask for a PNG with a transparent background (stickers, logos, icons, sprites). The result says whether the saved image really has transparent pixels.
- `wait_seconds` (integer): Return within this many seconds. The default 45 keeps each call under the 60-second tool limit some clients have. If the job has not finished by then, the result says STILL RUNNING or QUEUED: call jo…

### `job_status` (~185 tokens)

ChatGPT image job status

Check a ChatGPT image job by job_id, waiting up to wait_seconds (default 45) for it to finish; call it again while the result says STILL RUNNING or QUEUED. Without job_id it reports the bridge itself: whether Chrome and the extension are connected, the selected ChatGPT project, the images folder, the queue and recent jobs.

Input parameters:

- `include_preview` (boolean): Attach the image preview when the job succeeded.
- `job_id` (string): Job id returned by generate_image (e.g. img_1a2b3c4d).
- `wait_seconds` (integer): Return within this many seconds. The default 45 keeps each call under the 60-second tool limit some clients have. If the job has not finished by then, the result says STILL RUNNING or QUEUED: call jo…

### `cancel_job` (~49 tokens)

Cancel a ChatGPT image job

Cancel a queued or running ChatGPT image job. If ChatGPT is already generating, it presses Stop in the background tab and closes that tab.

Input parameters:

- `job_id` (string, required): Job id to cancel.

### `fetch_images` (~277 tokens)

Fetch images from a ChatGPT conversation

Download the generated images of the latest answer in an existing ChatGPT conversation (by its link) without sending anything. Use it when a job timed out or failed after ChatGPT had started, but the chat finished later, or to save images from an earlier chat. Like generate_image it returns within wait_seconds (default 45); if it says STILL RUNNING or QUEUED, keep calling job_status with its job_id.

Input parameters:

- `aspect_ratio` (string): Optional W:H (between 1:4 and 4:1, e.g. 16:9) to crop the downloaded images to, from the centre; the full images are kept too. For the result of a generate_image job, pass its aspect_ratio again.
- `conversation_url` (string, required): ChatGPT conversation link (https://chatgpt.com/…/c/…).
- `include_preview` (boolean): Attach a downscaled preview.
- `output_dir` (string): Optional folder to also copy the image(s) into (absolute path preferred).
- `wait_seconds` (integer): Return within this many seconds. The default 45 keeps each call under the 60-second tool limit some clients have. If the job has not finished by then, the result says STILL RUNNING or QUEUED: call jo…

### `list_projects` (~43 tokens)

List ChatGPT projects

List the Projects in the user's ChatGPT account (read from ChatGPT's sidebar in a background tab) and show which one is selected for images. Use it during setup.

### `select_project` (~79 tokens)

Select the ChatGPT project for images

Select and remember the ChatGPT Project where new image chats are created. Pass the project name as shown in ChatGPT (matched loosely) or its https://chatgpt.com/g/g-p-…/project link.

Input parameters:

- `name` (string): Project name as shown in ChatGPT.
- `url` (string): Project link (alternative to name).

### `list_collections` (~79 tokens)

List Backdraw reference collections

List the reference collections the user saved in Chrome (right-click an image, "Add to Backdraw"): each with its image count, folder and files (newest first, with the site they came from). Pass a collection's name as generate_image's reference_collection to attach its images (up to 16 references; reference_files picks specific ones).

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/devtalh-backdraw/backdraw#diagnostics

## Score history

- 2026-11-05: 81
- 2026-11-04: 81
- 2026-11-03: 80
- 2026-11-02: 80
- 2026-11-01: 79
- 2026-10-31: 79
- 2026-10-30: 78
- 2026-10-29: 78
- 2026-10-28: 77
- 2026-10-27: 77
- 2026-10-26: 61
- 2026-10-25: 61

## Common questions

### What is the Backdraw MCP server?

Backdraw is an MCP server listed in the public MCP registry as io.github.devtalh/backdraw. Generate images with your own ChatGPT account in a background Chrome tab. Needs Windows + Chrome. This page covers its npm package (backdraw).

### Is the Backdraw MCP server safe to use?

Backdraw scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Backdraw MCP server expose?

Backdraw exposes 7 tools: generate_image, job_status, cancel_job, fetch_images, list_projects, and 2 more. Their descriptions and schemas cost roughly 1,636 tokens of context every time the server is loaded.

### Is the Backdraw MCP server still maintained?

Backdraw is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Backdraw MCP server under?

Backdraw declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/backdraw
- Socket report: https://socket.dev/npm/package/backdraw
- Repository: https://github.com/devtalh/backdraw
- Changelog RSS feed: https://verifymcp.io/servers/devtalh-backdraw/backdraw.xml
- Changelog JSON feed: https://verifymcp.io/servers/devtalh-backdraw/backdraw.json
- HTML version of this page: https://verifymcp.io/servers/devtalh-backdraw/backdraw
