Screenshot Scout
resmiAmbil tangkapan layar halaman web sebagai gambar atau PDF dengan Screenshot Scout.
Apa yang bisa Anda lakukan dengan Screenshot Scout MCP?
- Tangkapan layar penuh atau viewport — Minta PNG, JPEG, WebP, GIF, TIFF, atau PDF dari URL apa pun melalui
capture_screenshot, dengan modefullPageopsional. - Kontrol elemen dan interaksi — Targetkan
selectortertentu, sembunyikan elemen denganhideSelectors, klik elemen melaluiclickSelectors, dan blokir spanduk cookie, iklan, atau widget obrolan. - Simulasi perangkat dan lokasi — Tentukan
device, dimensi viewport,country, dancolorScheme(gelap/terang) untuk meniru berbagai konteks penjelajahan. - Pembuatan PDF dengan opsi tata letak — Buat PDF dengan
pdfPaperFormat,pdfLandscape,pdfPrintBackground, margin kustom, danpdfScaleuntuk dokumen siap cetak. - Penyesuaian ukuran output dan kualitas — Sesuaikan
imageWidth,imageHeight, danimageQuality(untuk JPEG/WebP) untuk mengontrol ukuran file dan resolusi. - Caching dan pengiriman hasil — Aktifkan
cachedengancacheTtl, dan pilihresultModeuntuk mendapatkan gambar inline atau URL sementara saja.
Dokumentasi
Server MCP Screenshot Scout
Gunakan Screenshot Scout dari klien MCP untuk menangkap halaman web HTTP atau HTTPS sebagai gambar atau PDF.
Server ini mengekspos satu alat, capture_screenshot. Alat ini mendukung penangkapan halaman penuh dan elemen, kontrol perangkat dan viewport, pemilihan lokasi, opsi interaksi dan pemblokiran halaman, ukuran dan kualitas gambar, tata letak PDF, caching, URL hasil sementara, dan konten gambar MCP yang memenuhi syarat.
Yang Anda perlukan
- Akun Screenshot Scout dan kunci akses dari halaman kunci API.
- Node.js 22 atau lebih baru untuk instalasi npm/stdio. Runtime MCPB Claude Desktop disertakan oleh Claude.
- Kunci rahasia opsional hanya jika kunci API yang Anda pilih memerlukan permintaan Screenshot Scout yang ditandatangani.
Setiap penangkapan menggunakan akun Screenshot Scout Anda dan tunduk pada paket, kuota, dan batas kecepatannya.
stdio lokal dengan npm
Mulai dengan konfigurasi stdio lokal ini:
{
"mcpServers": {
"screenshotscout": {
"command": "npx",
"args": ["-y", "@screenshotscout/mcp"],
"env": {
"SCREENSHOTSCOUT_ACCESS_KEY": "YOUR_ACCESS_KEY"
}
}
}
}
Jika kunci akses memerlukan penandatanganan permintaan, tambahkan kunci rahasia secara lokal:
"SCREENSHOTSCOUT_SECRET_KEY": "YOUR_SECRET_KEY"
Jauhkan file konfigurasi pribadi dari kontrol sumber. Kredensial adalah nilai lingkungan proses, bukan argumen alat. Lihat konfigurasi salin-tempel khusus klien untuk Claude Desktop, Claude Code, Cursor, VS Code/GitHub Copilot, Devin, dan Cline.
Menjalankan dari salinan sumber
npm ci
npm run build
Arahkan klien ke jalur absolut dist/stdio.js dengan node, dan berikan variabel lingkungan yang sama seperti yang ditunjukkan di atas.
Claude Desktop MCPB
Untuk menginstal ekstensi Claude Desktop:
- Unduh
screenshotscout-mcp-<version>.mcpbdari rilis GitHub versi tersebut. - Di Claude Desktop, buka Settings → Extensions → Advanced settings dan pilih Install Extension….
- Pilih file yang diunduh.
- Masukkan kunci akses yang diperlukan. Masukkan kunci rahasia hanya untuk kunci API yang memerlukan permintaan yang ditandatangani.
Claude Desktop memperlakukan kedua bidang sebagai pengaturan sensitif. MCPB v0.1.0 mendukung Windows.
HTTP Streamable yang Dihosting
Titik akhir kunci API yang dihosting aktif di:
https://mcp.screenshotscout.com/mcp/api-key
Ini ditujukan hanya untuk klien yang dapat melampirkan header HTTP statis:
Authorization: Bearer YOUR_ACCESS_KEY
Titik akhir ini hanya menerima kunci akses. Jangan pernah mengirim kunci rahasia Screenshot Scout ke sana, dan jangan pernah menaruh salah satu kunci di URL atau argumen alat. Klien yang tidak dapat melampirkan header Bearer statis tidak dapat menggunakan titik akhir ini.
Kunci API yang memerlukan tanda tangan permintaan harus menggunakan stdio lokal atau MCPB, atau menggunakan kunci akses tanpa tanda tangan khusus untuk titik akhir yang dihosting.
stdio lokal dengan Docker
Bangun image produksi dari salinan sumber:
docker build --tag screenshotscout-mcp:local .
Teruskan kredensial dari lingkungan lokal dan pertahankan stdin tetap terhubung untuk lalu lintas stdio MCP:
docker run --rm -i --init --cap-drop=ALL --security-opt=no-new-privileges --read-only \
-e SCREENSHOTSCOUT_ACCESS_KEY \
-e SCREENSHOTSCOUT_SECRET_KEY \
screenshotscout-mcp:local
SCREENSHOTSCOUT_SECRET_KEY tetap opsional. Image berjalan sebagai pengguna tanpa hak istimewa dan hanya berisi server stdio yang telah dikompilasi beserta dependensi produksinya. Image ini tidak mendeklarasikan port atau pemeriksaan kesehatan kontainer: klien MCP memiliki proses stdio dan memverifikasi kesiapan dengan menyelesaikan inisialisasi MCP. Image dan metadata Katalog MCP Docker-nya di docker-mcp-catalog.yaml adalah persiapan lokal; tidak ada image publik yang tersirat oleh perintah-perintah ini.
Alat: capture_screenshot
capture_screenshot mengirim satu permintaan penangkapan untuk URL dan opsi yang diberikan. Halaman web target bersifat eksternal, dan konten yang dikembalikannya harus diperlakukan sebagai tidak tepercaya.
Input
Hanya url yang wajib diisi. Penangkapan menggunakan viewport 1280×720 secara default. Jika tidak ada format yang ditentukan, alat mengembalikan JPEG dengan kualitas 60. resultMode default-nya adalah "auto".
| Grup | Input |
|---|---|
| Target dan output | url; format (png, jpg, jpeg, webp, gif, tiff, pdf); resultMode (auto, url_only) |
| Lokasi dan viewport | country (kode negara dua huruf), device, deviceViewportWidth, deviceViewportHeight, colorScheme (auto, dark, light), fullPage |
| Persiapan halaman | blockCookieBanners, blockAds, blockChatWidgets, selector, hideSelectors, clickSelectors |
| Pengaturan waktu | waitUntil (load, domcontentloaded, networkidle0, networkidle2), delay (0–30 detik), navigationTimeout (5–90 detik), timeout (1–240 detik) |
| Cache | cache, cacheTtl (14,400–2,592,000 detik) |
| Pengubahan ukuran output | imageWidth, imageHeight (1–8,192; tersedia untuk gambar dan PDF) |
| Hanya gambar | imageQuality (0–100, hanya JPEG/WebP) |
| Hanya PDF | pdfPaperFormat (letter, legal, tabloid, a4, a3, content), pdfLandscape, pdfPrintBackground, pdfMargin, bidang margin per sisi, pdfScale (lebih besar dari 0 dan paling banyak 3) |
Jika kedua dimensi output diberikan, hasil kalinya tidak boleh melebihi 64.000.000 piksel. Margin PDF menerima nilai non-negatif dalam px, in, mm, atau cm. imageQuality memerlukan output JPEG atau WebP, dan opsi khusus PDF memerlukan format: "pdf".
Hasil
- PNG, JPEG, WebP, dan GIF dapat disertakan sebagai konten gambar MCP ketika
resultModeadalahauto, tipe MIME memenuhi syarat, dimensi diketahui dan paling banyak 8.000 piksel per sisi, data mentah paling banyak 5 MiB, dan hasil serialisasi lengkap sesuai dengan batas server saat ini sebesar 128.000 byte. - Penangkapan yang tidak memenuhi syarat untuk disematkan tetap berhasil dan mengembalikan URL sementara beserta alasan penghapusan yang dapat ditindaklanjuti.
- TIFF hanya berupa URL.
- Byte PDF tidak pernah disematkan. Hasil PDF menyertakan teks aman dan metadata terstruktur, plus tautan sumber daya ketika Screenshot Scout menyediakan URL hasil.
resultMode: "url_only"menghilangkan byte gambar untuk semua format.
Klien MCP mengontrol apakah konten gambar atau tautan sumber daya yang dikembalikan ditampilkan atau tersedia untuk model.
Metadata terstruktur dapat mencakup screenshotUrl, screenshotUrlExpiresAt, cacheStatus, format, mimeType, imageWidth, imageHeight, inlineImageIncluded, dan inlineImageOmissionReason.
Perlakukan URL hasil sebagai tautan sensitif dan sementara, serta hormati masa berlakunya yang dilaporkan.
Contoh perintah
- "Tangkap
https://example.comsebagai PNG halaman penuh dalam mode gelap. Kembalikan hanya URL." - "Ambil tangkapan layar JPEG 1280×720 dari
https://example.com/pricing, blokir spanduk cookie dan iklan, dan gunakan kualitas 80." - "Buat PDF A4 dari
https://example.com/reportdengan latar belakang diaktifkan dan margin 10 mm."
Privasi dan keamanan
Server mengirim URL target dan opsi penangkapan yang dipilih ke Screenshot Scout, yang memuat situs web target. Tinjau kebijakan privasi Screenshot Scout sebelum menangkap materi pribadi atau yang diatur.
- Jangan menangkap halaman yang tidak Anda berwenang untuk mengaksesnya.
- Jangan menempelkan kredensial ke dalam perintah, input alat, URL, laporan masalah, atau log.
- Simpan kunci akses dan kunci rahasia lokal di penyimpanan rahasia yang dikelola klien atau konfigurasi lingkungan pribadi.
- Server stdio lokal tidak menambahkan telemetri. Pencatatan aplikasi untuk layanan yang dihosting terbatas pada metode permintaan, status respons, durasi, dan kesalahan tak terduga yang telah dibersihkan. Ini dirancang untuk tidak menyertakan kredensial, URL target, URL tangkapan layar, konten permintaan atau respons, atau byte gambar.
- Tinjau setiap target dan permintaan penangkapan sebelum mengizinkan penggunaan alat. Alat ini bersifat open-world, mengonsumsi kuota, dan berinteraksi dengan situs web eksternal.
- Laporkan kerentanan secara pribadi seperti yang dijelaskan di SECURITY.md.
Pengembangan
npm ci
npm run format:check
npm run lint
npm run typecheck
npm test
npm run metadata:check
npm run registry:validate
npm run mcpb:validate
npm run mcpb:pack
Lisensi
MIT © Oleksii Velykyi