Mcp Drawthings

io.github.james-seePublished by GitHub account james-seev1.1.2Updated Oct 24, 2026

MCP server for Draw Things - local AI image generation on Mac

VerifiedSTDIODesktop onlyMedia & DesignAI & ML

Overview

AI-generated overview

MCP server that lets an assistant generate and transform images locally through the Draw Things app on an Apple Silicon Mac.

What you can do
  • Check that the Draw Things API server is reachable and read the current configuration, including the loaded model and settings
  • Generate images from text prompts with optional negative prompt, size, steps, guidance scale, seed and output path
  • Transform an existing image from a file path or base64 data using a text prompt, with adjustable denoising strength
  • Save results to a default pictures folder or a custom output path
When to use it
Useful when you want an assistant to create or restyle images with a local Stable Diffusion model on a Mac, without sending prompts to a cloud image service. It suits users who already run Draw Things and want image generation inside Claude Desktop, Cursor or another MCP client.
Requirements
macOS on Apple Silicon (M1 or later), the Draw Things app installed with its API/HTTP server enabled (port 7860 by default), and Node.js 18 or later to run the npm package. Optional environment variables DRAWTHINGS_HOST, DRAWTHINGS_PORT and DRAWTHINGS_OUTPUT_DIR change the host, port and output folder.
Before you install
The server writes image files to disk, by default under the user's Pictures folder, and accepts a custom output path, so check where files land. It talks to a local HTTP endpoint on the Draw Things app, which must be enabled and left running. Generation is compute-heavy and can be slow on large sizes or high step counts.

Installation

In SourceWeft

  1. Open Mcp Drawthings in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mcp-drawthings

An MCP (Model Context Protocol) server for Draw Things - enabling LLMs to generate images locally on Mac using Stable Diffusion and other AI models.

Features

  • Text-to-Image Generation - Generate images from text prompts using the currently loaded model in Draw Things
  • Image-to-Image Transformation - Transform existing images using text prompts
  • Configuration Access - Query the current Draw Things settings and loaded model
  • Local Processing - All image generation runs locally on your Mac using Apple Silicon (M1/M2/M3/M4)

Prerequisites

  • macOS with Apple Silicon (M1/M2/M3/M4)
  • Draw Things app installed
  • Node.js 18 or later

Setup

1. Enable Draw Things API Server

  1. Open Draw Things
  2. Click the gear icon (⚙️) to open Settings
  3. Enable API Server / HTTP Server
  4. The server runs on port 7860 by default

Verify the server is running:

bash
curl http://localhost:7860

2. Configure Your MCP Client

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "drawthings": {      "command": "npx",      "args": ["-y", "mcp-drawthings"]    }  }}
Cursor

Add to .cursor/mcp.json in your project or global config:

json
{  "mcpServers": {    "drawthings": {      "command": "npx",      "args": ["-y", "mcp-drawthings"]    }  }}

3. Restart Your MCP Client

Restart Claude Desktop or Cursor to load the new MCP server.

Available Tools

check_status

Check if the Draw Things API server is running and accessible.

get_config

Get the current Draw Things configuration including the loaded model and settings.

generate_image

Generate an image from a text prompt.

Parameters:

ParameterTypeRequiredDescription
promptstringYesText description of the image to generate
negative_promptstringNoElements to exclude from the generated image
widthnumberNoImage width in pixels (default: 512)
heightnumberNoImage height in pixels (default: 512)
stepsnumberNoNumber of inference steps (default: 20)
cfg_scalenumberNoGuidance scale (default: 7.5)
seednumberNoRandom seed for reproducibility (-1 for random)
output_pathstringNoCustom file path to save the image

Example:

Generate an image of a futuristic city at sunset with flying cars

transform_image

Transform an existing image using a text prompt (img2img).

Parameters:

ParameterTypeRequiredDescription
promptstringYesText description of the desired transformation
image_pathstringNo*Path to the source image file
image_base64stringNo*Base64-encoded source image
negative_promptstringNoElements to exclude
denoising_strengthnumberNoTransformation strength 0.0-1.0 (default: 0.75)
stepsnumberNoNumber of inference steps (default: 20)
cfg_scalenumberNoGuidance scale (default: 7.5)
seednumberNoRandom seed (-1 for random)
output_pathstringNoCustom file path to save the result

*Either image_path or image_base64 must be provided.

Configuration

Environment Variables

VariableDefaultDescription
DRAWTHINGS_HOSTlocalhostDraw Things API host
DRAWTHINGS_PORT7860Draw Things API port
DRAWTHINGS_OUTPUT_DIR~/Pictures/drawthings-mcpDirectory for generated images

Architecture

┌─────────────────┐     stdio      ┌──────────────────┐     HTTP      ┌─────────────┐│   MCP Client    │◄──────────────►│  mcp-drawthings  │◄────────────►│ Draw Things ││ (Claude/Cursor) │   JSON-RPC     │                  │  localhost    │    App      │└─────────────────┘                └──────────────────┘   :7860       └─────────────┘                                           │                                           ▼                                   ┌──────────────┐                                   │  File System │                                   │   (images)   │                                   └──────────────┘

Development

bash
# Clone the repositorygit clone https://github.com/james-see/mcp-drawthingscd mcp-drawthings
# Install dependenciesnpm install
# Buildnpm run build
# Run in development modenpm run dev

Troubleshooting

"Cannot connect to Draw Things API"

  1. Make sure Draw Things is running
  2. Check that the API Server is enabled in Draw Things settings
  3. Verify the server is accessible: curl http://localhost:7860
  4. Check if a different port is configured in Draw Things

Images not generating

  1. Make sure a model is loaded in Draw Things
  2. Check Draw Things for any error messages
  3. Try generating an image directly in Draw Things first

Permission errors saving images

Check that the output directory is writable. You can set a custom directory using the DRAWTHINGS_OUTPUT_DIR environment variable.

License

MIT

Related Projects

Source: README.md at commit 1c7b861

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts