PiエージェントをWebに接続する方法:Scrapeless MCPサーバー統合ガイド
Senior Web Scraping Engineer
主なポイント:
- Piエージェントは意図的に最小限のターミナルベースのコーディングエージェントです。 それは4つのツール(
read、write、edit、bash)を搭載しており、他のすべてはオプトインの拡張機能を通じて追加されるため、コンテキストウィンドウが小さく保たれる一方で、ウェブアクセスは組み込まれていません。 pi-mcp-adapterはPiを任意のMCPサーバーに約200トークンのプロキシツールを通じて接続します。 サーバーはデフォルトで怠惰であり、エージェントがそれらのツールの1つを呼び出すまで起動しないため、複数のMCPサーバーに接続してもコンテキスト予算が膨れ上がることはありません。- Scrapeless MCPサーバーは、標準入出力とストリーミング可能なHTTPエンドポイント
https://api.scrapeless.com/mcpで21のツールを公開します。 カバレッジはgoogle_search、google_trends、16のツールをフルに備えたbrowser_*(195か国以上の住宅プロキシを使用したクラウドホストされたアンチ検出ブラウザ)、および3つのステートレススクレイピングツール(scrape_html、scrape_markdown、scrape_screenshot)に広がっています。 - 1つの
.mcp.jsonファイルでPiがScrapelessに接続されます。 アダプターは、Claude Desktop、Cursor、その他のMCPクライアントがすでに使用している標準MCP構成フォーマットを読み取るため、同じJSONスニペットがどのクライアントにも適用できます。 - エンドツーエンドのパターン: プロンプト → Pi →
pi-mcp-adapter→scrapeless-mcp-server→ クラウドブラウザ → ランキング結果または抽出されたMarkdown → 実データに基づいて生成されたコード。 Piはトレーニングのみの知識から生成を停止し、直近でスクレイピングしたページに基づいて出力を根付かせ始めます。 - 無料で始められます。 新しいScrapelessアカウントには無料のスクレイピングブラウザランタイムが含まれています — app.scrapeless.comでサインアップしてください。
はじめに:ライブウェブツールを持つ最小限のコーディングエージェント
ほとんどのターミナルコーディングエージェントは、使用しないかもしれない多数の機能を搭載しています。Piエージェントは反対の立場を取ります:4つのツール、完全な透明性、他のすべては需要に応じて追加されます。これによりエージェントは高速で、コンテキストウィンドウが安価に保たれますが、その一方で、Piはライブラリの最新文書を取得したり、先週公開されたリリースページを読んだり、公共のウェブページからライブデータを自力で引き出したりすることはできません。
解決策は、ウェブツールを公開するモデルコンテキストプロトコル(MCP)サーバーにPiを接続することです。scrapeless-mcp-serverパッケージは正にそれを実現します — Scrapelessスクレイピングブラウザによってサポートされており、195か国以上の住宅プロキシを経由して接続されるクラウドホスト型のアンチ検出ブラウザです。
この投稿では、pi-mcp-adapter(PiのためのコミュニティーMCP拡張)と単一の.mcp.jsonファイルを使用して、二つを接続する方法を説明します。Piが接続するエンドポイントは、Claude Desktop、Cursor、その他のMCPクライアントが使用するものと同じです;同じJSONスニペットが全てに適用可能です。
何ができるか
- ライブドキュメントに基づくコード生成。 Piにライブラリの最新のREADMEを取得させてからサンプルを生成する — トレーニング済みモデルの知識からの古いAPIをもう使いません。
- 検索とスクレイピングを1回の操作で。 Piが
google_searchを呼び出して候補ページを評価し、その後scrape_markdownを使って最も関連性の高いページをクリーンなMarkdownとして取得します。 - ターミナルプロンプトからアンチ検出クラウドブラウザを操作。
browser_goto、browser_click、browser_type、およびbrowser_get_htmlのようなツールを使用して、Piはセッションが持続する本物のクラウドChromiumを完全に制御します。 - 住宅プロキシを介して地域特有のデータを取得。 エージェントのツール呼び出しから直接
gl=usやgl=deの検索範囲を設定します。 - 1つのターミナルセッション内に留まる。 ブラウザタブの切り替え、curl出力のコピー&ペースト、監視する別のスクレイピングCLIは不要です。
Scrapelessでは、適用される法律、規制、ウェブサイトのプライバシーポリシーを厳守しつつ、公開データのみにアクセスしています。この投稿の内容はデモ目的のみです。
Piエージェントとは?
Piエージェントは、Mario Zechner(libGDXゲームフレームワークの作成者)によって構築されたターミナルベースのコーディングエージェントです。デフォルトでモデルに4つのツールを提供します:
read— ファイルとディレクトリを読むwrite— ファイルを作成および編集edit— 既存のファイルにターゲットを絞った編集を行うbash— シェルコマンドを実行
他のすべてはオプトインです。TypeScriptの拡張、スキル、パッケージとして束ねられたプロンプトテンプレートを介してPiを拡張し、npmまたはgitを通じてインストールします。エージェントは4つのモード(インタラクティブ(対話形式)、印刷/JSON(スクリプト化)、RPC(stdin/stdout統合)、SDK(組み込み))で動作します。プロバイダーのサポートは広範です:Anthropic、OpenAI、Google、Mistral、Groqなど。
npmを使ってグローバルにインストールできます:
bash
npm install -g @mariozechner/pi-coding-agent
トレードオフは明確です:ワークフローに合わせて成長させる小さなスタート面とする代わりに、すべてのニーズに合う工具箱を一つ用意するという形です。
なぜPiがウェブアクセスを必要とするのか
Piの推論は、基盤となるモデルがどのようにトレーニングされたかに制約されています。つまり、それは以下をできません:
- トレーニングのカットオフ後にライブラリの最新のAPI変更を調べること
現在の文書ページ、変更ログ、またはリリースノートを取得する
公共ページを読み込み、設定テーブル、価格、またはスキーマを引き出す
トレーニングデータの例が、今日のパッケージバージョンに対してまだコンパイルされるかを確認する
急速に変化するエコシステム、つまりウェブ、フロントエンド、AIツール、インフラストラクチャーにおいて、これは重要です。Piをウェブ対応のMCPサーバーに接続すると、コードを生成する前に最新情報を検索し、必要な正確なページをスクレイピングするコーディングエージェントが得られます。出力は古い記憶からの最良の推測であるのをやめ、表示されたページに基づいたものになります。
Scrapeless MCP Serverとは?
Scrapeless MCP ServerはModel Context Protocolサーバーで、Scrapelessクラウドブラウザ、検索、スクレイピングAPIをMCPツールとして公開します。MCP互換のクライアント—Pi、Claude Desktop、Cursor、Codex CLI、Gemini CLI、Windsurf、VS Code Copilot Chat—は、会話から直接それらを呼び出すことができます。
公開時点で、サーバーは3つのカテゴリにわたって21のツールを公開しています:
- 検索とトレンド —
google_search,google_trends - ブラウザ自動化(16ツール) —
browser_create,browser_close,browser_goto,browser_go_back,browser_go_forward,browser_click,browser_type,browser_press_key,browser_wait,browser_wait_for,browser_screenshot,browser_snapshot,browser_get_html,browser_get_text,browser_scroll,browser_scroll_to - ステートレスなスクレイピング —
scrape_html,scrape_markdown,scrape_screenshot
2つのトランスポートモードがサポートされています:
- Stdio —
npx -y scrapeless-mcp-serverは、MCPクライアントの子プロセスとしてサーバーを実行します。これは、Piのようなデスクトップや端末エージェントにとって適切なデフォルトです。 - ストリーム可能なHTTP — クライアントを
https://api.scrapeless.com/mcpにポイントします。これは、npxをシェルで呼び出すことができないクラウドホストエージェントのための適切なデフォルトです。
両方のモードは同じScrapeless APIキーによってサポートされています。サーバーのソースはgithub.com/scrapeless-ai/scrapeless-mcp-serverにあり、ツールの完全なリファレンスはdocs.scrapeless.comにあります。無料プランでのAPIキーをapp.scrapeless.comで取得できます。
MCPブリッジ:pi-mcp-adapter
Piは、初めからMCPサポートを備えていません。その理由は意図的な選択です:Mario 主張は、MCPツールの定義が最小エージェントにはトークンが過剰すぎると述べています。Playwright MCPのような人気のあるMCPサーバーは21のツールを公開し、約13.7kトークンを消費します;Chrome DevTools MCPは26のツールを公開し、約18kトークンを消費します。いくつかのサーバーを接続すると、会話が始まる前にコンテキストウィンドウの大部分を消費してしまう可能性があります。
コミュニティの応答はpi-mcp-adapterです:すべてのMCPツール定義を事前に読み込むのではなく、単一のプロキシツール(約200トークン)を公開するPiの拡張です。エージェントは、必要に応じて個々のツールを検索し、呼び出します:
mcp({ search: "screenshot" })
mcp({ tool: "scrapeless_scrape_markdown", args: '{"url": "https://example.com"}' })
サーバーはデフォルトで遅延設定されています—エージェントが最初にツールの1つを呼び出すまで起動しなく、10分間(設定可能)アイドル状態になると切断します。ツールのメタデータはディスクにキャッシュされているため、検索や説明はライブ接続なしで機能します。
アダプターは、次の優先順位で標準のMCP設定ファイルを読み取ります:
~/.config/mcp/mcp.json(ユーザーグローバル共有)<Piエージェントディレクトリ>/mcp.json(Piグローバルオーバーライド、通常は~/.pi/agent/mcp.json).mcp.json(プロジェクトローカル共有).pi/mcp.json(Piプロジェクトオーバーライド)
1つのコマンドでインストールします(Pi内またはPi CLI経由で実行):
bash
pi install npm:pi-mcp-adapter
公開時のアダプターバージョンは2.6.1です。
PiエージェントをScrapeless MCPサーバーに接続する方法
前提条件
- Node.js 18以上。 Piエージェントと
pi-mcp-adapterの両方が必要です;Gemini CLIバリアントのPiサポートにはNode 20以上が必要です。 - ScrapelessアカウントとAPIキー。 app.scrapeless.comでサインアップしてください。新しいアカウントには無料のスクレイピングブラウザ実行環境が含まれます。
- PiがサポートするモデルプロバイダーのAPIキー — Anthropic、OpenAI、Google Gemini、Mistral、DeepSeek、Groq、または
/loginでPiがリストしている他のもの。
ステップ1 — Piエージェントをインストールする
端末を開き、次のコマンドを実行します:
bash
npm install -g @mariozechner/pi-coding-agent
インストールを確認します:
bash
pi --version
公開時のPiバイナリは@mariozechner/pi-coding-agentバージョン0.73.1です。
ステップ2 — pi-mcp-adapterをインストールする
Piがインストールされたら、MCPアダプター拡張を追加します:
bash
pi install npm:pi-mcp-adapter
インストール後にPiを再起動します。アダプタは約200トークンのコストがかかる単一のmcpプロキシツールを引き込み、インタラクティブなサーバー管理のための/mcpスラッシュコマンドを提供します。
ステップ3 — Scrapeless APIキーを取得する
app.scrapeless.comにログインし、設定 → APIキーを開いてキーをコピーします。次のステップのためにクリップボードに保持してください。
ステップ4 — .mcp.jsonを構成する
プロジェクトフォルダ内に.mcp.jsonという名前のファイルを作成します。これは、pi-mcp-adapterが起動時に読み取る標準のMCP設定ファイル形式です(Pi特有の構文は必要ありません):
json
{
"mcpServers": {
"scrapeless": {
"command": "npx",
"args": ["-y", "scrapeless-mcp-server"],
"env": {
"SCRAPELESS_KEY": "YOUR_SCRAPELESS_KEY"
}
}
}
}
YOUR_SCRAPELESS_KEYをステップ3で取得したキーに置き換えます。MCPサーバーは、SCRAPELESS_KEY環境変数からAPIキーを読み取ります — その名前が真実の源ですので、SCRAPELESS_API_KEYに変更しないでください。
初回実行時に、npx -y scrapeless-mcp-serverがパッケージをダウンロードし、標準入出力でサーバーを起動します。別途インストールコマンドは必要ありません。
標準入出力をスキップしてストリーミングHTTPトランスポートを使用したい場合は、エントリを次のように置き換えます:
json
{
"mcpServers": {
"scrapeless": {
"url": "https://api.scrapeless.com/mcp",
"headers": {
"x-api-token": "YOUR_SCRAPELESS_KEY"
}
}
}
}
どちらの形式も同じScrapeless APIキーを使用し、同じ21のツールを提供します。標準入出力はワークステーション用の正しいデフォルトであり、HTTPはPiがshellをnpxに出せないクラウドホストで実行されている場合の正しいデフォルトです。
ステップ5 — モデルプロバイダーに接続する
Piを起動します:
bash
pi
拡張機能の下にpi-mcp-adapterが表示されるはずです。/loginと入力し、認証方法(サブスクリプションまたはAPIキー)を選択します。使用したいプロバイダーを選び、APIキーを貼り付け、Piが今後のセッションに対してその資格情報を保存します。/modelと入力してモデル選択パネルを開き、モデルを選択します。
無料プランでScrapeless APIキーを取得するには:app.scrapeless.com
ステップ6 — 接続を確認する
/mcpと入力してMCPパネルを開きます。scrapelessサーバーは表示されますが、最初は怠惰です — 接続がまだ開かれていないため最初は0/21と表示されることがあります。矢印キーを使って行をハイライトし、Ctrl+Rを押して再接続します(または任意のScrapelessツールを呼び出すと、怠惰な接続がトリガーされます)。
接続が完了すると、ターミナルの底にMCP: 1/1 serversと表示されます。21のツールが今や発見可能です。それらをリストして確認するには:
mcp({ search: "scrapeless" })
結果にgoogle_search、google_trends、browser_*、およびscrape_*ツールが表示されるはずです。パネルを閉じるにはEscを押します。
ステップ7 — 実際のタスクを実行する
Piにライブウェブデータが必要なプロンプトを与えます。例えば:
公式のaxios npmドキュメントをウェブで検索し、最も関連性の高いページをスクレイピングし、
適切なエラーハンドリングを含むGETリクエストを行う動作するJavaScriptの例を生成してください。
それをaxios-example.jsとして保存します。
Piは最初にscrapeless_google_searchを呼び出し、公式axiosドキュメントからタイトル、URL、スニペットを含むランク付けされた結果のリストを返します。その後、最も関連性の高いURLを選び、scrapeless_scrape_markdownを呼び出して、ページをクリーンなMarkdownとして引っ張ります — クラウドブラウザーがJavaScriptレンダリングやあらゆる検出防止の課題を処理し、Piは生のHTMLではなく抽出されたコンテンツを受け取ります。
文脈に沿ったドキュメントを基に、Piは読み取ったAPIのバージョンに対してaxios-example.jsを生成します。一時的なos error 10054またはHTTP 503が表示された場合は、呼び出しを再試行してください — クラウドブラウザーフリートはセッションを再利用し、再発行は通常成功します。
ステップ8 — 出力を探索する
Piはaxios-example.jsをあなたのプロジェクトフォルダに書き込みます。このファイルには、最近スクレイピングしたパターンを反映した例が含まれています — async/await、ステータスコードの分岐、現在のaxiosドキュメントが推奨するエラー検査が一貫しています:
javascript
async function fetchPost() {
try {
const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
console.log('Status:', response.status);
console.log('Title:', response.data.title);
console.log('Body:', response.data.body);
} catch (error) {
if (error.response) {
console.error('Status:', error.response.status);
console.error('Data:', error.response.data);
} else if (error.request) {
console.error('サーバーからの応答がありません');
} else {
console.error('リクエスト設定エラー:', error.message);
}
}
}
それを実行します:
bash
npm install axios
node axios-example.js
受け取るもの
スクリプトレスMCPサーバーからの代表的なtools/listレスポンスは、以下のような形状をしています(スキーマは発行時のライブサーバーを反映し、フィールド値は例示的なサンプルです):
json
{
"tools": [
{
"name": "google_search",
"description": "ユニバーサル情報検索エンジン",
"inputSchema": {
"type": "object",
"properties": {
"q": { "type": "string", "default": "最新のニュースヘッドライン" },
"gl": { "type": "string", "default": "us" },
"hl": { "type": "string", "default": "en" }
}
}
},
{
"name": "scrape_markdown",
"description": "URLをスクレイピングし、そのコンテンツをMarkdownとして返す",
"inputSchema": {
"type": "object",
"properties": { "url": { "type": "string", "format": "uri" } },
"required": ["url"]
}
},
{ "name": "browser_create", "description": "新しいクラウドブラウザセッションを作成" },
{ "name": "browser_goto", "description": "既存のセッションでURLに移動" },
{ "name": "browser_get_html", "description": "アクティブページのレンダリングされたHTMLを返す" }
// …16個追加
]
}
このセットアップを組み立てた後の正直な観察:
- トークンコストはプロキシツールが支配しています。21の基盤ツールではなく、アダプターがディスクキャッシュにメタデータを保持します。
directToolsをサーバーで呼び出すまで、システムプロンプトには何も読み込まれません。 - レイジースタートアップはコールドセッションで勝利します。スクリプトレスMCPサーバーは、Piがツールの1つを呼び出したときにのみ生成するため、サーバーが構成されたPiセッションを開くことは追加のコストはかかりません。
google_search+scrape_markdownが一般的なペアです。ページを見つけるために検索し、それを読むためにスクレイピングします。browser_*ツールは、ログイン、クリックスルー、またはページネーションが必要なフローのために予約されています。- 一時的な
os error 10054/ HTTP 503が発生します。これはスクリプトレスのガイドに文書化されており、クラウドブラウザセッションのチャーンで発生します。セッションを再起動するのではなく、Piからツールコールを再試行してください。 SCRAPELESS_KEYはカノニカル環境変数です。他のスクリプトレスのインターフェイス(スタンドアロンCLI、エージェントスキル)はSCRAPELESS_API_KEYを使用しています。MCPサーバーは例外です。
結論:ライブウェブを読み取るための最小限のコーディングエージェント
Piエージェントはデフォルトでミニマルです; スクリプトレスMCPサーバーは、その変更なしに21のウェブツールを追加します。接続の基盤はpi-mcp-adapter - 一つのプロキシツール、約200トークン、レイジーサーバースタートアップ - と広範なMCPエコシステムが既に理解している一つの.mcp.jsonファイルです。同じJSONスニペットは、Claude Desktop、Cursor、Codex CLI、Gemini CLI、Windsurf、またはVS Code Copilot Chatに変更なしで組み込まれます。
質的な違いは、Piにピン留めされていないライブラリに対してコード生成を依頼した最初のときに現れます。トレーニングデータのメモリから推測するのではなく、Piは検索し、カノニカルドキュメントをスクレイピングし、実際にライブであるバージョンに対して例を書きます。このガイドを使用して、完全なツールカタログのためのスクリプトレスMCPサーバーの概略と組み合わせるか、ターミナルのエージェントではなくフレームワークベースのエージェントに同じMCPサーバーが接続されている場合は、AWS Strands + スクリプトレスMCPガイドと組み合わせてください。通常使用にはプロキシオンリーモードをピン留めし、モデルにシステムプロンプトでそれらを見せたいときは個々のツールをdirectToolsに昇格させ、コールドセッションが安価に保たれるようにlifecycle: lazyを維持してください。
あなたのAI駆動データパイプラインを構築する準備はできましたか?
私たちのコミュニティに参加して無料プランを申し込み、MCP駆動のエージェントパイプラインを構築している開発者とつながりましょう:Discord · Telegram。
無料のスクレイピングブラウザランタイムのためにapp.scrapeless.comにサインアップし、上記の.mcp.jsonスニペットをPi(または他のMCPクライアント)にドロップして、ライブウェブデータに基づいたコード生成を開始してください。料金の詳細はscrapeless.com/en/pricingで確認できます。
よくある質問
1. Piを通じてスクリプトレスMCPサーバーでのスクレイピングは合法ですか?
MCPサーバーは公開されているコンテンツにのみアクセスし、ログアウトしたユーザーがブラウザで見るのと同じコンテンツです。合法性は管轄区域とターゲットサイトの利用規約によります。Piにスクレイピングを求められるサイトの利用規約を確認し、大規模な使用事例については弁護士に相談してください。
2. スクリプトレスMCPサーバーの上にプロキシが必要ですか?
いいえ。クラウドブラウザはすでに195以上の国の居住用プロキシを通じてエグレスしています。google_searchのglパラメータを使用するか、エージェントプロンプトに--proxy-countryスタイルのヒントを使って地域を指定してください。
3. ツールコールがERR_TUNNEL_CONNECTION_FAILED、os error 10054、またはHTTP 503に達した場合、Piは何を見ますか?
これらはクラウドブラウザフリートにおける一時的なエラーです。Piはエラーをモデルに提示しますが、通常は自動的に再試行します。そうでない場合は、プロンプトを再発行してください。これはMCP配線が壊れている兆候ではありません。
4. PiはScrapelessサーバーを表示しますが、0/21ツールは何が問題ですか?
何もありません。サーバーはデフォルトでpi-mcp-adapterで怠惰です。PiがScrapelessツールを呼び出すと、その数は初めて21/21に切り替わります。強制的に接続するには、/mcpでサーバーをハイライトし、Ctrl+Rを押すか、プロンプトラインから/mcp reconnect scrapelessを実行してください。
5. プロキシツールは素晴らしいですが、Scrapelessツールを直接Piのモデルに公開することはできますか?
はい — .mcp.jsonのscrapelessエントリに"directTools": true(またはサブセットを促進するために"directTools": ["google_search", "scrape_markdown"])を追加してください。直接ツールはシステムプロンプトで各~150〜300トークンのコストがかかります;エージェントが最も使用するものを選んでください。
6. 同じ.mcp.jsonスニペットはPiの外で使用できますか?
はい。mcpServersオブジェクトは標準のMCP構成エンベロープです。Claude Desktop、Cursor、Codex CLI、Gemini CLI、Windsurf、およびVS Code Copilot Chatはすべてこれを読み取ります(いくつかはパスやファイル名に若干の違いがあります)。上記のScrapelessブロックはすべてで機能します。
7. Piは同時に何台のMCPサーバーに接続できますか?
ハードリミットはありません — pi-mcp-adapterはそれぞれ怠惰に保ち、10分間アイドル状態の後に切断するため、サーバーがリストされていてもトークンとプロセスのコストは一定に保たれます。関連する上限はモデルプロバイダーのコンテキストウィンドウとPi自身のツールごとの予算です。
8. AIエージェントなしでこれを動かせますか — スクリプトからScrapeless MCPサーバーを呼び出せますか?
はい。https://api.scrapeless.com/mcpのストリーミング可能なHTTPエンドポイントは、initialize → tools/list → tools/callというJSON-RPCシーケンスで任意のHTTPクライアントから呼び出すことができます;それに対するcurlのスモークテストはserverInfo.name: "scrapeless-mcp-server"とフォローアップ呼び出し用のmcp-session-idヘッダーを返します。Piは利便性のレイヤーであり、厳密な依存関係ではありません。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



