ビデオ静止画キャプチャMCP
OpenCV 経由でウェブカメラにアクセスし制御するためのモデルコンテキストプロトコルサーバー
概要
Video Still Capture MCPは、モデルコンテキストプロトコル(MCP)のPython実装であり、AIアシスタントがOpenCVを介してウェブカメラやビデオソースにアクセスし、制御する機能を提供します。このサーバーは、言語モデルによる画像のキャプチャ、カメラ設定の操作、ビデオ接続の管理を可能にするツールセットを公開しています。ビデオキャプチャ機能は搭載されていません。
Related MCP server: VRChat MCP Server
例
以下は、Video Still Capture MCP サーバーの動作例です。
オレンジ色の例
左:クロードから見た画像 | 右: 実際のウェブカメラのキャプチャ |
|
|
磁石の例
左:クロードから見た画像 | 右: 実際のウェブカメラのキャプチャ |
|
|
インストール
前提条件
ソースからのインストール
git clone https://github.com/13rac1/videocapture-mcp.git
cd videocapture-mcp
pip install -e .MCP サーバーを実行します。
mcp dev videocapture_mcp.pyClaude 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) -> Imagedevice_index : カメラのインデックス(通常、0 はデフォルトのウェブカメラです)
flip : 画像を水平に反転するかどうか
戻り値: キャプチャしたフレームをImageオブジェクトとして返す
open_camera
カメラデバイスへの接続を開きます。
open_camera(device_index: int = 0, name: Optional[str] = None) -> strdevice_index : カメラのインデックス(通常、0 はデフォルトのウェブカメラです)
name : このカメラ接続を識別するためのオプションの名前
戻り値: 開かれたカメラの接続ID
capture_frame
指定されたビデオ ソースから 1 つのフレームをキャプチャします。
capture_frame(connection_id: str, flip: bool = False) -> Imageconnection_id : 以前に開かれたビデオ接続のID
flip : 画像を水平に反転するかどうか
戻り値: キャプチャしたフレームをImageオブジェクトとして返す
get_video_properties
ビデオ ソースのプロパティを取得します。
get_video_properties(connection_id: str) -> dictconnection_id : 以前に開かれたビデオ接続のID
戻り値: ビデオ プロパティの辞書 (幅、高さ、fps など)
set_video_property
ビデオ ソースのプロパティを設定します。
set_video_property(connection_id: str, property_name: str, value: float) -> boolconnection_id : 以前に開かれたビデオ接続のID
property_name : 設定するプロパティの名前 (幅、高さ、明るさなど)
value : 設定する値
戻り値: 成功した場合はTrue、そうでない場合はFalse
close_connection
ビデオ接続を閉じてリソースを解放します。
close_connection(connection_id: str) -> boolconnection_id : 閉じる接続のID
戻り値: 成功した場合はTrue
list_active_connections
すべてのアクティブなビデオ接続を一覧表示します。
list_active_connections() -> list戻り値: アクティブな接続IDのリスト
使用例
AI アシスタントが Webcam MCP サーバーを使用する方法は次のとおりです。
簡単に写真を撮ってください:
I'll take a photo using your webcam.(AIは裏で
quick_capture()を呼び出します)永続的な接続を開く:
I'll open a connection to your webcam so we can take multiple photos.(AIは
open_camera()を呼び出して接続IDを保存します)カメラ設定を調整する:
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 ファイルを参照してください。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。



