io.github.james-see/mcp-drawthings
平台与服务by james-see
面向 Draw Things 的 MCP 服务,可在 Mac 上进行本地 AI 图像生成,适合离线创作与快速迭代。
什么是 io.github.james-see/mcp-drawthings?
面向 Draw Things 的 MCP 服务,可在 Mac 上进行本地 AI 图像生成,适合离线创作与快速迭代。
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
- Open Draw Things
- Click the gear icon (⚙️) to open Settings
- Enable API Server / HTTP Server
- The server runs on port 7860 by default
Verify the server is running:
curl http://localhost:7860
2. Configure Your MCP Client
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"drawthings": {
"command": "npx",
"args": ["-y", "mcp-drawthings"]
}
}
}
Cursor
Add to .cursor/mcp.json in your project or global config:
{
"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:
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | Text description of the image to generate |
negative_prompt | string | No | Elements to exclude from the generated image |
width | number | No | Image width in pixels (default: 512) |
height | number | No | Image height in pixels (default: 512) |
steps | number | No | Number of inference steps (default: 20) |
cfg_scale | number | No | Guidance scale (default: 7.5) |
seed | number | No | Random seed for reproducibility (-1 for random) |
output_path | string | No | Custom 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | Text description of the desired transformation |
image_path | string | No* | Path to the source image file |
image_base64 | string | No* | Base64-encoded source image |
negative_prompt | string | No | Elements to exclude |
denoising_strength | number | No | Transformation strength 0.0-1.0 (default: 0.75) |
steps | number | No | Number of inference steps (default: 20) |
cfg_scale | number | No | Guidance scale (default: 7.5) |
seed | number | No | Random seed (-1 for random) |
output_path | string | No | Custom file path to save the result |
*Either image_path or image_base64 must be provided.
Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
DRAWTHINGS_HOST | localhost | Draw Things API host |
DRAWTHINGS_PORT | 7860 | Draw Things API port |
DRAWTHINGS_OUTPUT_DIR | ~/Pictures/drawthings-mcp | Directory for generated images |
Architecture
┌─────────────────┐ stdio ┌──────────────────┐ HTTP ┌─────────────┐
│ MCP Client │◄──────────────►│ mcp-drawthings │◄────────────►│ Draw Things │
│ (Claude/Cursor) │ JSON-RPC │ │ localhost │ App │
└─────────────────┘ └──────────────────┘ :7860 └─────────────┘
│
▼
┌──────────────┐
│ File System │
│ (images) │
└──────────────┘
Development
# Clone the repository
git clone https://github.com/james-see/mcp-drawthings
cd mcp-drawthings
# Install dependencies
npm install
# Build
npm run build
# Run in development mode
npm run dev
Troubleshooting
"Cannot connect to Draw Things API"
- Make sure Draw Things is running
- Check that the API Server is enabled in Draw Things settings
- Verify the server is accessible:
curl http://localhost:7860 - Check if a different port is configured in Draw Things
Images not generating
- Make sure a model is loaded in Draw Things
- Check Draw Things for any error messages
- 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
- Draw Things - The AI image generation app for Mac/iOS
- Model Context Protocol - The protocol specification
- @modelcontextprotocol/sdk - TypeScript SDK for MCP
常见问题
io.github.james-see/mcp-drawthings 是什么?
面向 Draw Things 的 MCP 服务,可在 Mac 上进行本地 AI 图像生成,适合离线创作与快速迭代。
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
MCP服务构建器
by alirezarezvani
从 OpenAPI 一键生成 Python/TypeScript MCP server 脚手架,并校验 tool schema、命名规范与版本兼容性,适合把现有 REST API 快速发布成可生产演进的 MCP 服务。
✎ 帮你快速搭建 MCP 服务与后端 API,脚手架完善、扩展顺手,尤其适合想高效验证服务能力的开发者。
相关 MCP Server
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。