Video Still Capture MCP

Integrations

  • Leverages OpenCV's camera interfaces to capture images, manipulate video properties like brightness and contrast, and perform basic image transformations.

ビデオ静止画キャプチャMCP

OpenCV 経由でウェブカメラにアクセスし制御するためのモデルコンテキストプロトコルサーバー

概要

Video Still Capture MCPは、モデルコンテキストプロトコル(MCP)のPython実装であり、AIアシスタントがOpenCVを介してウェブカメラやビデオソースにアクセスし、制御する機能を提供します。このサーバーは、言語モデルによる画像のキャプチャ、カメラ設定の操作、ビデオ接続の管理を可能にするツールセットを公開しています。ビデオキャプチャ機能は搭載されていません。

以下は、Video Still Capture MCP サーバーの動作例です。

オレンジ色の例

左:クロードから見た画像右: 実際のウェブカメラのキャプチャ

磁石の例

左:クロードから見た画像右: 実際のウェブカメラのキャプチャ

インストール

前提条件

ソースからのインストール

git clone https://github.com/13rac1/videocapture-mcp.git cd videocapture-mcp pip install -e .

MCP サーバーを実行します。

mcp dev videocapture_mcp.py

Claude for Desktopとの統合

macOS/Linux

Claude Desktop の設定を編集します。

# Mac nano ~/Library/Application\ Support/Claude/claude_desktop_config.json # Linux nano ~/.config/Claude/claude_desktop_config.json

次の MCP サーバー構成を追加します。

{ "mcpServers": { "VideoCapture ": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "--with", "numpy", "--with", "opencv-python", "mcp", "run", "/ABSOLUTE_PATH/videocapture_mcp.py" ] } } }

/ABSOLUTE_PATH/videocapture-mcpをプロジェクトの絶対パスに置き換えてください。

ウィンドウズ

Claude Desktop の設定を編集します。

nano $env:AppData\Claude\claude_desktop_config.json

次の MCP サーバー構成を追加します。

{ "mcpServers": { "VideoCapture": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "--with", "numpy", "--with", "opencv-python", "mcp", "run", "C:\ABSOLUTE_PATH\videocapture-mcp\videocapture_mcp.py" ] } } }

C:\ABSOLUTE_PATH\videocapture-mcpプロジェクトの絶対パスに置き換えてください。

インストールコマンドの使用

あるいは、 mcp CLI を使用してサーバーをインストールすることもできます。

mcp install videocapture_mcp.py

これにより、Claude Desktop がビデオキャプチャ MCP サーバーを使用するように自動的に構成されます。

連携が完了すると、Claude はリクエストに応じてウェブカメラやビデオソースにアクセスできるようになります。写真を撮ったり、ウェブカメラ関連のタスクを実行したりするように Claude に指示するだけです。

特徴

  • クイック画像キャプチャ:接続を管理せずにウェブカメラから単一の画像をキャプチャします
  • 接続管理: カメラ接続のオープン、管理、クローズ
  • ビデオプロパティ: 明るさ、コントラスト、解像度などのカメラ設定の読み取りと調整
  • 画像処理:水平反転などの基本的な画像変換

ツールリファレンス

quick_capture

カメラをすばやく開き、1 つのフレームをキャプチャして閉じます。

quick_capture(device_index: int = 0, flip: bool = False) -> Image
  • device_index : カメラのインデックス(通常、0 はデフォルトのウェブカメラです)
  • flip : 画像を水平に反転するかどうか
  • 戻り値: キャプチャしたフレームをImageオブジェクトとして返す

open_camera

カメラデバイスへの接続を開きます。

open_camera(device_index: int = 0, name: Optional[str] = None) -> str
  • device_index : カメラのインデックス(通常、0 はデフォルトのウェブカメラです)
  • name : このカメラ接続を識別するためのオプションの名前
  • 戻り値: 開かれたカメラの接続ID

capture_frame

指定されたビデオ ソースから 1 つのフレームをキャプチャします。

capture_frame(connection_id: str, flip: bool = False) -> Image
  • connection_id : 以前に開かれたビデオ接続のID
  • flip : 画像を水平に反転するかどうか
  • 戻り値: キャプチャしたフレームをImageオブジェクトとして返す

get_video_properties

ビデオ ソースのプロパティを取得します。

get_video_properties(connection_id: str) -> dict
  • connection_id : 以前に開かれたビデオ接続のID
  • 戻り値: ビデオ プロパティの辞書 (幅、高さ、fps など)

set_video_property

ビデオ ソースのプロパティを設定します。

set_video_property(connection_id: str, property_name: str, value: float) -> bool
  • connection_id : 以前に開かれたビデオ接続のID
  • property_name : 設定するプロパティの名前 (幅、高さ、明るさなど)
  • value : 設定する値
  • 戻り値: 成功した場合はTrue、そうでない場合はFalse

close_connection

ビデオ接続を閉じてリソースを解放します。

close_connection(connection_id: str) -> bool
  • connection_id : 閉じる接続のID
  • 戻り値: 成功した場合はTrue

list_active_connections

すべてのアクティブなビデオ接続を一覧表示します。

list_active_connections() -> list
  • 戻り値: アクティブな接続IDのリスト

使用例

AI アシスタントが Webcam MCP サーバーを使用する方法は次のとおりです。

  1. 簡単に写真を撮ってください:
    I'll take a photo using your webcam.
    (AIは裏でquick_capture()を呼び出します)
  2. 永続的な接続を開く:
    I'll open a connection to your webcam so we can take multiple photos.
    (AIはopen_camera()を呼び出して接続IDを保存します)
  3. カメラ設定を調整する:
    Let me increase the brightness of the webcam feed.
    (AIは適切なパラメータでset_video_property()呼び出します)

高度な使用法

リソース管理

サーバーはカメラリソースを自動的に管理し、サーバーのシャットダウン時にすべての接続が適切に解放されるようにします。長時間実行されるアプリケーションでは、不要になった接続を明示的に閉じることをお勧めします。

複数のカメラ

システムに複数のカメラがある場合は、接続を開くときにデバイス インデックスを指定できます。

# Open the second webcam (index 1) connection_id = open_camera(device_index=1)

トラブルシューティング

  • カメラが見つかりません: ウェブカメラが正しく接続されており、他のアプリケーションで使用されていないことを確認してください
  • 権限の問題: 一部のシステムでは、カメラにアクセスするために明示的な権限が必要です
  • OpenCVのインストール: OpenCVで問題が発生した場合は、公式のインストールガイドを参照してください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

-
security - not tested
F
license - not found
-
quality - not tested

AI アシスタントが OpenCV を介してウェブカメラにアクセスして制御し、画像のキャプチャやカメラ設定の操作を可能にするモデル コンテキスト プロトコル サーバー。

  1. Overview
    1. Examples
      1. Orange Example
      2. Magnet Example
    2. Installation
      1. Prerequisites
      2. Installation from source
    3. Integrating with Claude for Desktop
      1. macOS/Linux
      2. Windows
      3. Using the Installation Command
    4. Features
      1. Tools Reference
        1. quick_capture
        2. open_camera
        3. capture_frame
        4. get_video_properties
        5. set_video_property
        6. close_connection
        7. list_active_connections
      2. Example Usage
        1. Advanced Usage
          1. Resource Management
          2. Multiple Cameras
        2. Troubleshooting
          1. License
            1. Contributing
              ID: 5h0cn62u05