ScrapelessをGrokに接続する方法:MCPコネクタの設定
Senior Cybersecurity Analyst
TL;DR:
- GrokのCLIはMCPを話すので、Scrapelessを接続するのは1つのTOMLテーブル:
urlとx-api-tokenヘッダーです。 grok mcp doctorはうまくいったかどうかを答えます —✓ server started (1.0s),✓ handshake OK (protocol 2025-06-18),✓ 25 tools discovered。- スコープはサーバーが実行されるかどうかを決定します。信頼できないフォルダー内のリポローカル
.grok/config.tomlは✗ folder untrustedを報告し、0サーバーとしてカウントされます。ユーザースコープでの同じテーブルが始まります。 - ヘッダーは
x-api-tokenであり、Authorization: Bearerではありません。Bearerヘッダーはハンドシェイクに失敗します:grok mcp doctorが✗ handshake failedをHTTP 401と共に報告します。 grok mcp add --header "..."は正しい設定を書き込んで、あなたのキーをシェル履歴に保存します。自分でテーブルを書くことはありません。25 tools discoveredは、ヘッダーが到着したことを証明しますが、キーが有効であることを証明するものではありません — Scrapelessは任意のキー値のための25のツールをすべてリストします。ページコンテンツを返す1つの実際のtools/callのみが、資格情報が機能することの唯一の証明です。- まずはScrapelessの無料プランでキーを取得してください。
ターミナル内のエージェントはファイルを読み込みコマンドを実行するのが得意で、オープンウェブ上の何にも盲目です。MCPはそのギャップを埋める方法です:クライアントはサーバーからツール定義を生成し、モデルはミッドターンで1つを選び、「今このページは何と言っていますか」がコピー&ペーストではなく呼び出しになります。
GrokのCLIは第一級のMCP実装を持ち、接続が失敗したステージを報告する診断サブコマンドが含まれています。コネクタの設定は2つのTOMLテーブルです。その診断を読むことが後で時間を節約する部分です。
What You Get
25のツールが、文書からコピーされたのではなく、ライブtools/listから列挙されます:
| グループ | ツール |
|---|---|
| ページコンテンツ | scrape_markdown, scrape_html, scrape_screenshot |
| クラウドブラウザー | browser_create, browser_goto, browser_click, browser_type, browser_get_text, browser_get_html, browser_snapshot, browser_screenshot, browser_scroll, browser_scroll_to, browser_wait, browser_wait_for, browser_press_key, browser_go_back, browser_go_forward, browser_close |
| クロール | crawl_start, crawl_result, crawl_cancel |
| 検索 | google_search, google_trends |
| AIアシスタントの回答 | ai_scraper |
scrape_markdownはエージェントが要求するほとんどの項目をカバーします — 1回の呼び出し、1つの文書。browser_*グループは、モデルが数ターンにわたって駆動するセッションであり、クリックやログインの背後にあるものが必要なものです。
Prerequisites
- Grok CLI。ここで使用されているバージョンは
grok 0.2.118 (1e1687c1cf)です。 - Scrapeless APIキー。
- サーバーのインストールは不要です。ホスティングされているため、パッケージもローカルプロセスもなく、クライアントはストリーミングHTTPを通じてURLに接続します。これは、モデルコンテキストプロトコル仕様が定義する2つのトランスポートの1つです。
Step 1: Add the Server
CLIにはそれ用のサブコマンドがあります:
bash
grok mcp add -t http -s user scrapeless https://api.scrapeless.com/mcp \
--header "x-api-token: YOUR_SCRAPELESS_API_KEY"
text
Added HTTP MCP server 'scrapeless' with URL: https://api.scrapeless.com/mcp to user config
File modified: ~/.grok/config.toml
-t httpはトランスポートを選択します(代替はstdioと非推奨のsseです)、-s userはリポジトリではなく~/.grok/config.tomlに書き込みます。
書き込まれるものは2つのTOMLテーブルのペアです:
toml
[mcp_servers.scrapeless]
url = "https://api.scrapeless.com/mcp"
enabled = true
[mcp_servers.scrapeless.headers]
x-api-token = "YOUR_SCRAPELESS_API_KEY"
その形状が重要であることを知っていると、--headerフラグはコマンドが実行される間、あなたのキーをシェル履歴とプロセスリストに入れます。それらの6行を自分で書くことで両方を避けられ、CLIが設定しないタイムアウトを追加することができます:
toml
[mcp_servers.scrapeless]
url = "https://api.scrapeless.com/mcp"
startup_timeout_sec = 30
tool_timeout_sec = 120
[mcp_servers.scrapeless.headers]
x-api-token = "YOUR_SCRAPELESS_API_KEY"
ヘッダー名が正確であることが詳細です。Scrapelessはx-api-tokenを読み取ります;ほとんどのMCPの例はAuthorization: Bearerを示していますが、それはHTTP認証フレームワークがベアラー資格情報のために指定しているものです。ここでのBearerヘッダーはハンドシェイクが完了する前に失敗します — initializeリクエストはHTTP 401 Unauthorized: Missing x-api-token headerとして戻り、医者はサーバーを失敗と見なします。
Step 2: Read the Diagnostic
これは学ぶ価値のある部分です。grok mcp doctorは各ステージを個別に報告します:
text
MCP Doctor
Config sources
~/.grok/config.toml 1 server
~/.claude.json not found
.mcp.json not found
grok.com skipped (not logged in)
scrapeless (http: https://api.scrapeless.com/mcp)
✓ server started (1.0s)
✓ handshake OK (protocol 2025-06-18)
✓ 25 tools discovered
その出力には4つの独立した事実があります。どの設定ファイルが読み込まれたか、各サーバーがどれだけ貢献したか。接続が開いたかどうか、どれだけの時間がかかったか。MCPのハンドシェイクが完了したか、どのプロトコルバージョンであったか。発見から戻ったツールの数。
最後の2つは通常のJSON-RPC 2.0の交換です — initializeリクエストの後にtools/listが続くため、互いに独立して成功したり失敗したりすることができます。
どのポイントで失敗しても異なる原因があるため、ステージ出力は単一の赤または緑を超えます。また、これをスクリプトで主張したい場合のために--jsonモードもあります。
grok mcp listは、動作しているときの迅速なチェックです:
text
scrapeless: https://api.scrapeless.com/mcp
ステップ3: スコープを理解する、さもなければ開始しません
GrokはユーザースコープからMCP設定を読み取り、リポジトリローカルの.grok/config.tomlからも読み取ります。2番目には混乱を招く初回実行を生成する条件が付いています。
同じサーバーテーブルがプロジェクトフォルダーに配置されています:
text
Config sources
~/.grok/config.toml not found
/root/verify-grok-proj/.grok/config.toml 0 servers
scrapeless (http: https://api.scrapeless.com/mcp)
✗ folder untrusted (repo-local (project-scoped) server not started for an untrusted folder)
気づくべき二つのこと。サーバーは開始されませんでした — プロジェクトスコープのMCPサーバーはフォルダーが信頼されるまで起動しません。なぜなら、チェックアウトされたリポジトリ内の設定ファイルが、著者が選んだ任意のエンドポイントにエージェントを指すことができるからです。そして、設定ソース行は0サーバーと読み取りますが、ファイルは1つを定義しているため、ソースをカウントするだけでは設定が受け入れられたかどうかを示すには不十分です。
あなたのためのキーにはユーザースコープを使用します。チームとサーバーを共有するにはプロジェクトスコープを使用し、各マシンでフォルダートラストステップを期待します。
ステップ4: 能力を確認する、バッジではなく
25 tools discoveredはtools/listの結果であり、その呼び出しはMCPサーバー自身によって回答されます — 上流APIには到達しません。したがって、資格情報が良いかどうかにかかわらず、発見は成功します。
これは理論的な区別ではありません。同じエンドポイントの前に同じルーティングゲートウェイが古い保存トークンをフロントにして自分のツールセットを完全に発見し、その後最初の実行呼び出しの際に無効トークンエラーを返したのに対し、動作するキーを持つ同じエンドポイントはHTTP 200を返しました。
それを決定するチェックは1つのツール呼び出しです:
text
initialize HTTP 200 server=scrapeless-mcp-server v0.2.0
tools/list HTTP 200 25 tools
tools/call scrape_markdown HTTP 200 8940 chars of page content
その結果のページコンテンツが証拠です。それ以前のすべては自己報告のセットアップです:間違ったキーでは呼び出しはまだHTTP 200を返し、isErrorフラグなしで、そのテキストはFailed to fetch dataで始まります。
注: Grokターン内からその呼び出しを行うにはxAI認証が必要ですが、このウォークスルーの環境にはそれがありませんでした —
grok -p "..."はNot signed inを返します。コネクター、ハンドシェイク、発見、そして上記のツール呼び出しはすべて確認されており、最終的なモデル作成されたターンはここで信用のもとに取られる一歩です。grok loginでサインインするかXAI_API_KEYをセットすると、同じツールがモデルに利用可能になります。
ステップ5: プロンプトを出す
ツールが発見されると、モデルはその中から選択します。ツールの名前を付けることで推測のラウンドを省くことができます:
text
Use the scrapeless scrape_markdown tool on
https://books.toscrape.com/catalogue/category/books/mystery_3/index.html
and give me the first five titles with their prices as a table.
二つの習慣が役立ちます。作業が1回のフェッチの場合はツールに名前を付け、そうでない場合はシーケンスを説明します — browser_*ツールはセッションを共有するため、「セッションを作成し、URLに移動し、フィルタをクリックし、テキストを読む」は無関係な四つの指示とは異なる指示です。
また、希望する出力形式を求めてください。scrape_markdownは文書を返します; テーブルを取得するか段落を取得するかは、ツールではなくプロンプトによって決まります。
これを今設定していますか?Scrapelessの無料プランはハンドシェイクと最初の数回のツール呼び出しを通じて進むのに十分な呼び出しをカバーします。
返ってくるもの
scrape_markdownはコンテンツブロック内でページをMarkdownとして返します:
text
Response: "- [Home](https://books.toscrape.com/index.html)
- [Books](https://books.toscrape.com/catalogue/category/books_1/index.html)
...
Markdownはモデルにとっては正しいデフォルトです。同じページはscrape_markdownから8,940文字で、scrape_htmlから53,800文字なので、scrape_htmlは誰も読まないマークアップに約六倍のコンテキストを費やします。あなた自身のコードが結果を解析する場合にはscrape_htmlを使用し、モデルが消費者である場合にはscrape_markdownを使用してください。
ルーターがツールのカウントを変更する
クライアントが1つのURLの背後に複数のMCPサーバーをフロントするゲートウェイを指す場合、発見されたリストはプロバイダーのものではなく、ルーター自身のディスパッチツールです。同じクライアント、同じコマンド:スマートルーティングゲートウェイを通じて3ツール、https://api.scrapeless.com/mcpに直接25ツール。
どちらの配置も正当です。ルーターは多くのプロバイダーにわたって1つの資格情報と1つの監査トレイルを保持します。直接接続はモデルに実際のツールサーフェスを提供します。grok mcp doctorのツールカウントは、あなたがどれを実行しているかを教えてくれます。これは、設定を変更した後にそれを読む理由として十分です。
同じ製品をエージェントではなくコードからドライブする場合、当社のGrokウェブスクレイピングガイドではモデルプラスフェッチパターンをカバーしており、MCPサーバーのローンチ投稿ではサーバーが公開する内容をカバーしています。スクレイピングAPIページでは、これらのツールの背後にあるアクターファミリーについて説明しており、ドキュメントにはアクターごとの参照が掲載されており、料金には呼び出しのコストがリストされています。
結論
2つのTOMLテーブルと1つのヘッダー名が全体のコネクタです。grok mcp doctorは、4つのステージのどれが機能したかを示し、25 tools discovered行は変更後に確認すべきものです — 3はルーターと通信していることを意味し、1を持つファイルから0サーバーはフォルダーが信頼されていないことを意味します。
避けるべき2つのミスはどちらも安価です。x-api-tokenを使用するのが良いでしょう。Bearerヘッダーではなく、Bearerバージョンはハンドシェイク中に401で拒否され、grok mcp doctorがすぐにフラグを立てます。そして、ディスカバリーを自身のセットアップレポートとして扱います:1つのtools/callが実際のページコンテンツを返すことが、実際に資格情報が機能していることを証明します。
Grokに呼び出すことができるフェッチを行う準備はできましたか?Scrapelessの無料プランから始めましょうそしてサーバーを追加してください。
FAQ
Q: GrokはMCPサーバーをサポートしていますか?
はい。CLIには、grok mcpサブコマンドがadd、list、remove、enable、disable、およびdoctorを備えた専用のものがあります。また、stdio、http、およびsseトランスポートをサポートします。リモートHTTPは、このようなホストされたサーバーに使用するもので、ローカルプロセスは必要ありません。
Q: Scrapeless MCPサーバーをGrokに追加するにはどうすればよいですか?
grok mcp add -t http -s user scrapeless https://api.scrapeless.com/mcp --header "x-api-token: ..."、または[mcp_servers.scrapeless]および[mcp_servers.scrapeless.headers]テーブルを~/.grok/config.tomlに自分で書き込んでください。手書きのルートはキーをシェルの履歴から外し、startup_timeout_secおよびtool_timeout_secを設定できます。
Q: なぜ私のプロジェクトスコープのMCPサーバーが起動しないのですか?
フォルダーが信頼されていないからです。リポローカルの.grok/config.tomlは、フォルダーが信頼されるまで起動せず、診断には明示的に記載されています:✗ folder untrusted (repo-local (project-scoped) server not started for an untrusted folder)。config-source行は0サーバーとしてカウントするため、ファイルが空のように見えますが、実際にはそうではありません。エントリをユーザーのスコープに移動すると、キーがあなたのものである場合はゲートを回避できます。
Q: ヘッダーはx-api-tokenまたはAuthorization: Bearerであるべきですか?
x-api-token。それなしでのリクエストは401 Unauthorized: Missing x-api-token headerを返します。Bearerヘッダーはハンドシェイク中に同じ方法で拒否されるため、grok mcp doctorは✗ handshake failedおよびFound 0 healthy, 1 failingを示します — 医者はツールコールの前に一単語のミスを見つけます。
Q: Grokがどのツールを見えるかを確認するにはどうすればよいですか?
grok mcp doctorはサーバーごとの発見されたカウントを印刷し、--jsonは同じ内容を機械可読で提供します。このエンドポイントに対しては25を報告します。3が表示される場合、クライアントはサーバーではなくルーティングゲートウェイを指しており、それらの3つはルーターのディスパッチツールです。
Q: 25 tools discoveredはそれが機能することを知るのに十分ですか?
いいえ。ディスカバリーはtools/listであり、MCPサーバーは上流APIに連絡することなくローカルで応答するため、拒否された資格情報に対しても成功します。1つのツールコールを作成し、実際のページコンテンツを探してください;悪いキーはFailed to fetch dataで始まるテキストを返し、ScrapelessはisErrorを設定しません。
Q: コネクタが機能するためにxAIにサインインする必要がありますか?
コネクタ自体はそれを必要としません:ハンドシェイクとツールディスカバリーは任何xAI資格情報なしに実行されます。モデルが実際にツールを呼び出すことが必要です。なぜならそれはGrok推論ターンだからです — それがないと、grok -p "..."はNot signed inを返します。grok loginを実行するか、XAI_API_KEYを設定してください。
Q: モデルが呼び出すことができるツールを制限できますか?
はい、クライアント側で可能です。CLIは、許可と拒否のルール、そして--toolsおよび--disallowed-toolsの組み込みを公開しているので、ページコンテンツのみを必要とするセットアップはscrape_markdownを許可し、ブラウザセッションツールを利用不可にすることができます。仕事に狭めてください。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



