Agenty
公式AIによるウェブスクレイピング、クローリング、変更検出
Agenty MCPで何ができますか?
- ページをMarkdownに変換 —
markdownツールを使用して、URLまたは生のHTMLをクリーンで読みやすいMarkdownに変換し、LLMに適したコンテンツを提供します。 - スクリーンショットを撮影 —
screenshotを使用して、カスタムビューポートとデバイスエミュレーションを備えた全ページまたはクリップされたPNG/JPEG画像をキャプチャします。 - レンダリングされたHTMLをスクレイピング —
scrapeを使用して、動的コンテンツの読み込み後にJavaScriptを多用するページの完全なレンダリング済みHTMLを取得します。 - 構造化データを抽出 —
extractを使用して、CSSセレクターまたはXPathを介して価格、見出し、レビューなどの特定のフィールドを取得します。 - PDFを生成 —
pdfを使用して、フォーマット、余白、横向き、ヘッダー/フッターのオプションを備えたページをPDFとしてエクスポートします。 - サイト構造を発見 —
sitemapを使用してサイトのsitemap.xmlを読み取り、除外パターンを指定して発見されたすべてのURLを返します。
ドキュメント
Agenty AIは、Claude、Cursor、およびMCP互換のクライアントなどのAIアシスタントにブラウザ自動化ツールへの直接アクセスを提供するModel Context Protocol(MCP)サーバーを公開しています。スクリーンショットの撮影、PDFの生成、Webページのスクレイピング、構造化データの抽出、ページのMarkdownへの変換などをLLMモデルを使用して行うことができます。
この記事では、AgentyのMCPサーバーへの接続方法と、利用可能な各ツールの使用方法について説明します。
前提条件
接続する前に、以下が必要です:
- Agenty AIアカウントとAPIキー
- Claude Desktop、Cursor、Windsurf、またはModel Context ProtocolをサポートするツールなどのMCP互換クライアント
- CLIまたはローカル設定ファイルを使用する場合はNode.js 18以降
接続方法
MCPクライアントに以下の設定を追加します。Claude Desktopの場合、これはclaude_desktop_config.jsonに配置します。Cursorの場合、.cursor/mcp.jsonファイルに配置します。
{
"mcpServers": {
"agenty": {
"url": "https://api.agenty.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
YOUR_API_KEYをAgenty AI > 設定 > APIキーのキーに置き換えます。追加後、クライアントを再起動すると、Agentyツールがツールリストに表示されます。OAuthまたはトークンベースのログインをサポートするクライアントでは、キーを手動で貼り付けることなく、Agenty AIのサインインフローを通じて直接認証できます。
利用可能なツール
Agenty MCPサーバーは、最も一般的なブラウザ自動化のニーズをカバーする11のツールを提供します。各ツールは、URLまたは生のHTMLを入力として受け入れ、ブラウザの動作を制御するためのオプションパラメータも受け入れます。
Markdown MCP
markdownツールはページを読み込み、ナビゲーション、フッター、スクリプト、広告、その他の定型コンテンツを除去し、残った読みやすいコンテンツをクリーンなMarkdownに変換します。相対リンクを絶対URLに解決し、データ画像を削除することもできます。
これは、WebコンテンツをLLMに供給したり、RAGパイプラインを構築したり、記事の読みやすいバージョンを保存したりする場合に特に役立ちます。
プロンプト例:
「Webスクレイピング - WikipediaをMarkdownに変換して」
「このブログ記事のMarkdownコンテンツを取得して:https://example.com/article」
スクリーンショットMCP
スクリーンショットツールは実際のブラウザを起動し、ページを読み込んでPNGまたはJPEG画像としてキャプチャします。全ページスクリーンショット、クリップ領域、カスタムビューポート、デバイスエミュレーション、リサイズや回転などの画像操作をサポートしています。
これは、ページの視覚的なスナップショットが必要な場合、UIを文書化する必要がある場合、または特定の画面サイズでのサイトの外観を確認したい場合に役立ちます。
プロンプト例:
「https://example.comの全ページスクリーンショットを撮ってPNGとして返して」
「iPhone 14ビューポートを使用してhttps://agenty.aiのモバイルスクリーンショットを撮って」
WebスクレイピングMCP
webスクレイプツールは、完全なJavaScript実行を伴う実際のブラウザでURLを読み込み、レンダリングされたHTMLを返します。単純なHTTPリクエストとは異なり、動的コンテンツの読み込みを待機するため、シングルページアプリケーションやJavaScriptを多用するページで信頼性が高くなります。
すべてのスクリプトが実行された後にユーザーが見るのとまったく同じページの生のHTMLが必要な場合にこれを使用します。
プロンプト例:
「https://news.ycombinator.comのHTMLをスクレイプして、完全にレンダリングされたコンテンツを返して」
「このページをスクレイプして、動的コンテンツの読み込みに3秒待機して:https://example.com/dashboard」
WebクローリングMCP
リンククローリングツールはページをレンダリングし、DOM内で見つかったすべてのハイパーリンクを抽出します。すべてのアンカーhrefのフラットなリストを返すため、クロールキューを構築したり、内部リンクを監査したり、コンテンツを発見したりするために使用できます。
プロンプト例:
「https://agenty.aiのすべてのリンクを見つけて」
「https://example.com/blogからすべてのリンクを抽出して、記事URLのリストを教えて」
PDF MCP
PDFツールはページをレンダリングし、実際のブラウザでPDFとしてエクスポートします。ページ形式(A4、レターなど)の設定、横向きモードの有効化、余白の設定、背景の表示/非表示、カスタムヘッダーとフッターの提供が可能です。
プロンプト例:
「https://agenty.aiのPDFを印刷背景を有効にしてA4形式で生成して」
「https://example.com/reportの横向きPDFを作成して」
データ抽出MCP
抽出ツールはページをレンダリングし、CSSセレクターまたはXPathを使用して構造化データを抽出します。製品価格、レビュー数、求人タイトル、またはレンダリングされたページの繰り返し要素など、特定のフィールドを取得するのに適しています。
プロンプト例:
「https://example.com/productsから製品名と価格を抽出して」
「https://news.ycombinator.comからすべての見出しを取得して」
サイトマップMCP
サイトマップクローラーツールはウェブサイトのsitemap.xmlを読み取り、サイトマップインデックスファイルをたどり、発見されたすべてのURLの完全なリストを返します。特定のパスを除外するための除外パターンをサポートしています。
これを使用して、ウェブサイトの完全な構造をすばやく理解したり、大規模なサイトのクロールリストを構築したりできます。
プロンプト例:
「https://agenty.aiのサイトマップ内のすべてのURLを見つけて」
「https://example.comのサイトマップを取得して、/blog/を含むURLを除外して」
リダイレクト追跡MCP
リダイレクトキャプチャツールは、指定されたURLのすべてのHTTPリダイレクトをたどり、各中間URL、ステータスコード、最終宛先を含む完全なチェーンを返します。
これは、壊れたリンクのデバッグ、正規URLの検証、アフィリエイトリンクや短縮リンクの監査に役立ちます。
プロンプト例:
「https://bit.ly/some-linkのすべてのリダイレクトを追跡して」
「https://example.com/old-pageのリダイレクトチェーンを表示して」
メールスクレイパーMCP
メールスクレイパーツールは1つ以上のURL(一度に最大10個)を読み込み、レンダリングされたページで見つかったすべてのメールアドレスを抽出します。難読化されたアドレスや動的に読み込まれる連絡先セクションも処理します。
プロンプト例:
「https://example.com/contactのすべてのメールアドレスを見つけて」
「これらの3つのページからメールをスクレイプして:https://site1.com、https://site2.com、https://site3.com」
コンテンツMCP
コンテンツツールは、JavaScript実行後のページの完全なレンダリング済みHTMLを返します。スクレイプに似ていますが、スクレイプパイプラインではなく最終的なDOM状態が必要なユースケースに最適化されています。
プロンプト例:
「https://example.com/appのレンダリングされたHTMLコンテンツを取得して」
スナップショットMCP
スナップショットツールは、ページのアクセシビリティツリー(ボタン、リンク、入力、見出しなど、すべてのインタラクティブで読み取り可能な要素の構造化リスト)をキャプチャします。これは、生のHTMLを処理せずにページをナビゲートまたは推論する必要があるAIエージェント向けに設計されています。
プロンプト例:
「https://example.comのアクセシビリティスナップショットを撮って、ページ構造を理解できるようにして」
プロンプト例
ツールを組み合わせたマルチステップの例をいくつか示します:
ウェブサイトのコンテンツを監査する:
「https://example.comのサイトマップを取得して、上位5ページをMarkdownに変換し、それぞれを要約して」
視覚レポートを生成する:
「https://agenty.aiのモバイルとデスクトップのビューポートでスクリーンショットを撮って、両方を見せて」
連絡先リストを構築する:
「https://example.com/teamのすべてのリンクを見つけて、各チームメンバーページからメールアドレスをスクレイプして」
リンクの健全性を検証する:
「https://example.com/blogからすべてのリンクを抽出して、200を返さないもののリダイレクトチェーンを追跡して」
ページをアーカイブする:
「https://example.com/articleをMarkdownに変換し、PDFバージョンを生成して、両方とも絶対リンク付きで」
サポートされているパラメータ
すべてのナビゲーションベースのツール(スクリーンショット、PDF、スクレイプ、コンテンツ、Markdown、リンク、抽出、リダイレクト)は、共通のブラウザ設定オプションを共有しています:
| パラメータ | 型 | 説明 |
|---|---|---|
url | string | 読み込むページのURL。htmlが提供されない場合は必須です。 |
html | string | URLを読み込む代わりにレンダリングする生のHTML文字列。 |
waitFor | stringまたはnumber | キャプチャ前にCSSセレクター、ミリ秒数、またはネットワークイベントを待機します。 |
viewport | object | width、height、deviceScaleFactor、isMobile、hasTouch、およびisLandscapeを設定します。 |
device | string | iPhone 14やiPad Proなどの名前付きデバイスをエミュレートします。 |
userAgent | string | ブラウザのユーザーエージェント文字列を上書きします。 |
cookies | array | ページ読み込み前にCookieを注入します。 |
blockAds | boolean | 広告ネットワークリクエストをブロックします。スクレイピングツールではデフォルトで有効です。 |
blockTrackers | boolean | トラッキングおよび分析スクリプトをブロックします。 |
goToOptions | object | ナビゲーションのtimeout(ms)とwaitUntil戦略(load、domcontentloaded、networkidle0、networkidle2)を制御します。 |
setExtraHTTPHeaders | object | カスタムリクエストヘッダーをキーと値のペアとして追加します。 |
rejectRequestPattern | array | これらのURLパターンに一致するリクエストをブロックします。 |
requestInterceptors | array | パターンに一致するリクエストをインターセプトし、カスタムレスポンスを返します。 |
authenticate | object | 基本認証の背後にあるページのHTTP usernameとpasswordを設定します。 |
anonymous | object | プロキシを経由してルーティングし、匿名ブラウジング用にリソースタイプをスキップします。 |
スクリーンショット固有のパラメータ:
| パラメータ | 型 | 説明 |
|---|---|---|
options.fullPage | boolean | スクロール可能なページ全体をキャプチャします。デフォルトはtrueです。 |
options.type | string | 画像形式:pngまたはjpeg。デフォルトはpngです。 |
options.quality | number | 0から100までのJPEG品質。 |
options.clip | object | x、y、width、およびheightで特定の領域をキャプチャします。 |
options.omitBackground | boolean | 背景を透明にします(PNGのみ)。 |
manipulate | object | resize、rotate、flip、およびflopで画像を後処理します。 |
responseType | string | 画像をbuffer(デフォルト)またはホストされたurlとして返します。 |
MCP経由でスクリーンショットツールを使用する場合、結果はデフォルトでホストされたURLとして返されます。APIを直接呼び出す場合、responseTypeはデフォルトでbufferになります。ホストされたリンクを受け取るにはresponseType: 'url'を設定します。
PDF固有のパラメータ:
| パラメータ | 型 | 説明 |
|---|---|---|
options.format | string | ページサイズ:A4、Letter、Legal、Tabloid、Ledger、A0 – A6。 |
options.landscape | boolean | 横向きでレンダリングします。 |
options.margin | object | top、bottom、left、およびrightの余白を設定します。 |
options.printBackground | boolean | 出力にCSS背景を含めます。 |
options.displayHeaderFooter | boolean | 各ページにヘッダーとフッターを表示します。 |
options.headerTemplate | string | ページヘッダー用のHTMLテンプレート。 |
options.footerTemplate | string | ページフッター用のHTMLテンプレート。 |
options.pageRanges | string | 特定のページを印刷します(例:1-5)。 |
options.scale | number | ページコンテンツをスケーリングします。 |
emulateMedia | string | screenまたはprintメディアタイプとしてレンダリングします。 |
responseType | string | PDFをbuffer(デフォルト)またはホストされたurlとして返します。 |
MCP経由でPDFツールを使用する場合、結果はデフォルトでホストされたURLとして返されます。APIを直接呼び出す場合、responseTypeはデフォルトでbufferになります。ホストされたリンクを受け取るにはresponseType: 'url'を設定します。
レート制限とフェアユース
各APIキーには、プランに基づく月間リクエスト上限があります。JavaScriptが多用された長時間実行ページや大きなPDFは、より多くのリソースを消費します。スクレイピングワークロードでは、blockAdsとblockTrackersを使用してリクエストを高速化し、帯域幅の使用量を削減してください。
Agenty AIのリクエストおよびレスポンススキーマは、Browserless、Firecrawl、Cloudflare Browser Rendering、および類似サービスのような、最も広く使用されているブラウザ自動化APIと互換性を持つように意図的に設計されています。すでにこれらのプロバイダーのいずれかを使用している場合は、ベースURLとAPIキーを更新するだけでAgenty AIに切り替えることができ、既存のリクエストを書き直す必要はありません。
| プロバイダー | 移行方法 |
|---|---|
| Browserless | ベースURLとAPIキーを変更します。すべてのパラメータは互換性があります。 |
| Firecrawl | ベースURLとAPIキーを変更します。スクレイプ、マークダウン、クロールの各エンドポイントは直接対応します。 |
| Cloudflare Browser Rendering | ベースURLと認証ヘッダーを変更します。スクリーンショットとコンテンツのパラメータは互換性があります。 |
| Puppeteer HTTP APIs | ほとんどのgoToOptionsとページオプションは1:1で対応します。 |

