Screenshotmcp について
Screenshot MCP は、ウェブサイトのスクリーンショットを取得する MCP サーバーで、ページ全体、特定の要素、デバイスサイズ別の撮影に対応します。開発ワークフロー内でウェブページの見た目を確認したい開発者やデザイナー向けです。
主な機能
- 01自動スクロールによるページ全体の撮影
- 02CSS セレクターによる要素の撮影
- 03モバイル、タブレット、デスクトップのプリセット
- 04ビューポートサイズと待機条件のカスタマイズ
活用シーン
- 01Claude Code からページを撮影して見た目を確認
- 02モバイルやタブレット表示のスクリーンショットを取得
- 03デザインレビュー用にナビゲーションバーを撮影
MCP 対応
本プロジェクトは MCP サーバーであり、capture_screenshot、capture_element、list_device_presets のツールを MCP クライアントに公開して、スクリーンショットの取得を可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Screenshot MCP
全ページ、要素、デバイスサイズに対応した、Web サイトのスクリーンショットを撮影する Model Context Protocol(MCP)サーバーです。

機能
- 自動スクロールによる全ページのスクリーンショット撮影
- CSS セレクターを使った特定要素のスクリーンショット撮影
- 複数のデバイスプリセット(モバイル、タブレット、デスクトップ)
- カスタムビューポート設定
- 高度な待機条件(CSS セレクター、ネットワークアイドル、カスタム遅延)
- 安全な操作のためのエラー処理と検証
- リソース枯渇を防ぐレート制限
インストール
- このプロジェクトをクローンまたはダウンロードします
- ディレクトリに移動します:
cd /path/to/ScreenshotMCP .env.exampleを.envに名前変更します- 依存関係をインストールします:
npm install - サーバーを起動します:
npm start
Claude Code での使用
開発ワークフローの一環としてスクリーンショットを撮影するには、Claude Code CLI または Claude Desktop から Screenshot MCP を直接使用できます。
Claude Code CLI の場合:
~/.config/claude/mcp_servers.json に追加します:
{
"screenshot-full-page-mcp": {
"command": "node",
"args": ["/path/to/screenshot-full-page-mcp/index.js"]
}
}
または
claude mcp add screenshot-full-page-mcp node ./index.js
Claude Desktop の場合:
claude_desktop_config.json に追加します:
{
"mcpServers": {
"screenshot-full-page-mcp": {
"command": "node",
"args": ["/path/to/screenshot-full-page-mcp/index.js"]
}
}
}
Cursor での使用
開発ワークフローの一環としてスクリーンショットを撮影するには、Cursor IDE から Screenshot MCP を直接使用できます。
-
Cursor を開きます。
-
設定 > MCP Servers に移動します。
-
Screenshot MCP の新しい MCP サーバーエントリを追加します:
{ "mcpServers": { "screenshot-full-page-mcp": { "command": "node", "args": ["/path/to/screenshot-full-page-mcp/index.js"] } } } -
設定を保存します。
使用方法
設定が完了したら、Claude Code で自然言語のコマンドを使用できます:
基本的なスクリーンショット
"Take a screenshot of https://example.com"
モバイルのスクリーンショット
"Capture a mobile screenshot of https://myapp.com"
カスタムビューポート
"Screenshot https://myapp.com at 1024x768 resolution"
要素の表示を待機
"Take a screenshot of https://example.com after the loading spinner disappears"
要素のスクリーンショット
"Capture just the navigation bar from https://example.com"
利用可能なツール
capture_screenshot
高度な設定オプションを使用して、全ページのスクリーンショットを撮影します。
パラメーター:
url(必須):スクリーンショットを撮影するWebページのURLviewport:ビューポート設定preset:デバイスプリセット(mobile、tablet、desktop)width:カスタム幅(ピクセル単位、100-5000)height:カスタム高さ(ピクセル単位、100-5000)deviceScaleFactor:スケール係数(0.1-3)isMobile:モバイルデバイスのエミュレーションhasTouch:タッチ操作のエミュレーション
waitFor:待機条件type:selector、function、timeout、またはnetworkidlevalue:CSS セレクター、関数、またはタイムアウト値timeout:待機タイムアウト(ミリ秒単位)
delay:スクリーンショット撮影前の追加遅延waitUntil:ナビゲーション完了条件
capture_element
ページ上の特定の要素のスクリーンショットを撮影します。
パラメーター:
url(必須):WebページのURLselector(必須):対象要素の CSS セレクターviewport:ビューポート設定(上記と同じ)
list_device_presets
利用可能なすべてのデバイスプリセットとその設定を一覧表示します。
デバイスプリセット
| プリセット | 幅 | 高さ | スケール | モバイル | タッチ |
|---|---|---|---|---|---|
| mobile | 375px | 667px | 2x | はい | はい |
| tablet | 768px | 1024px | 2x | はい | はい |
| desktop | 1920px | 1080px | 1x | いいえ | いいえ |
設定
環境変数は .env ファイルで設定できます:
# Browser Configuration
BROWSER_HEADLESS=true
BROWSER_TIMEOUT=30000
MAX_CONCURRENT_SCREENSHOTS=5
# Screenshot Defaults
DEFAULT_VIEWPORT_WIDTH=1920
DEFAULT_VIEWPORT_HEIGHT=1080
DEFAULT_WAIT_TIMEOUT=10000
# Security
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_WINDOW=60000
# Debug
DEBUG=false
LOG_LEVEL=info
セキュリティ機能
- URL 検証(HTTP/HTTPS のみ)
- CSS セレクターのサニタイズ
- 同時リクエストのレート制限
- サンドボックス化されたブラウザー実行
- 入力検証とエラー処理
システム要件
- Node.js 18+
- Chrome/Chromium ブラウザー(Puppeteer とともに自動インストール)
- 最低 2GB の RAM
- 500MB のディスク容量
トラブルシューティング
よくある問題
-
ブラウザーの起動に失敗する場合:
- システムリソースが十分にあることを確認してください
- Chrome/Chromium が正しくインストールされているか確認してください
- デバッグには
BROWSER_HEADLESS=falseを設定してみてください
-
スクリーンショットがタイムアウトする場合:
.envのBROWSER_TIMEOUTを増やしてください- 対象の Web サイトが正しく読み込まれるか確認してください
- 適切な
waitUntil条件を使用してください
-
メモリの問題:
MAX_CONCURRENT_SCREENSHOTSを減らしてください- MCP サーバーを定期的に再起動してください
- システムのメモリ使用量を監視してください
デバッグモード
詳細なログを記録するには、.env ファイルで DEBUG=true を設定して、デバッグモードを有効にしてください。
貢献
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- 該当する場合はテストを追加します
- プルリクエストを送信します
ライセンス
MIT ライセンスです。詳細は LICENSE ファイルをご覧ください。
サポート
問題や質問については、以下をご利用ください。
- GitHub で issue を作成する
- トラブルシューティングのセクションを確認する
- MCP のドキュメントを参照する
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。