mcpField
C
CurlShot

CurlShot

リモート
curlshot.comブラウザ自動化04 日前に更新
リポジトリ公式サイト

CurlShot について

CurlShotは、公開ウェブページを画像、PDF、スクロール動画として取得するホスト型MCPサーバーです。サーバーをインストールせずにページを視覚的に取得したいAIエージェントやMCPクライアント向けです。

主な機能

  1. 01PNG、JPEG、WebP、PDFでページを取得
  2. 02ページのスクロール動画を記録
  3. 03全ページまたはCSS指定要素を取得
  4. 04デバイスプリセットとビューポートを設定
  5. 05ダークモードとリクエストキャッシュに対応

活用シーン

  1. 01エージェントによる確認用に公開ページを取得
  2. 02全ページまたは指定要素のキャプチャを保存
  3. 03ページ上から下へのスクロールを動画で記録

MCP 対応

CurlShotはストリーミングHTTPのホスト型MCPエンドポイントで、`take_screenshot`と`list_devices`ツールを提供します。スクリーンショットにはBearer APIキーが必要ですが、デバイスプリセット一覧には不要です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://curlshot.com/api/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://curlshot.com/api/mcp認証が必要

ツール

2
パラメーター型必須説明
urlstringはいhttp:// または https:// で始まるページの完全なアドレス。
cachebooleanいいえ以前に同じリクエストが行われている場合、保存済みのコピーを再利用します。
delaynumberいいえページの読み込み後に追加で待機する秒数。
formatenumいいえ結果のファイル形式。mp4、webm、gif では、ページを上から下までスクロールする動画を記録します。png | jpeg | webp | pdf | mp4 | webm | gif
selectorstringいいえこの CSS セレクターに一致する最初の要素のみをキャプチャします。
block_adsbooleanいいえ広告ネットワークへのリクエストをブロックします。
dark_modebooleanいいえページにダークテーマを要求します。
full_pagebooleanいいえ最初の画面だけでなく、ページ全体をキャプチャします。
wait_untilenumいいえページの読み込み完了を示すページイベント。load | domcontentloaded | networkidle | commit
viewport_widthintegerいいえブラウザーウィンドウの幅(ピクセル単位)。
viewport_deviceenumいいえデバイスプリセットをエミュレートします(list_devices を参照)。iphone_se | iphone_12 | iphone_13 | iphone_13_mini | iphone_14 | iphone_14_plus | iphone_14_pro | iphone_14_pro_max | iphone_15 | iphone_15_plus | iphone_15_pro | iphone_15_pro_max | iphone_16 | iphone_16_plus | iphone_16_pro | iphone_16_pro_max | pixel_5 | pixel_7 | pixel_8 | pixel_8_pro | pixel_9 | pixel_9_pro | galaxy_s23 | galaxy_s24 | galaxy_s24_ultra | galaxy_a54 | ipad | ipad_mini | ipad_air | ipad_pro_11 | ipad_pro_13 | galaxy_tab_s9 | pixel_tablet | macbook_air_13 | macbook_pro_14 | macbook_pro_16 | laptop_hd | laptop_hidpi | desktop_hd | desktop_full_hd | desktop_qhd | desktop_4k | imac_24
viewport_heightintegerいいえブラウザーウィンドウの高さ(ピクセル単位)。
block_cookie_bannersbooleanいいえCookie 同意バナーを非表示にします。

詳細

CurlShot MCP サーバー

AI エージェントにウェブページのスクリーンショットを撮影させましょう。CurlShot はホスト型の Model Context Protocol サーバーを運用しているため、インストールは不要です。MCP クライアントでエンドポイントを指定し、API キーを追加するだけです。

https://curlshot.com/api/mcp
  • トランスポート: ストリーム可能な HTTP(POST による JSON-RPC 2.0)。サーバーはステートレスのため、GET には 405 を返します。
  • 認証: Authorization: Bearer YOUR_API_KEY
  • プロトコルのバージョン: 2025-06-18、2025-03-26、2024-11-05

このリポジトリには、ドキュメント、server.json マニフェスト(MCP Registry 形式)、およびライセンスが含まれています。サーバー本体は curlshot.com で稼働しています。

ツール

ツール機能キーが必要
take_screenshot公開ウェブページをレンダリングし、画像、PDF、またはページをスクロールする動画として返します。成功した呼び出しごとに、利用枠のスクリーンショットを1枚消費します。キャッシュヒットとレンダリング失敗は無料です。はい
list_devicestake_screenshot の viewport_device で指定できるデバイスプリセット(スマートフォン、タブレット、デスクトップ)を一覧表示します。いいえ

take_screenshot の引数:

