Draw Things MCP Server
# Draw Things MCP Server
[Draw Things](https://drawthings.ai/) アプリを活用して、**Claude Desktop / Claude Code**から**無料でローカル画像生成**ができるMCPサーバーです。
Google Gemini、OpenAIなどの有料APIなしで、MacのApple Silicon(M1〜M4)で直接画像を生成します。
> 元リポジトリ: [james-see/mcp-drawthings](https://github.com/james-see/mcp-drawthings)
> このリポジトリは、FLUX.1 Schnellモデル向けにデフォルト設定を最適化したバージョンです。
## 変更点(元リポジトリとの違い)
- **デフォルトsteps: 20 → 4** — FLUX.1 Schnellモデルは4 stepsで十分な品質の画像を生成します。20〜30 stepsは不要に遅くなります。
---
## 必要要件
- **macOS**(Apple Silicon M1/M2/M3/M4)
- **Draw Things** アプリ([App Store](https://apps.apple.com/app/draw-things-ai-generation/id6444050820))
- **Node.js** 18以上
---
## ステップ1: Draw Thingsアプリのインストールと設定
### 1-1. アプリのインストール
App Storeで **Draw Things** を検索してインストールします。
### 1-2. 初期設定(モデルのダウンロード)
アプリを初めて起動すると、モデルソースの選択画面が表示されます。
| ステップ | 選択内容 |
|----------|----------|
| ステップ 1/3: モデルソース | **「Draw Things経由でモデルをダウンロード」** を選択 |
| Cloud Compute | **オフ**(ローカル実行のみなので不要) |
| ステップ 2/3: モデル選択 | 検索欄に **`flux`** と入力 → **「FLUX.1 [schnell]」** を選択 |
| ステップ 3/3: 保存先フォルダ | デフォルトまたは任意のフォルダを選択 |
> **補足:** FLUX.1 [schnell] 通常版は約11.7GBです。Mac RAMが8GBの場合は5-bit版を選択してください。
ダウンロードが完了するまで待ちます。
### 1-3. APIサーバーを有効にする
1. 左サイドバーの **「設定」**(歯車アイコン)をクリック
2. 上部タブの **「詳細」** をクリック
3. **「APIサーバー」** セクションを探す
4. 以下のように設定:
| 設定項目 | 値 |
|----------|-----|
| サーバーオンライン | **オン**(緑色) |
| プロトコル | **HTTP** |
| ポート | **7860**(デフォルト) |
設定後、ターミナルで確認:
```bash
curl http://localhost:7860
```
JSONレスポンスが返ってくれば成功です。
> **重要:** Draw Thingsアプリは常に起動している必要があります。アプリを閉じるとAPIサーバーも停止します。最小化しておけばOKです。
---
## ステップ2: MCPサーバーのインストール
```bash
git clone https://github.com/my13each/Drawthings_MCP.git
cd Drawthings_MCP
npm install
npm run build
```
---
## ステップ3: MCPクライアントの設定
### Claude Desktop
`~/Library/Application Support/Claude/claude_desktop_config.json` に追加:
```json
{
"mcpServers": {
"drawthings": {
"command": "node",
"args": ["/絶対パス/Drawthings_MCP/dist/index.js"]
}
}
}
```
設定後、**Claude Desktopを再起動**します。
### Claude Code
```bash
claude mcp add --scope user drawthings -- node /絶対パス/Drawthings_MCP/dist/index.js
```
新しい会話を開始すると反映されます。
---
## 使い方
Claudeにこう言うだけです:
> 「宇宙でピザを食べるかわいい猫を描いて」
> "Generate an image of a futuristic city at sunset"
> 英語のプロンプトの方が高品質な画像が生成されます。
---
## MCPツール一覧
| ツール | 説明 |
|--------|------|
| `check_status` | Draw Things APIの接続状態を確認 |
| `get_config` | 現在ロードされているモデルと設定を取得 |
| `generate_image` | テキストから画像を生成 |
| `transform_image` | 既存の画像をテキストプロンプトで変換 |
### generate_image パラメータ
| パラメータ | 型 | 必須 | 説明 |
|------------|------|------|------|
| `prompt` | string | O | 画像の説明テキスト |
| `negative_prompt` | string | X | 除外する要素 |
| `width` | number | X | 画像の幅(デフォルト: 512) |
| `height` | number | X | 画像の高さ(デフォルト: 512) |
| `steps` | number | X | 推論ステップ数(デフォルト: 4) |
| `cfg_scale` | number | X | ガイダンススケール(デフォルト: 7.5) |
| `seed` | number | X | シード値(-1 = ランダム) |
| `output_path` | string | X | 保存先パス |
### transform_image パラメータ
| パラメータ | 型 | 必須 | 説明 |
|------------|------|------|------|
| `prompt` | string | O | 変換の説明テキスト |
| `image_path` | string | * | 元画像のファイルパス |
| `image_base64` | string | * | Base64エンコードされた元画像 |
| `denoising_strength` | number | X | 変換強度 0.0〜1.0(デフォルト: 0.75) |
| `steps` | number | X | 推論ステップ数(デフォルト: 4) |
\* `image_path` または `image_base64` のどちらか必須
---
## 環境変数
| 変数 | デフォルト | 説明 |
|------|-----------|------|
| `DRAWTHINGS_HOST` | `localhost` | APIサーバーのホスト |
| `DRAWTHINGS_PORT` | `7860` | APIサーバーのポート |
| `DRAWTHINGS_OUTPUT_DIR` | `~/Pictures/drawthings-mcp` | 画像の保存ディレクトリ |
---
## アーキテクチャ
```
┌─────────────────┐ stdio ┌──────────────────┐ HTTP ┌─────────────┐
│ MCP Client │◄──────────────►│ mcp-drawthings │◄────────────►│ Draw Things │
│ (Claude/Cursor) │ JSON-RPC │ │ localhost │ App │
└─────────────────┘ └──────────────────┘ :7860 └─────────────┘
│
▼
┌──────────────┐
│ File System │
│ (images) │
└──────────────┘
```
---
## トラブルシューティング
### 「Draw Things APIに接続できません」
1. Draw Thingsアプリが起動中か確認
2. 設定で「サーバーオンライン」がオンになっているか確認
3. `curl http://localhost:7860` でレスポンスを確認
4. アプリを閉じて再起動した場合、APIサーバーを再度オンにする必要がある場合があります
### 画像が生成されない
1. Draw Thingsにモデルがロードされているか確認
2. Draw Thingsアプリで直接画像生成をテスト
3. アプリのエラーメッセージを確認
---
## ライセンス
MIT
## クレジット
- 元リポジトリ: [james-see/mcp-drawthings](https://github.com/james-see/mcp-drawthings)
- [Draw Things](https://drawthings.ai/) - Mac/iOS AI画像生成アプリ
- [Model Context Protocol](https://modelcontextprotocol.io/) - MCPプロトコル仕様
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: status checking, configuration retrieval, text-to-image generation, and image-to-image transformation. There is no meaningful overlap between any pair of tools.
All tool names follow a consistent verb_noun pattern: check_status, get_config, generate_image, transform_image. The naming style is uniform and predictable.
Four tools is a well-scoped count for an image generation server. Each tool covers an essential operation without unnecessary redundancy or bloat.
The core workflow of checking server status, viewing configuration, generating images, and transforming images is covered. A possible minor gap is the lack of a tool to update configuration or switch models, but this does not block the primary use case.