mcpField
C
ClipGrab

ClipGrab

ローカル
github.com/ulebuleファイル・ストレージ018 週間前に更新

ClipGrab について

ClipGrabは、システムのクリップボード画像をPNGまたはJPGファイルとして保存するMCPサーバーです。画像ファイルは開けてもクリップボードに直接アクセスできないAIエージェントやMCPクライアント向けです。

主な機能

  1. 01クリップボード画像をPNGまたはJPGで保存
  2. 02保存画像の絶対パスを返す
  3. 03クリップボードに画像があるか確認
  4. 04出力先ディレクトリとファイル名を指定

活用シーン

  1. 01コピーしたスクリーンショットをエージェントから利用する
  2. 02クリップボード画像を指定フォルダーに保存する
  3. 03保存前に画像の有無を確認する

MCP 対応

クリップボード画像の有無を確認し、画像をファイルに保存するツールを提供して、MCPクライアントにファイルパスを返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ulebule-clipgrab": {
"command": "uvx",
"args": [
"clipgrab-mcp"
]
}
}
}
起動コマンドuvx clipgrab-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiclipgrab-mcp0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 設定から変更できます)。

開発/試用するには:

  1. VS Code でこのフォルダーを開き、F5 を押して拡張機能開発ホストを起動します。
  2. そのウィンドウでチャット(エージェントモード)を開くと、ClipGrab MCP サーバーとその 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。