引数意味
url(必須)http:// または https:// で始まる、ページの完全なアドレスです。
formatpng、jpeg(デフォルト)、webp、pdf、mp4、webm、gif。動画形式では、動画対応プランの場合、ページを上から下までスクロールする様子を記録します。
full_page最初の画面だけでなく、ページ全体をキャプチャします。
viewport_deviceiphone_15_pro などのデバイスプリセットです(list_devices を参照)。
viewport_width、viewport_heightブラウザーウィンドウのピクセル単位のサイズです(デフォルトは 1280 x 1024)。
dark_modeページにダークテーマを要求します。
block_ads、block_cookie_bannersデフォルトで有効です。
selectorこの CSS セレクターに一致する最初の要素だけをキャプチャします。
wait_until、delayページが読み込み済みとみなされるタイミングと、追加で待機する秒数です。
cache同じリクエストの保存済みコピーを再利用します。

小さい結果は、モデルが認識できる画像としてインラインで返されます。6 MB を超える結果は、約1日間有効なダウンロードリンクとして返されます。

API キーの取得

  1. curlshot.com/register で登録します。無料プランでは、カード登録なしで月100枚のスクリーンショットを利用できます。
  2. ダッシュボードでエージェント用の API キーを個別に作成すると、そのキーだけを無効化できます。
  3. そのキーでは Require signature をオフにします。MCP の呼び出しには署名がありません。

キーはプロンプトではなく、クライアントの設定に保存してください。以下の例では、プレースホルダーとして YOUR_API_KEY を使用しています。

クライアントの設定

Claude Code
claude mcp add --transport http curlshot https://curlshot.com/api/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

または、Claude Code プラグイン(MCP サーバーとエージェントスキルを含む)としてインストールできます。事前に環境変数 CURLSHOT_API_KEY を設定してください。プラグインはこれをベアラートークンとして送信します。

/plugin install curlshot --marketplace SergiuPogor/curlshot-mcp
Claude Desktop

Claude Desktop は設定ファイルからローカル(stdio)サーバーを起動するため、mcp-remote プロキシ経由で接続します。claude_desktop_config.json を編集してください(設定 → 開発者 → 設定を編集)。

{
  "mcpServers": {
    "curlshot": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://curlshot.com/api/mcp",
        "--transport",
        "http-only",
        "--header",
        "Authorization: Bearer YOUR_API_KEY"
      ]
    }
  }
}

保存後、Claude Desktop を再起動します。Node.js が必要です。

Cursor

~/.cursor/mcp.json(すべてのプロジェクト)または .cursor/mcp.json(1つのプロジェクト)に追加します。

{
  "mcpServers": {
    "curlshot": {
      "url": "https://curlshot.com/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
VS Code(GitHub Copilot)

.vscode/mcp.json に追加します。VS Code はキーを一度だけ尋ね、安全に保存します。

{
  "inputs": [
    {
      "type": "promptString",
      "id": "curlshot-api-key",
      "description": "CurlShot API key",
      "password": true
    }
  ],
  "servers": {
    "curlshot": {
      "type": "http",
      "url": "https://curlshot.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${input:curlshot-api-key}"
      }
    }
  }
}
Gemini CLI

このリポジトリは Gemini CLI 拡張機能でもあります。インストールして、要求されたら API キーを入力してください。

gemini extensions install https://github.com/SergiuPogor/curlshot-mcp

キーは CURLSHOT_API_KEY 設定として保存され、Authorization: Bearer ... として送信されます。

エージェントスキル(MCP なし)

MCP ではなく Agent Skills を使用するエージェント向けに、skills/curlshot/SKILL.md では CURLSHOT_API_KEY からキーを読み取り、curl で HTTP API を直接呼び出す方法を説明しています。

npx skills add SergiuPogor/curlshot-mcp
その他のクライアント

ストリーミング可能な HTTP 経由でリモートサーバーに対応しているクライアントであれば、どれでも使用できます。多くのクライアントでは、次のような設定を使用します。

{
  "mcpServers": {
    "curlshot": {
      "type": "http",
      "url": "https://curlshot.com/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

ローカルサーバーのみを起動するクライアントでは、Claude Desktop 用に示した mcp-remote コマンドを使用できます。

curl で試す

curl -X POST "https://curlshot.com/api/mcp" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "take_screenshot",
      "arguments": { "url": "https://example.com", "format": "webp" }
    }
  }'

制限と料金

  • 無料プランでは、クレジットカード不要で月に 100 枚のスクリーンショットを利用できます。有料プランは月額 $19 からです。料金をご覧ください。
  • 成功したレンダリングのみがカウントされます。キャッシュヒットとレンダリングの失敗は無料です。
  • MCP エンドポイントには、プラン固有の制限に加えて、IP アドレスごとに 1 分あたり 120 件のリクエスト制限があります。
  • 月間制限に達すると、画像の代わりにアップグレード用リンクを含むエラーがツールから返されます。

リンク

ライセンス

MIT

コメント

MCP は初めてですか?

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

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