CurlShot について
CurlShotは、公開ウェブページを画像、PDF、スクロール動画として取得するホスト型MCPサーバーです。サーバーをインストールせずにページを視覚的に取得したいAIエージェントやMCPクライアント向けです。
主な機能
- 01PNG、JPEG、WebP、PDFでページを取得
- 02ページのスクロール動画を記録
- 03全ページまたはCSS指定要素を取得
- 04デバイスプリセットとビューポートを設定
- 05ダークモードとリクエストキャッシュに対応
活用シーン
- 01エージェントによる確認用に公開ページを取得
- 02全ページまたは指定要素のキャプチャを保存
- 03ページ上から下へのスクロールを動画で記録
MCP 対応
CurlShotはストリーミングHTTPのホスト型MCPエンドポイントで、`take_screenshot`と`list_devices`ツールを提供します。スクリーンショットにはBearer APIキーが必要ですが、デバイスプリセット一覧には不要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://curlshot.com/api/mcpclaude mcp add --transport http sergiupogor-curlshot https://curlshot.com/api/mcp{"mcpServers":{"sergiupogor-curlshot":{"type":"http","url":"https://curlshot.com/api/mcp"}}}Cursor で開く{"servers":{"sergiupogor-curlshot":{"type":"http","url":"https://curlshot.com/api/mcp"}}}VS Code で開く{"mcpServers":{"sergiupogor-curlshot":{"type":"http","url":"https://curlshot.com/api/mcp"}}}{"mcpServers":{"sergiupogor-curlshot":{"serverUrl":"https://curlshot.com/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://curlshot.com/api/mcp認証が必要ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | http:// または https:// で始まるページの完全なアドレス。 |
| cache | boolean | いいえ | 以前に同じリクエストが行われている場合、保存済みのコピーを再利用します。 |
| delay | number | いいえ | ページの読み込み後に追加で待機する秒数。 |
| format | enum | いいえ | 結果のファイル形式。mp4、webm、gif では、ページを上から下までスクロールする動画を記録します。png | jpeg | webp | pdf | mp4 | webm | gif |
| selector | string | いいえ | この CSS セレクターに一致する最初の要素のみをキャプチャします。 |
| block_ads | boolean | いいえ | 広告ネットワークへのリクエストをブロックします。 |
| dark_mode | boolean | いいえ | ページにダークテーマを要求します。 |
| full_page | boolean | いいえ | 最初の画面だけでなく、ページ全体をキャプチャします。 |
| wait_until | enum | いいえ | ページの読み込み完了を示すページイベント。load | domcontentloaded | networkidle | commit |
| viewport_width | integer | いいえ | ブラウザーウィンドウの幅(ピクセル単位)。 |
| viewport_device | enum | いいえ | デバイスプリセットをエミュレートします(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_height | integer | いいえ | ブラウザーウィンドウの高さ(ピクセル単位)。 |
| block_cookie_banners | boolean | いいえ | 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_devices | take_screenshot の viewport_device で指定できるデバイスプリセット(スマートフォン、タブレット、デスクトップ)を一覧表示します。 | いいえ |
take_screenshot の引数:
| 引数 | 意味 |
|---|---|
url(必須) | http:// または https:// で始まる、ページの完全なアドレスです。 |
format | png、jpeg(デフォルト)、webp、pdf、mp4、webm、gif。動画形式では、動画対応プランの場合、ページを上から下までスクロールする様子を記録します。 |
full_page | 最初の画面だけでなく、ページ全体をキャプチャします。 |
viewport_device | iphone_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 キーの取得
- curlshot.com/register で登録します。無料プランでは、カード登録なしで月100枚のスクリーンショットを利用できます。
- ダッシュボードでエージェント用の API キーを個別に作成すると、そのキーだけを無効化できます。
- そのキーでは 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 件のリクエスト制限があります。
- 月間制限に達すると、画像の代わりにアップグレード用リンクを含むエラーがツールから返されます。
リンク
- ウェブサイト:curlshot.com
- ドキュメント:curlshot.com/docs
- AI エージェント向け MCP ガイド:curlshot.com/docs/guides/ai-agents
- 料金:curlshot.com/pricing
- サーバーカード:curlshot.com/.well-known/mcp.json
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。