インストールと準備
MCPの実行に必要なNodeランタイムはアプリに同梱されています。Nodeの追加インストールやCanvasOK専用のAPIキーは不要です。利用するAIサービスへのログインや利用設定は、選んだハーネス側で行います。
- ホームページから呼び出し名・略称対応のmacOS ZIPをダウンロードし、展開したCanvasOK.appをApplicationsフォルダーへコピーします。現在はApple Silicon向けで、公開署名・公証前の試験版です。
- MCP接続キットを専用フォルダーに展開します。以下の/path/to/CanvasOK-mac-connectを実際のキットのパスに置き換えて、ターミナルで実行します。
- 生成されたcommands.txtで、利用するハーネスの登録手順を確認します。既存の設定ファイル全体を上書きせず、canvasokの項目を統合してください。準備スクリプトはハーネスの設定を自動変更しません。
mkdir -p "$HOME/Documents/CanvasOK-test"
cd /path/to/CanvasOK-mac-connect
python3 prepare.py \
--app /Applications/CanvasOK.app \
--project "$HOME/Documents/CanvasOK-test"同じ作業を複数のハーネスで続ける場合は、同じ絶対プロジェクトパスを使います。アプリやキットを移動したらprepare.pyを再実行し、登録済みのパスも更新してください。モデル比較では、実行ごとに別のプロジェクトを使うと便利です。
今回の配布はmacOS arm64向けです。Windows・Linuxのインストーラーはまだありません。アプリの画面言語は韓国語と英語です。4言語の呼び出し名対応とは別の機能です。
AIハーネスを接続する
接続キットは、同じネイティブアプリを呼び出すローカルstdio MCP設定を生成します。外部に登録するMCPサーバー名はcanvasokのままです。以下は設定方法の案内であり、すべてのハーネス・モデルが自然言語の名前を理解する保証ではありません。
| ハーネス | 設定と有効化 |
|---|---|
| Codex | codex.toml、またはcommands.txtのCodex登録コマンドを使います。同じローカルホスト上のCodex CLIとDesktopはMCP設定を共有します。登録後は新しい会話でツールを確認します。 |
| Claude Code / Claude Desktop | Claude Code CLIとDesktopのCodeモードはclaude-code.mcp.jsonを参照します。Claude Desktopの通常のChatは別のclaude-desktop.json設定です。mcpServersを既存設定に統合し、Desktopを完全に終了して再起動します。 |
| Gemini CLI Antigravity | Gemini CLIはgemini.settings.json、Antigravityはantigravity.mcp.jsonを使います。AntigravityでGeminiモデルを選ぶ方法と通常のGeminiアプリは別です。通常のGeminiアプリのローカルstdio接続は、このキットの対応範囲外です。 |
| OpenCode | 現在の検証環境のOpenCode v1にはopencode-v1.jsonを使います。v2のmcp.servers形式はopencode-v2.jsonに分けています。インストール済みのバージョンに合う方を選び、Desktopでは同じローカルサーバーとプロジェクトを使います。 |
| Cursor | cursor.mcp.jsonのmcpServersをCursorのMCP設定に統合します。CLIまたはデスクトップエディターで、そのプロジェクトのMCPサーバーを有効にし、ツール一覧を確認します。 |
| Kimi Code | kimi-code.mcp.jsonをKimi CodeのMCP設定に登録します。CLIとDesktopが目的のローカル設定を読むことを確認し、MCPサーバーを再起動します。 |
| ZCode / Z.ai | zcode.config.jsonのMCP設定をZCodeに統合します。利用中のバージョンのMCP管理画面で、ローカルのcanvasokサーバーを有効にします。 |
| DeepSeek Harness | deepseek-harness.cordis.ymlを参考に、dshのMCPクライアントプラグインへ登録します。開発者プレビューのバージョンやプラグイン構造は変わる可能性があるため、commands.txtの手順と実際のツール一覧を確認してください。 |
テンプレートは登録を補助するものです。インストール済みのハーネスのバージョン、MCPプラグイン、モデルのツール呼び出し対応は別途確認してください。リモートのハーネスサーバーから、このMacのローカルアプリのパスを直接実行することはできません。
最初はAIクライアント1つでプロジェクトを開き、CanvasOKのツールを呼び出します。アプリに同じセッションが表示されます。複数のクライアントを使う場合は共有状態を読み直し、順番に編集してください。
canvasokのツールが一覧にあることを確認し、「CanvasOKで背景が透明な32×32ピクセルの猫を描いて」と頼んでみましょう。ドット編集は外部エンジンなしで試せます。
多言語の名前と自分の略称
以下の名前が標準で登録されています。すべて同じCanvasOKツールを指します。文書・レイヤーの名前やハーネスの実行コマンドは変更しません。
| 言語 | 呼び出し名 |
|---|---|
| 한국어 | 캔버스오케이 · 캔버스 오케이 |
| English | CanvasOK · Canvas OK |
| 日本語 | キャンバスオーケー |
| 中文 | 画布OK · 畫布OK |
アプリで登録する
Tools → Invocation names and aliasesを開きます(韓国語UIでは「도구 → 호출 이름·약칭」)。「キャンオケ」などの名前を追加すると、すぐに保存されます。Copy AI invocation instructionsで、今の会話へ貼り付ける案内文もコピーできます。独自の略称は最大16個、1つにつきUnicodeコードポイント32個までです。文字・数字・結合文字・空白と . _ - が使え、文字または数字が1つ以上必要です。
ターミナルで登録する
prepare.pyの実行後、接続キットのフォルダーで以下のコマンドを使えます。listは一覧、addは追加、resolveは名前の確認、removeは独自の略称の削除です。--jsonは機械可読の結果を出力します。
./bin/canvasok aliases list --json
./bin/canvasok aliases add "캔오케" --json
./bin/canvasok aliases resolve "캔오케" --json
./bin/canvasok aliases remove "캔오케" --json独自の略称をすべて消すには ./bin/canvasok aliases reset --json を実行します。標準の名前は残ります。表示上の表記は保持し、照合時にはNFKC正規化、Unicodeの空白整理、大文字・小文字の違いを処理します。ユーザーデータ領域のaliases.jsonに保存され、CANVASOK_ALIASES_FILEで別のパスを指定できます。
保存した名前はMCP初期化時の案内と、文書ツールの説明・メタデータに渡されます。ツール一覧の変更を反映するハーネスもありますが、新しい略称が見えない場合はMCPサーバーを再起動し、新しい会話を開いてください。アプリとサーバーが同じ略称ファイルを読んでいることも確認します。外部ハーネスの設定ファイルは自動変更しません。
こんなふうに呼んでみよう
캔오케로 32×32 투명 배경 고양이 도트를 만들어줘.Use Canvas OK to create a 32×32 pixel cat on a transparent background.キャンバスオーケーで、背景が透明な32×32ピクセルの猫を描いて。用画布OK画一只32×32像素的猫,背景透明。略称はツールを選ぶための自然言語のヒントです。/キャンオケのようなスラッシュコマンドを作ったり、実行権限を増やしたりする機能ではありません。harness-instructions.mdをハーネスの指示に追加することもできます。理解されない場合は「キャンオケはcanvasok MCPツールのこと。現在の文書を確認して作業して」と明示してください。
AIと直接編集を切り替える
- AIにドット文書の作成・編集を依頼します。CanvasOKのウィンドウで同じ文書の変化を確認します。
- 自分で直したくなったら、アプリでAI編集を一時停止します。処理中のバッチが安全に完了するまで待ちます。
- 目・耳・色などを直接修正し、変更を適用して確定します。現在のエディターに対応した適用操作を使ってください。
- アプリで再開し、外部ハーネスに最新状態を読み直すよう頼みます。停止前に待機していたコマンドは自動実行されません。
現在の文書を読み直して。私が直した目はそのままにして、しっぽの形だけ変えて。
一時停止はCanvasOKへのAIの書き込み権限を制御します。外部モデルの推論や課金は停止しません。古い状態に基づいて拒否された変更は、最新状態を読んでからやり直す必要があります。
制作過程の記録とMP4
2D文書の編集過程をイベントとして記録し、動画として出力できます。明示的に登録したプロンプトは、記録時点に合わせて動画下部に累積表示されます。
- アプリの記録・動画メニューで記録を開始します。表示するプロンプトも登録するか、AIにプロンプトを記録するよう明示します。
- AIの作業と自分で適用した編集を続けます。一時停止・再開も記録されます。書き出し前にプレビューを確認します。
- 再生速度を選んでMP4に書き出します。編集可能な元データは別途バンドルで保存してください。
MP4出力には別途FFmpegが必要です。現在の動画は無音です。外部チャット全体やデスクトップ画面を自動録画する機能ではありません。
入力ファイルと現在の範囲
- 画像とAIコンテキスト
- 画像を読み込んで作業したり、参照範囲を選んだりできます。画像コンテキストは、選択した入力と許可された接続設定で渡されます。ローカルファイルを開くだけで外部モデルに自動送信はしません。ハーネスとモデル側の画像入力対応も必要です。
- MIDI
- MIDIを読み込み、AIと音符・トラックを編集してMIDIを保存できます。楽器音の再生・MIDIレンダリングは今後の機能です。
- オーディオクリップ
- WAV/MP3の入力、再生・波形表示、クリップ範囲・音量・フェード編集、WAV出力に対応します。音声認識・音声生成・音楽生成は含みません。
- 外部エンジンと今後の分野
- ドット・MIDI・オーディオ編集は内蔵機能で始められます。ベクター作業にはVectorCraft、一部のブラシ・レイヤー作業にはPhotoCraftが必要です。3Dと本格的な動画編集は今後の範囲です。
うまく動かないとき
- AIが新しい略称を理解しない
- aliases listで登録を確認し、ハーネスのMCPサーバーを再起動して新しい会話を開きます。CANVASOK_ALIASES_FILEを使う場合、アプリとハーネスは同じファイルを読む必要があります。認識はモデルによって異なるため、canvasokも明記して依頼してください。
- アプリが開かない・違う文書が表示される
- アプリとキットの場所、絶対プロジェクトパスを確認してprepare.pyを再実行します。生成されたcommands.txtの手動セッション接続コマンドも確認してください。古いプロジェクトを指す重複MCP登録は削除します。
- AIの変更が拒否された
- AIの書き込みが一時停止中でないか、人が適用して文書が変わっていないかを確認します。再開後に文書と作業状態を読み直し、新しい変更を依頼してください。拒否された古いコマンドをそのまま再送しません。
- モデルを比較するには?
- 同じ入力・プロンプト・予算で別々のプロジェクトを作り、モデル名とハーネス名・バージョンを分けて記録します。結果、人の介入回数、所要時間と制作過程の動画を一緒に比較してください。