JUHE API Marketplace
jaokuohsuan avatar
MCP Server

Draw Things MCP

An integration that allows Cursor AI to generate images through the Draw Things API using natural language prompts.

12
GitHub Stars
8/23/2025
Last Updated
MCP Server Configuration
1{
2 "name": "draw-things",
3 "command": "draw-things-mcp-cursor",
4 "args": []
5}
JSON5 lines

README Documentation

Draw Things MCP

Draw Things API integration for Cursor using Model Context Protocol (MCP).

Prerequisites

Installation

# Install globally
npm install -g draw-things-mcp-cursor

# Or run directly
npx draw-things-mcp-cursor

Cursor Integration

To set up this tool in Cursor, see the detailed guide in cursor-setup.md.

Quick setup:

  1. Create or edit ~/.cursor/claude_desktop_config.json:
{
  "mcpServers": {
    "draw-things": {
      "command": "draw-things-mcp-cursor",
      "args": []
    }
  }
}
  1. Restart Cursor
  2. Use in Cursor: generateImage({"prompt": "a cute cat"})

CLI Usage

Generate Image

echo '{"prompt": "your prompt here"}' | npx draw-things-mcp-cursor

Parameters

  • prompt: The text prompt for image generation (required)
  • negative_prompt: The negative prompt for image generation
  • width: Image width (default: 360)
  • height: Image height (default: 360)
  • steps: Number of steps for generation (default: 8)
  • model: Model to use for generation (default: "flux_1_schnell_q5p.ckpt")
  • sampler: Sampling method (default: "DPM++ 2M AYS")

Example:

echo '{
  "prompt": "a happy smiling dog, professional photography",
  "negative_prompt": "ugly, deformed, blurry",
  "width": 360,
  "height": 360,
  "steps": 4
}' | npx draw-things-mcp-cursor

MCP Tool Integration

When used as an MCP tool in Cursor, the tool will be registered as generateImage with the following parameters:

{
  prompt: string;       // Required - The prompt to generate the image from
  negative_prompt?: string;  // Optional - The negative prompt
  width?: number;       // Optional - Image width (default: 360)
  height?: number;      // Optional - Image height (default: 360)
  model?: string;       // Optional - Model name
  steps?: number;       // Optional - Number of steps (default: 8)
}

The generated images will be saved in the images directory with a filename format of: <sanitized_prompt>_<timestamp>.png

Response Format

Success:

{
  "type": "success",
  "content": [{
    "type": "image",
    "data": "base64 encoded image data",
    "mimeType": "image/png"
  }],
  "metadata": {
    "parameters": { ... }
  }
}

Error:

{
  "type": "error",
  "error": "error message",
  "code": 500
}

Troubleshooting

If you encounter issues:

  • Ensure Draw Things API is running at http://127.0.0.1:7888
  • Check log files in ~/.cursor/logs if using with Cursor
  • Make sure src/index.js has execution permissions: chmod +x src/index.js

License

MIT

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source