ClipGrab について
ClipGrabは、システムのクリップボード画像をPNGまたはJPGファイルとして保存するMCPサーバーです。画像ファイルは開けてもクリップボードに直接アクセスできないAIエージェントやMCPクライアント向けです。
主な機能
- 01クリップボード画像をPNGまたはJPGで保存
- 02保存画像の絶対パスを返す
- 03クリップボードに画像があるか確認
- 04出力先ディレクトリとファイル名を指定
活用シーン
- 01コピーしたスクリーンショットをエージェントから利用する
- 02クリップボード画像を指定フォルダーに保存する
- 03保存前に画像の有無を確認する
MCP 対応
クリップボード画像の有無を確認し、画像をファイルに保存するツールを提供して、MCPクライアントにファイルパスを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ClipGrab
mcp-name: io.github.ulebule/clipgrab
システムのクリップボードに現在ある画像をファイル(PNG または JPG)に保存する MCP サーバーです。
理由
多くの AI エージェントは画像のファイルを読み取れますが、システムのクリップボードにはアクセスできません。ClipGrab はそのギャップを埋めます。画像(スクリーンショットなど)をコピーしてツールを呼び出すと、エージェントが開ける、ディスクに保存された画像のパスが返されます。
デフォルトでは、画像は現在の作業ディレクトリ(エージェントの実行元フォルダー)に保存されます。
要件
- Python 3.10+
- Python パッケージ(
requirements.txtを参照):Pillow、mcp[cli] - Linux のみ:クリップボードのフォールバックとして
wl-clipboard(wl-paste)またはxclip。
PyPI からインストール
uv で直接実行します(インストール手順は不要です)。
uvx clipgrab-mcp
または pip でインストールします。
pip install clipgrab-mcp
clipgrab-mcp
ソースからセットアップ
python3 -m venv .venv
./.venv/bin/pip install -r requirements.txt
ツール
save_clipboard_image(directory?, filename?, image_format?)→ クリップボードの画像を保存し、絶対パスを返します。directory— デフォルトは現在の作業ディレクトリです(存在しない場合は作成されます)。CLIPGRAB_DEFAULT_DIR環境変数でも設定できます。filename— デフォルトはタイムスタンプ付きの名前です(clipboard-YYYYMMDD-HHMMSS)。image_format—"png"(デフォルト)または"jpg"。
clipboard_has_image()→true/falseを返します。
手動で実行(stdio)
./.venv/bin/python mcp_server.py
VS Code 拡張機能としてインストール
ClipGrab は VS Code 拡張機能として提供され、MCP サーバーを自動的に登録します。登録後は 拡張機能ビュー → MCP サーバー に表示され、必要に応じて起動します。初回使用時に、拡張機能が独自の Python 仮想環境を作成して依存関係をインストールするため、必要なのは PATH にある Python 3.10+ のみです(clipgrab.pythonPath 設定から変更できます)。
開発/試用するには:
- VS Code でこのフォルダーを開き、
F5を押して拡張機能開発ホストを起動します。 - そのウィンドウでチャット(エージェントモード)を開くと、
ClipGrabMCP サーバーとそのsave_clipboard_imageツールを使用できます。
共有用の .vsix をパッケージ化するには:
npm install -g @vscode/vsce
vsce package
VS Code の設定(拡張機能を使わない場合)
すぐに使える設定が .vscode/mcp.json にあります。
{
"servers": {
"clipgrab": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["/absolute/path/to/mcp_server.py"],
"cwd": "${workspaceFolder}"
}
}
}
次に .vscode/mcp.json を開いて clipgrab サーバーを起動するか、コマンドパレット → 「MCP: List Servers」を使用します。
MCP クライアントで使用する
任意の MCP クライアントから、公開されている PyPI パッケージを stdio 経由で指定します。
{
"servers": {
"clipgrab": {
"command": "uvx",
"args": ["clipgrab-mcp"]
}
}
}
ClipGrab はレジストリ向けに server.json で説明されており、io.github.ulebule/clipgrab という名前で公式 MCP レジストリに公開されています。
技術的な注意事項
- クロスプラットフォームでの画像取得:Pillow の
ImageGrab.grabclipboard()を使用します(Windows/macOS、および新しいバージョンの Pillow を使用する Linux)。Linux ではwl-paste/xclipにフォールバックします。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。