ZencoderにおけるScrapeless MCPサーバーを使ったウェブスクレイピングの完全ガイド
Expert Network Defense Engineer
主なポイント:
- 1つのMCPサーバー、すべてのZencoderエージェント。 Zencoderは、VS Code拡張機能とJetBrainsプラグイン内で、Coding Agent、Unit Testing Agent、Ask Agent、E2E Testing Agent、Repo Info Agent、Web Dev Agentを実行します。どちらのクライアントにScrapeless MCP Serverを追加することで、すべてのエージェントが強化されたクラウドブラウザ、195以上の国における住宅プロキシ、SERPスクレイパー、ワンショットのMarkdown/Screenshotヘルパーにアクセスします — すべて1つの設定ブロックを通じて。
- エージェントがブロックされなくなる。 Zencoderは強力なRepo Grokkingとコード生成を提供しますが、デフォルトのウェブフェッチは、匿名HTTPリクエストが遭遇するのと同じJavaScriptシェルやアンチボットゲートに当たります。Scrapeless Scraping Browserを経由することで、クラウド側のJavaScriptレンダリング、住宅プロキシの出口、すべてのセッションでのアンチ検出フィンガープリンティングに切り替わります。
- 20のMCPツール、1つの名前空間。 ブラウザプライミティブ(
browser_create,browser_goto,browser_get_html,browser_get_text,browser_snapshot,browser_click,browser_type,browser_press_key,browser_scroll,browser_screenshot,browser_close)、ワンショットページヘルパー(scrape_html,scrape_markdown,scrape_screenshot)、およびGoogleデータツール(google_search,google_trends)。エージェントのプランナーは、それらをターンごとに構成します。 - 2つの設定スキーマ、1つのサーバー。 VS Codeは
settings.jsonから"zencoder.mcpServers"を読み込み、現在はstdioのみをサポートしています。JetBrains 2.13以上は、ベアオブジェクトスキーマを使用し、stdio、ストリーミングHTTP、およびOAuth2トランスポートをサポートします。同じscrapelessサーバーエントリは両方に適用でき、ラッパーキーだけが変更されます。 - スキルとMCPが統合。 Zencoderのスキルシステム(
~/.zencoder/skills/<name>/SKILL.md、YAMLフロントマター + マークダウン)は、エージェントにツールの使い方を教えます。MCPはどのツールが存在するかを定義します。それらは加算的であり、両方をインストールすると、エージェントはツールのサーフェスとその使用方法のプレイブックを手に入れます。 - モデル非依存の設計。 Zencoderは、Haiku 4.5、Sonnet 4.6、Opus 4.6、Opus 4.7、Gemini 3 Pro、Gemini 3 Flash、GPT-5.4、およびGPT-5.2の間で同じエージェントループを通じてルートします。Scrapeless MCP統合は、すべてで同一に機能します — プロトコルが契約です。
- 無料で始める。 新しいScrapelessアカウントには、無料のScraping Browserランタイムが含まれます — app.scrapeless.comでサインアップしてください。料金についてはhttp://scrapeless.com/en/pricingをご覧ください。
はじめに: エージェントはライブウェブへのアクセスによってのみ便利
Zencoderは、実装用のCoding Agent、コードベースコンテキスト用のRepo Info Agent、カバレッジ用のUnit Testing Agent、ブラウザテスト用のE2E Testing Agent、説明用のAsk Agent、UI作業用のWeb Dev Agentからなるマルチエージェントワークフローに基づいたAIコーディングオーケストレーションプラットフォームです。これは、Visual Studio Code拡張機能とJetBrainsプラグインの2つのサーフェスで提供されます。ローカルコードに関しては、この構図は完全です — Zencoderはリポジトリを読み込み、変更を計画し、差分を書き出します。
タスクが最新の公的なウェブデータを必要とする瞬間、その構図は薄くなります。Zencoderのデフォルトのウェブフェッチは、匿名HTTPリクエストが遭遇するのと同じJavaScriptシェルを返し、商業サイトではレンダリングされたDOMがアンチボットチャレンジ、住宅プロキシが鍵をかけたSERP、ヘッドレスフェッチが支援なしでは到達できないJavaScript専用のシングルページアプリに隠れています。「この競合の価格ページを開いてプラン表を引き出して」というプロンプトは、ターゲットサイトがCloudflare Turnstileの背後にあると決定的ではなくなります。
この投稿では、Scrapeless MCP ServerをZencoderに単一の設定ブロックを通じて接続します。接続後、すべてのZencoderエージェントが強化されたクラウドブラウザ、Google検索スクレイパー、Googleトレンドスクレイパー、ワンショットHTML/Markdown/Screenshotヘルパーにマッピングされた20のMCPツールを持つことになります。エージェントはターンごとに呼び出すツールを選択し、クラウドブラウザがJavaScriptレンダリング、住宅プロキシの出口、アンチ検出フィンガープリンティングを処理し、IDEはコード生成、ファイルツリー、ターミナルを所有し続けます。Google Antigravityの同じScrapelessサーフェスについては、Antigravity統合の手順を、正式なMCPサーバーのリファレンスについては、Google MapsのためのMCPサーバーの手順をご覧ください。
これでできること
- IDE内でのライブAPIおよびライブラリリサーチ。 Coding Agentに
scrape_markdownを通じてライブラリの最新ドキュメントページを取得させ、レンダリングされたテキストに対して推論を行います。 - ワークスペース内の競合の価格スナップショット。 競合のURLをエージェントチャットにドロップし、エージェントがそれをコードと一緒に比較ファイルに貼り付けられる構造化された価格行を返します。
- プロジェクトへのパブリックデータセットの取り込み。 エージェントがディレクトリリストを巡回し、型付けされたレコードを抽出して、それをJSONフィクスチャ、SQLシード、またはモデルレイヤーの隣にあるTypeScriptタイプに直接書き込みます。
- 地域に対応したSERPとトレンド信号。 エージェントループ内で
google_searchとgoogle_trendsを使用して、ローカル特有のエビデンスで機能フラグ、A/Bコピー、またはコンテンツテンプレートを初期化します。 - RAGとプロジェクトドキュメント用のMarkdownコーパス。
scrape_markdownは、エージェントがチャンク化、埋め込み、またはプロジェクトローカルコンテキストとして保存できるクリーンなMarkdownの出版社ページを返します。 - デザインとUX作業のための視覚リファレンス。
scrape_screenshotとbrowser_screenshotは、Web Dev Agentが会話に添付できる視覚的な差分、レイアウトリファレンス、またはデザイン入力のためにレンダリングされたページをキャプチャします。 - 一つのプロンプトからのマルチエージェント実行。 Repo Info Agentがコードベースのコンテキストを集め、Coding Agentが
browser_*チェーンを実行し、Unit Testing Agentが結果のフィクスチャの形を検証します — すべて一回のZencoderターン内で。
Scrapelessでは、関連する法律、規則、およびウェブサイトのプライバシーポリシーを厳守しながら、公開されているデータにのみアクセスします。この記事の内容はデモンストレーション目的のみです。
なぜScrapeless MCPサーバーなのか
Scrapeless MCPサーバーは、Scrapeless Scraping Browser — AIエージェント用に設計されたカスタマイズ可能な検知回避クラウドブラウザ — の前面にあるプロトコルレベルの表面であり、Scrapelessデータツール(Google Search、Google Trends、ページレベルのスクレイピングヘルパー)を組み合わせています。特にZencoderにとって、次のような利点があります:
- クラウド側JavaScriptレンダリング。 クラウドブラウザはフルChromiumで、抽出の前にページが水和されているため、SPA、無限スクロールフィード、レイジーロードされたパネルが
browser_goto+browser_get_htmlのファーストクラスターゲットになります。 - 195以上の国の住宅プロキシ。 地域に基づくクエリは、地元のユーザーが見るリストを返します。プロキシ地域はScrapelessアカウントで設定されており、必要なワークフローのために
scrapeless-scraping-browserCLIを通じて、クエリごとの地域選択が公開されています。 - すべてのセッションでの検知回避指紋認証。 UA、タイムゾーン、言語、画面解像度、WebGL、キャンバスがセッションごとにランダム化され、長いスクロールセッションがオーガニックトラフィックと同じようにレンダリングされます。
- セッション持続性。
browser_createタスクIDは、同じエージェントターン内の後続のbrowser_*呼び出しで再利用され、クッキー、スクロール位置、ナビゲーション履歴はすべて一つのクラウドブラウザセッション内に存在します。 - 一つのMCP名前空間。 エージェントが必要とするすべての操作は単一のツール呼び出しであり、Zencoderのエージェントツールパネルから発見可能で、プロトコルによってスキーマ検証され、説明によってプロンプトに一致します。
- 新しいアカウントの無料ランタイム。 app.scrapeless.comで無料プランのAPIキーを取得できます。MCPツールサーフェスの詳細は、github.com/scrapeless-ai/scrapeless-mcp-serverで文書化されており、プラットフォームのドキュメントはdocs.scrapeless.comにあります。
前提条件
- Zencoderがインストールされていること。 VS Code拡張機能またはJetBrainsプラグイン(JetBrains 2.13以上からフルスタンダード入出力 + ストリーミングHTTP + OAuth2 MCPサポート)。
- ScrapelessアカウントとAPIキー — app.scrapeless.comでサインアップし、設定 → APIキー管理からキーをコピーします。
- Node.js 18以上がワークステーションにインストールされていること。Zencoderは
npx scrapeless-mcp-serverを子プロセスとして生成します。 - JSONの編集に関する基本的な理解 — Zencoder MCP設定は
settings.jsonにあります。
インストール
セットアップは五つのサブステップです。JSONスキーマはVS CodeとJetBrainsで異なるため、設定するIDEに合ったセクションを選んでください。
1. Scrapeless APIキーを取得する
app.scrapeless.comでサインアップし、ダッシュボードを開いて、設定 → APIキー管理からキーを作成します。その値をコピーします — これはステップ3のMCP設定に入ります。
2. ZencoderのMCP設定を開く
オプションA — エージェントツールUI(両方のIDEに推奨):
- Zencoderチャットパネルの右上にある**…**メニューをクリックします。
- エージェントツールを選択します。
- カスタムタブを開いて、カスタムMCPを追加をクリックします。
- 構成フォーム(名前、コマンド、引数、環境)に入力します。UIが自動的に
settings.jsonに書き込みます。
オプションB — settings.jsonを直接編集:
- VS Code: Zencoderチャットの**…**メニューを開く → 設定 → MCPサーバーセクションまでスクロール → settings.jsonで編集をクリックします。
- JetBrains: ファイル → 設定(またはmacOSの場合はJetBrains IDE → 設定)を開く → ツール → Zencoder → MCPサーバーを展開します。
3. Scrapeless MCPサーバーを追加する
JSONスキーマは2つのIDEで異なります — VS Codeはエントリを"zencoder.mcpServers"というトップレベルのキーの内側にラップしますが、JetBrainsはベアオブジェクトを使用します。
VS Code — stdioモード(現在VS Codeでサポートされている唯一のトランスポート):
json
"zencoder.mcpServers": {
"scrapeless": {
"command": "npx",
"args": ["-y", "scrapeless-mcp-server"],
"env": {
"SCRAPELESS_KEY": "YOUR_SCRAPELESS_KEY"
}
}
}
JetBrains — stdioモード:
json
{
"scrapeless": {
"command": "npx",
"args": ["-y", "scrapeless-mcp-server"],
"env": {
"SCRAPELESS_KEY": "YOUR_SCRAPELESS_KEY"
}
}
}
ファイルを保存します。最初の実行時に、npx -y scrapeless-mcp-serverがパッケージをダウンロードし、その後の再起動でキャッシュされたバージョンを再利用します。
4. またはHTTPストリーミングモードを使用します(JetBrains 2.13以降のみ)
JetBrains 2.13以降は、stdio、ストリーミングHTTP、およびOAuth2 MCPトランスポートをサポートしています; VS Codeは現在stdioのみ(ストリーミングHTTPとOAuth2はZencoderドキュメントで「近日公開」としてトラッキングされています)。npxが確実に長期的な子プロセスを生成できないホスティングされた開発コンテナやCIサンドボックスで動作するリモートエージェントの場合、JetBrainsユーザーはZencoderをScrapelessがホストするMCPエンドポイントにポイントできます:
json
{
"scrapeless": {
"type": "streamable-http",
"url": "https://api.scrapeless.com/mcp",
"headers": {
"x-api-token": "YOUR_SCRAPELESS_KEY"
}
}
}
同じYOUR_SCRAPELESS_KEYが両方のモードで機能します。VS Codeのユーザーは、ZencoderがVS Code用にストリーミングHTTPを実装するまで、ステップ3でstdioブロックに留まります。
5. 接続を確認する
変更を適用します — JetBrainsでは設定を編集した後にプロジェクトを再オープンする必要があります; VS Codeは通常、再読み込み時に変更を認識します。Coding Agentが有効になっていることを確認してください。新しいZencoderチャットセッションで、次のように入力します:
"Scrapelessブラウザツールでhttps://example.comを開き、ページタイトルを教えてください。"
エージェントはbrowser_create、次にbrowser_goto、次にbrowser_get_text(またはbrowser_get_html)を呼び出し、**"Example Domain"**と返信するはずです。これがクリーンに返されれば、MCPサーバーは接続されており、APIキーが有効で、クラウドブラウザに到達可能です。
そうでない場合、一般的な初回実行の失敗と修正は次のとおりです:
| 症状 | 考えられる原因 | 修正 |
|---|---|---|
エージェントツールにscrapelessがリストされていない |
コンフィグが読み込まれていない | プロジェクトを再オープンします(JetBrains)またはウィンドウを再読み込みします(VS Code);JSONパスを再確認し、ファイルが解析されることを確認します |
サーバーからのAuthentication failed / 401 |
APIキーが間違っているか期限切れ | ダッシュボードから再コピーし、env.SCRAPELESS_KEYに貼り付け、Zencoderを再起動します |
最初の呼び出しでnpxがハングする |
npmネットワークが遅いかレジストリタイムアウト | ターミナルでnpx -y scrapeless-mcp-serverを1回実行してパッケージをプリキャッシュし、その後Zencoderを再起動します |
MCP起動中のinitialize response / connection closedエラー |
JSON-RPCハンドシェイク中にstdoutに非JSONが書き込まれる | 現在のscrapeless-mcp-serverビルドを使用し(stderrにログ、stdoutにJSON-RPC)、シェルラッパーがスタートアップバナーを注入していないことを確認します |
ツールコールがAccess Denied HTMLを返す |
プロキシプールが割り当て時にフラグ付きのIPを返した | エージェントにbrowser_closeを呼び出してもらい、再度browser_createさせます;その後の割り当ては成功します |
実際にこれを使用する方法:Zencoderエージェントに促す
インストール後、エージェントは発見→抽出ループを所有します。MCPサーバーはZencoderに型付きツールリストを渡し、エージェントはツールの説明を読み、プロンプトに基づいて1ターンずつ呼び出しを構成します。IDE側から作成するtools.jsonはなく、手動でMCPコールを発行する必要もありません。
Zencoderは、組み込みのネイティブインテグレーション専用の@ショートカットを予約しています — @JiraはJiraがネイティブインテグレーションであるため機能します;MCPサーバーは@<servername>で指定することはできません。エージェントのプランナーはプロンプトをツールの説明と照合するため、アクションに関する表現(「…のページをレンダリングする」、「…をGoogleで検索する」、「そのURLをマークダウンとしてスクレイピングする」など)でリクエストを組み立てると、適切なScrapelessツールが呼び出されます。
貼り付け可能なプロンプト
| あなたが入力する内容 | エージェントが行うこと |
|---|---|
"Googleでvector database benchmarks 2026を検索し、上位10件の結果をJSONとして返してください。" |
google_search → 型付き結果リスト。 |
"Reactのドキュメントページをhttps://react.dev/learn/synchronizing-with-effectsでレンダリングし、マークダウンをください。" |
scrape_markdown → 出版者ページをマークダウンとして。 |
"https://pricing.example.comを開き、プランテーブルをスクロールし、名前、価格および機能リストをJSONとして返してください。" |
browser_create → browser_goto → browser_scroll → browser_get_html → 型付き抽出。 |
"Google Trendsで米国のdeveloper toolsに関するトレンド検索トピックを取得してください。" |
google_trends。 |
"https://example.com/landingの全ページのスクリーンショットを取り、landing.tsxの横に保存します。" |
scrape_screenshot → ワークスペースにファイル書き込み。 |
「https://www.google.com/search?q=mortgage+ratesを開いて、SERPカードを返します。」 |
アカウントのデフォルト地域がプロキシの出口を決定します; 複数のAPIキーで異なる地域を指定してください(FAQ参照)。 |
| 「前回のGoogle検索の各結果について、ページをマークダウン形式でレンダリングし、2文で要約します。」 | チェーン google_search → scrape_markdown × N → LLM要約。 |
「https://example.comのホームページをスナップショットし、アクセシビリティツリーを報告します。」 |
browser_snapshot。 |
作業例: Zencoder内での価格ページ抽出
あなたが入力します:
「Scrapelessブラウザツールを使用して
https://example-saas.com/pricingを開き、プラングリッドを下にスクロールし、各プランの名前、価格、機能の箇条書きをJSON形式で返します。結果をオープンワークスペースのpricing.jsonに保存します。」
エージェントの計画(平易な英語で):
browser_createを呼び出して、クラウドブラウザセッションを生成します。- 価格URLで
browser_gotoを呼び出します。 - プランカードのランドマークに対して
browser_wait_forを呼び出し、抽出がハイドレートされたDOMに対して実行されるようにします。 browser_scrollを呼び出して、折り返しの行にあるティアを表示し、その後browser_get_htmlを呼び出します。- プランカードをJSON配列に解析し、カード上にフィールドが存在しない場合は抽出を失敗させるのではなく
nullとみなします。 browser_closeをbrowser_createから返されたsessionIdを使用して呼び出します。- Zencoderの組み込みファイルツールを使用して配列を
pricing.jsonに書き込みます。
取得するもの(例示的な形):
json
[
{
"name": "スターター",
"price": "$0 / 月",
"features": ["1席", "1,000イベント/月", "コミュニティサポート"]
},
{
"name": "プロ",
"price": "$29 / 月",
"features": ["10席", "100Kイベント/月", "メールサポート", "カスタムドメイン"]
},
{
"name": "ビジネス",
"price": "営業に連絡",
"features": ["無制限の席", "カスタムイベントボリューム", "SLA", "SSO/SAML"]
}
]
// スキーマはエージェントが価格グリッド抽出を求められたときに発信するものを反映しています。
// フィールド値は例示的なサンプルです。
Zencoderはpricing.jsonをワークスペースツリーにドロップし、各MCPツールコールを会話トレースに表示するので、ステップごとのフローが監査可能です。
プロンプトの形作り: 返される内容を制御する
| フレーズ | 効果 |
|---|---|
| 「…JSONを返す」 / 「…マークダウンとして」 | 出力形式。 |
| 「…フィールド: 名前、価格のみ」 | 抽出を制限します。 |
「…オープンワークスペースの<path>に保存する」 |
スクレープ後にZencoderの組み込みファイルツールをトリガーします。 |
| 「…抽出する前に各カードをクリックする」 | 行ごとのbrowser_click + 再抽出をトリガーします。 |
| 「…HTML抽出が失敗した場合はページのスクリーンショットを使用する」 | scrape_screenshotとマルチモーダル抽出にフォールバックします。 |
| 「…最初の応答が空の場合は再試行する」 | 新しいセッションでbrowser_close + browser_create再試行をトリガーします。 |
無料プランでAPIキーを取得する: app.scrapeless.com
Scrapeless MCPツールサーフェス
scrapelessサーバーが接続するとZencoderが発見する完全なツールリスト:
| ツール | 目的 |
|---|---|
browser_create |
クラウドブラウザセッションを作成し、sessionIdを返します。 |
browser_goto |
アクティブセッション内でURLに移動します。 |
browser_wait_for |
セレクターがレンダリングされるまでブロックします。 |
browser_wait |
指定した期間(ミリ秒)スリープします。 |
browser_get_html |
レンダリングされたDOMをテキストペイロードとして返します。 |
browser_get_text |
表示されているページテキストを返します。 |
browser_snapshot |
現在のページのアクセシビリティツリーを返します。 |
browser_click |
セレクターをクリックします。 |
browser_type |
入力フィールドに入力します。 |
browser_press_key |
キーボードイベントを操作します(Tab、Enter、End、PageDownなど)。 |
browser_scroll |
アクティブなドキュメントをスクロールします。 |
browser_scroll_to |
絶対的な(x, y)座標にスクロールします。 |
browser_screenshot |
アクティブページのスクリーンショットをキャプチャします。 |
browser_go_back / browser_go_forward |
ナビゲーション履歴。 |
browser_close |
クラウドブラウザセッションを解放します(sessionIdが必要 — 引数は厳密にキャメルケース)。 |
scrape_html |
URLを一度だけfetchし、レンダリングされたHTMLを返します(セッション不要)。 |
scrape_markdown |
URLを一度だけfetchし、クリーンなマークダウンを返します。 |
scrape_screenshot |
URLの一度だけのスクリーンショット。 |
google_search |
SERPスクレーパーで、入力された結果行を返します。 |
google_trends |
地域におけるトピックのトレンドペイロード。 |
browser_*ツールはbrowser_createによって返されたsessionIdを介して状態を共有します。scrape_*およびGoogleツールはステートレスで、セッションを生成せずにScrapeless APIを直接通過します。ツール引数は、表面全体でキャメルケースを使用します(sessionId、proxyCountry)。
統合のために支払う5つのワークフロー
以下の各ブロックは、Zencoder内の1つのプロンプト駆動型ワークフローです。Repo Infoエージェントがプロジェクトコンテキストを収集し、CodingエージェントがMCPチェーンを実行し、Unit Testingエージェントが結果のフィクスチャ形状を検証します — すべて1つのチャットターン内で行われます。
1. 機能作業のためのライブSERPおよびトレンド信号
以下は、あなたの要求に基づく日本語への翻訳です:
特徴フラグのコピーは、ユーザーが現在検索している内容に依存することが多い。エージェントにターゲット地域のトピックに対して google_trends を呼び出し、その後ヘッド用語について google_search を呼び出し、結果を実行中のアプリが消費するフィクスチャファイルに書き込むように依頼する。このループは一度の Zencoder のターンの中で実行され、プロンプトが再発行されるたびに更新される。
2. 比較ファイル内の競合他社の価格追跡ツール
競合他社の価格のURLリストをチャットにドロップし、エージェントに各ページのプラン名、価格、および箇条書きの特徴を抽出し、プランごとに重複を排除し、マージしたテーブルをワークスペース内の competitors.md に書き込むように依頼する。その後の実行では前回のスナップショットと比較し、変更された行のみを更新する。
3. プロジェクト内の公開ディレクトリリードリスト
リードジェネレーションのプロトタイプのために、コーディングエージェントが公開ディレクトリ(ソフトウェアベンダー、ローカルビジネス、またはライセンスを持った専門家のリスト)を歩き、詳細ページごとに browser_goto を呼び出し、連絡行を抽出し、レコードを seed.sql または leads.json としてモデルレイヤーの横に書き込む。住宅プロキシの出口とJSレンダリングはクラウドブラウザレイヤーで行われる。
4. 出版者ページからのRAGコーパス
Zencoder内部に構築されている埋め込みパイプラインのために、エージェントがシードURLリストを歩き、ページごとに scrape_markdown を呼び出し、マークダウンをチャンクに分割し、各チャンク+URLペアを corpus.jsonl に書き込む。マークダウンはすでにクリーンであるため、チャンクの境界は見出しや段落に落ち着き、途中のタグではない。
5. Web Dev Agent用の視覚的回帰資産
UIリファクタリングのために、Web Dev Agentに routes.ts 内のすべてのページについて、ステージングと本番のフルページ scrape_screenshot を取得するように依頼し、そのペアを比較する。スクリーンショットはワークスペース内のファイルとして返され、差分は会話の中に存在する。
スキルはMCPから独立しており、それらは組み合わさる
ZencoderはMCPと一緒にスキルシステムを出荷する。スキルは ~/.zencoder/skills/<name>/SKILL.md にあり、YAMLのフロントマター(name, description)とエージェントにいつとどのようにツールを使用するかを教えるマークダウンの本体を持つ。スキルはSKILL.mdファイルとともにスクリプトやリソースを出荷することができる。
MCPはどのツールが存在するかを定義し、スキルはどのようにそれらを上手く使うかを定義する。この二つは追加的であり、browser_create → browser_goto → browser_wait_for → browser_get_htmlをクリーンなディスカバー→抽出パターンに構成する方法をエージェントに教えるスキルをインストールすることで、同じMCPツールの表面に対する自然言語プロンプトの成功率が向上する。ブログはZencoderエコシステム内に事前構築されたScrapelessスキルが存在することを前提としておらず、望むユーザーは上記のツールリストに対して ~/.zencoder/skills/scrapeless/SKILL.md で認識できるものを作成することができる。
本番環境に入る前に知っておくべきこと
- Stdoutの管理が重要です。 stdio MCPトランスポートはJSON-RPCのためにstdoutを使用します。非JSONテキストをstdoutに書き込むサーバーはハンドシェイクを破ります。現在の
scrapeless-mcp-serverビルドはstderrにログを書き込む;カスタムフォークを使用している場合は、ログの出力先を監査してください。 - 呼び出しごとの地域制御はMCPの表面にはありません。 クラウドブラウザはScrapelessアカウントの設定された地域を経由します。クエリごとに地域を固定する必要があるワークフロー(米国の結果とドイツと日本)は、
scrapeless-scraping-browserCLIを--proxy-countryを使って呼び出すか、異なるデフォルトの地域ごとに複数のAPIキーを保持します。 - VS Codeは現在stdioのみです。 ストリーミングHTTPおよびOAuth2トランスポートは、ZencoderドキュメントのVS Codeに対して「近日中に来る」として追跡されています。JetBrains 2.13+はすべてサポートされています。HTTPが必要なIDE間の設定パターンは、JetBrainsのままであるか、VS Codeの更新を待つ必要があります。
- JetBrainsは
settings.jsonを編集した後にプロジェクトを再オープンする必要があります。 VS Codeは通常、リロード時に変更を反映します。 - 同時実行性。 安定した実行のために、ホストごとに同時セッションは3以下に保ちます。より高いファンアウトが必要なバッチジョブの場合は、単一のエージェントから並列でMCP呼び出しを行うのではなく、ワーカープールからCLIを実行します。
- MCPレスポンス形状。 ツールのレスポンスは
content[0].text(プレーンテキスト)として返されます。テキストを返すステートレスデータツール(google_search、google_trends、scrape_html、scrape_markdown)は、ボディの前にResponse:\n\nをプレフィックスとして追加します;Zencoderのプランナーはプレフィックスを自動的に処理しますが、生のレスポンスを解析するカスタムスクリプトはこれを取り除く必要があります。scrape_screenshotは画像バイナリを直接返します。browser_*ツールはプレフィックスなしでテキストペイロードを返します。 - Scrapelessはパッケージから直接インストールされ、Zencoder MCPライブラリを介してではありません。 執筆時点では、ScrapelessはIDE内のMCPライブラリカタログにリストされておらず、ライブラリを検索する代わりにステップ3からJSONブロックを貼り付けてください。MCPライブラリのルートは、Zencoderがワンクリックセットアップで出荷する事前構築されたMCP用にも利用可能です。
結論:Zencoderエージェントのリーチを公共のウェブ全体に拡張しましょう
配線不要のMCPサーバーをZencoderに統合すると、VS Codeのsettings.json内にある一つのJSONブロック、すなわち"zencoder.mcpServers"に縮約され、JetBrainsでは単純なオブジェクトに、そしてリロードが必要です。その後、すべてのZencoderエージェントは、強化されたクラウドブラウザ、レジデンシャルプロキシの出口、Google SERPスクレイパー、トレンドスクレイパー、およびワンショットHTML/Markdown/Screenshotヘルパーを持ち、自然言語プロンプトを通じてアクセスできます。IDEはコード生成、ファイルツリー、およびターミナルを支配し続け、クラウドブラウザはエージェントをリアルでレンダリングされたページに維持します。
同じScrapelessの表面をGoogle Antigravityで見るには、Antigravity統合ウォークスルーをご覧ください。標準的なMCPサーバーツールの表面とGoogleマップの実例については、MCPサーバーウォークスルーをご覧ください。MCPより直接CDPパスを好むエージェントの表面については、Hermes統合投稿を参照してください。Scrapelessの新規アカウント階層には無料のスクレイピングブラウザ実行時間が含まれており、無料の実行時間が消費された後のアップグレードパスはscrapeless.com/en/pricingで確認できます。パターンはすべてのエージェントの表面で一貫しており、ホストIDEに適したトランスポートを固定し、抽出する前にスナップショットまたはレンダリングし、多段階のターンでセッションを持続し、不在フィールドはヌル可能として扱います。
AI駆動のデータパイプラインを構築する準備はできましたか?
私たちのコミュニティに参加し、無料プランを獲得し、Scrapeless上でZencoder駆動のデータパイプラインを構築している開発者とつながりましょう:Discord · Telegram。
無料のスクレイピングブラウザ実行時間のためにapp.scrapeless.comにサインアップし、上記のパターンをZencoderエージェントが必要とする作業スペース、地域、ページに適応させてください。
FAQ
Q1: どのZencoderの表面がScrapeless MCPサーバーをサポートしていますか?
VS Code拡張機能とJetBrainsプラグインの両方です。JSONスキーマは異なります(VS Codeは"zencoder.mcpServers"内にエントリをラップし、JetBrainsは単純なオブジェクトを使用)、JetBrains 2.13以降はstdio + ストリーミングHTTP + OAuth2トランスポートをサポートしますが、VS Codeは現在stdio専用です。
Q2: Zencoder + Scrapelessでのスクレイピングは合法ですか?
公開されているデータのスクレイピングは大多数の司法管轄区域で広く許可されていますが、ルールは国やサイトの利用規約によって異なります。ターゲットサイトの利用規約を確認し、適用可能な場合はrobots.txtを尊重し、合法的な根拠なしに個人データを収集せず、商業規模のパイプラインについては弁護士に相談してください。
Q3: レジデンシャルプロキシは必要ですか?
有意義なアンチボット保護を持つサイト(ほとんどの小売業者、市場、SERP、および大きなSaaSランディングページ)に対しては必要です。Scrapeless MCPサーバーはデフォルトですべてのbrowser_*およびscrape_*コールをレジデンシャルプール経由でルーティングします。コールが機能するために別途プロキシ設定をする必要はありません。
Q4: MCP表面からリクエストごとにレジデンシャルプロキシ地域を選べますか?
MCP browser_createツールからは選べません。クラウドブラウザセッションはScrapelessアカウントで構成されたプロキシ地域を使用します。クエリごとの地域選択(米国対ドイツ対日本)を行うには、scrapeless-scraping-browser CLIを--proxy-countryオプションを使って起動するか、異なるデフォルト地域に対して複数のAPIキーを維持します。
Q5: stdioモードとストリーミングHTTPモード — どちらがZencoderに適していますか?
現在、VS Codeはstdio専用です。JetBrains 2.13以降は両方をサポートしています。スタンダードI/Oは開発者のワークステーションに適したデフォルトです。Zencoderはnpx scrapeless-mcp-serverを子プロセスとしてスピンアップし、stdin/stdout経由でJSON-RPCを通信します。ストリーミングHTTP(JetBrains専用)は、ホストがホステッド開発コンテナやCIサンドボックスで実行される場合に適したデフォルトです。どちらのモードも同じAPIキーを使用します。
Q6: VS Codeは"zencoder.mcpServers"を使用していますが、JetBrainsは単純なオブジェクトを使用しています — なぜ違いがあるのですか?
それがZencoderの二つの設定ペインの配線方法です。VS Codeのsettings.jsonはIDEのグローバル設定ファイルで、拡張名空間のキーを持つため、Zencoderは"zencoder.mcpServers"を使用しています。JetBrainsはMCPサーバーセクションをツール → Zencoder → MCPサーバーの下に直接公開していますので、ユーザーが貼り付けるJSONは内側のオブジェクトのみです。command / args / env / type / url / headersキー自体は両方のIDEで同じですが、ラッパーのみが異なります。
Q7: JSONファイルからAPIキーを除外するにはどうすればよいですか?
JSON内にプレースホルダーを使用し、OS環境変数を通じて値を注入します。Zencoderを起動するシェルでSCRAPELESS_KEYを設定してください(macOS/Linuxではexport SCRAPELESS_KEY=...、Windows PowerShellでは[Environment]::SetEnvironmentVariable("SCRAPELESS_KEY", "...", "User"))。その後、構成のenvブロックで${SCRAPELESS_KEY}を参照します。Zencoderを再起動して新しい変数を伝播させます。
Q8: 最初のbrowser_createコールでos error 10054または503が返されました。どうすればよいですか?
両者は、Scrapelessのリモートプロキシプールにおける一時的なセッション開始エラーです。通常、1回の再試行で成功します — エージェントにbrowser_close(セッションが作成されている場合)を呼び出させ、再度browser_createを呼ぶか、2〜3回の試行再試行ループで呼び出しをラップしてください。
Q9: ZencoderはどのScrapelessツールを呼び出すかどうやって決めるのですか?
各MCPツールには名前とスキーマが付属しています。Zencoderのプランナーは説明を読み、プロンプトにマッチさせます。MCPサーバー用の@<servername>ショートカットはありません — @Jiraや@GitHubはネイティブ統合にルートされ、MCPにはルートされません。タスクを自然に表現してください(「このURLをマークダウンとしてスクレイプする」、「GoogleでXを検索する」)と、適切なScrapelessツールが選択されます。
Q10: スキルは必須ですか、それともあれば良いだけですか?
任意です。MCPサーバー単体でエージェントにはすべてのScrapelessツールを提供します。~/.zencoder/skills/scrapeless/SKILL.mdにスキルがあると、エージェントに発見→抽出パターンを教えることでプロンプトと正しいツールの成功率が向上しますが、統合はスキルなしでもエンドツーエンドで機能します。
Q11: Zencoderなしでこれを実行できますか?
はい。Scrapeless MCPサーバーは標準のMCPサーバーであり、Claude Desktop、Claude Code、Cursor、OpenAI Codex CLI、Gemini CLI、VS Code + GitHub Copilot Chat、Google Antigravity、またはMCP TypeScript SDKに対して構築された任意のカスタムクライアントから呼び出すことができます。同じJSONスニペットが各クライアントにドロップされ(クライアントごとにラッパーキーが調整されます)、MCPでないインターフェースのために、クラウドブラウザはscrapeless-scraping-browser CLIおよびwss://browser.scrapeless.com/browserのWSSエンドポイントを通じてもアクセス可能です。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



