Claude Code でデスクトップを操作する Discord ボットを作ってみた


最近、Discord 越しに Mac を操作するボットを書いた。といっても自分が書いたコードは大したことなくて、本体は OpenClaw 経由で動く Claude Code (Opus 4.7) に任せている。

動機

ブラウザで Gmail を開く、デスクトップのファイルを ZIP にしてメールで送る、おみくじアプリを実装してテストまで通す ── こういう「日常の小さな自動化」を、ターミナルを開かずに Discord でメンションして済ませたかった。

仕組み

「Discord メッセージ → MCP プラグイン → Claude Code → AppleScript / Bash / ブラウザ操作」というだけのシンプルな構成。

Mac の Mail.app は AppleScript から自由に叩けるので、Gmail API キーを発行しなくても下書き作成と送信ができる。下のスニペットは実際に下書きを作るコード:

tell application "Mail"
    set newMsg to make new outgoing message with properties ¬
        {subject:"テスト", content:"...", sender:"tsu.310@gmail.com"}
    tell newMsg
        make new to recipient at end of to recipients ¬
            with properties {address:"tsu.310@gmail.com"}
        save
    end tell
end tell

気づき

LLM に「やって」と頼むときの粒度が、人間に依頼するときと近い。「下書きに保存」「送信」「削除」という名詞の使い分けを Claude が拾ってくれるので、コマンドのドキュメントを覚えなくていい。