Screenshot Scout

resmi

Ambil 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 mode fullPage opsional.
  • Kontrol elemen dan interaksi — Targetkan selector tertentu, sembunyikan elemen dengan hideSelectors, klik elemen melalui clickSelectors, dan blokir spanduk cookie, iklan, atau widget obrolan.
  • Simulasi perangkat dan lokasi — Tentukan device, dimensi viewport, country, dan colorScheme (gelap/terang) untuk meniru berbagai konteks penjelajahan.
  • Pembuatan PDF dengan opsi tata letak — Buat PDF dengan pdfPaperFormat, pdfLandscape, pdfPrintBackground, margin kustom, dan pdfScale untuk dokumen siap cetak.
  • Penyesuaian ukuran output dan kualitas — Sesuaikan imageWidth, imageHeight, dan imageQuality (untuk JPEG/WebP) untuk mengontrol ukuran file dan resolusi.
  • Caching dan pengiriman hasil — Aktifkan cache dengan cacheTtl, dan pilih resultMode untuk 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:

  1. Unduh screenshotscout-mcp-<version>.mcpb dari rilis GitHub versi tersebut.
  2. Di Claude Desktop, buka Settings → Extensions → Advanced settings dan pilih Install Extension….
  3. Pilih file yang diunduh.
  4. 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".

GrupInput
Target dan outputurl; format (png, jpg, jpeg, webp, gif, tiff, pdf); resultMode (auto, url_only)
Lokasi dan viewportcountry (kode negara dua huruf), device, deviceViewportWidth, deviceViewportHeight, colorScheme (auto, dark, light), fullPage
Persiapan halamanblockCookieBanners, blockAds, blockChatWidgets, selector, hideSelectors, clickSelectors
Pengaturan waktuwaitUntil (load, domcontentloaded, networkidle0, networkidle2), delay (0–30 detik), navigationTimeout (5–90 detik), timeout (1–240 detik)
Cachecache, cacheTtl (14,400–2,592,000 detik)
Pengubahan ukuran outputimageWidth, imageHeight (1–8,192; tersedia untuk gambar dan PDF)
Hanya gambarimageQuality (0–100, hanya JPEG/WebP)
Hanya PDFpdfPaperFormat (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 resultMode adalah auto, 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.com sebagai 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/report dengan 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