
Sora Fujimoto
AI Solutions Architect
発行済み Sep 23, 2026
更新されました Sep 23, 2026 · 最小読み取り

solve_captchaという名前のツールを混同しないでください。 rtrvrはその名前の組み込みブラウザアクションをドキュメント化していますが、外部のMCPサーバーはcapsolver.solve_captchaなどの修飾されたツールとして別個にインポートします。rtrvrはChrome拡張機能、クラウドブラウザ、API、MCP、CLI、SDKを統合して、エージェント駆動のブラウザ作業を提供します。そのツールコールレイヤーは、外部のMCPサーバーに接続し、チャットや再利用可能なJavaScriptサブルーチンからツールを呼び出すこともできます。CapSolverは、所有または自動化の許可を得たウェブサイトやテスト環境のチャレンジ処理サービスとして、このアーキテクチャに適合します。
このガイドでは、2つのドキュメント化されたインターフェースが実際にサポートする狭い統合を示します。rtrvrはアクティブなブラウザタブを制御します。CapSolver MCPはタイプ付きトークンモードツールを提供します。小さなrtrvrサブルーチンはリクエストを検証し、修飾されたMCPツールを呼び出し、ワークフローに構造化された結果を返します。最終的なページの更新はアプリケーション固有のステップであり、CAPTCHAトークンはチャレンジコンテキストにバインドされており、一般的なクリック結果ではありません。
このガイドは、製品間の公式なネイティブパートナーシップを前提としていません。また、CapSolver MCPがrtrvrの内部ブラウザオブジェクトに接続できるとは主張していません。代わりに、rtrvrの公開された外部ツール契約とCapSolverの公開されたMCPツールスキーマを使用します。
rtrvrのツールコールドキュメントでは、ユーザーがURLでMCPサーバーを接続し、インポートされたツールを有効化し、@toolnameで直接呼び出し、カスタムツール内でrtrvr.callTool(name, params)で組み合わせることができると述べています。インポートされたMCPツールはサーバー接頭辞で保存され、2つのシステムが同じツール名を公開する場合に重要です。
CapSolverのMCPServiceドキュメントは5つのツールを公開しています:
| ツール | MCPプロセスでブラウザが必要か? | この統合での最適な適合 |
|---|---|---|
solve_captcha |
No | 明示的なチャレンジパラメータからトークンを返す |
get_supported_captchas |
No | ツールの発見とサポートされるハンドラの確認 |
get_balance |
No | テスト前の認証の確認 |
detect_captchas |
Yes | 別のPlaywrightブラウザでURLを検査する |
solve_on_page |
Yes | 別のPlaywrightページを開き、検査し、入力する |
ログイン中のrtrvrタブでは、solve_captchaが実用的な開始点です。ブラウザベースのCapSolver MCPツールは独自のPlaywrightセッションを開始します。rtrvrの現在のタブ、クッキー、ローカルストレージ、ページ内の状態を受け取らないため、solve_on_pageは独立した、承認されたページチェックに役立ちますが、既存のrtrvrセッションの透明な継続ではありません。
また、意図的に名前衝突を処理する必要があります。rtrvrはsolve_captchaをその組み込みpageActionツールの1つとしてドキュメント化しています。CapSolver MCPは同じ短い名前のツールを公開します。外部サーバーを接続した後、ツールリストを確認し、通常capsolver.solve_captchaなどの完全なインポートされた名前を呼び出してください。プランナーが意図したものを推測しないでください。
この統合を4つのレイヤーで保持してください:
| レイヤー | 責任 | 保持する証拠 |
|---|---|---|
| rtrvrブラウザ | ナビゲート、認証されたセッションを保持、ページを分類、最終的な状態を確認 | タブID、URL、ページ状態、最終的なアプリケーション応答 |
| rtrvrサブルーチン | 入力を検証、修飾されたツールを選択、制限を設定、構造化された結果を返す | 選択されたツール名、リクエストID、状態、エラーコード |
| CapSolver MCP | タスクスキーマを検証、CapSolverサービスを呼び出し、構造化された解決またはエラーを返す | 成功フラグ、チャレンジタイプ、文書化されたエラー項目 |
| ターゲットアプリケーション | トークンを独自のサポートされた統合経路で受け入れるか拒否する | サーバーサイドの受け入れ、ルート変更、期待されるドメイン結果 |
この分離により、3つの一般的なミスを防ぎます。第一に、モデルはタスクフィールドを発明しません。第二に、トークン応答は完了したビジネスアクションとして記録されません。第三に、アクセス拒否、ログインウォール、MFAプロンプト、またはサポートされていないチャレンジは、解決者に繰り返し送信されません。
このパターンは、所有またはテスト/自動化の許可を得たシステムでのみ使用してください。支払い、アイデンティティ検証、アカウント作成、プライベートデータアクセスなどの他の機密ワークフローは、明示的な人間の承認と適用可能なサービスルールの後で保持してください。
rtrvrはURLで外部MCPサーバーに接続しますが、CapSolver MCPはデフォルトでローカルstdioを使用します。rtrvr拡張機能がアクセスできるように、同じサーバーをStreamable HTTPで起動してください。
python -m venv .venv
source .venv/bin/activate
pip install capsolver-core
pip install capsolver-mcp
export CAPSOLVER_API_KEY="YOUR_CAPSOLVER_API_KEY"
capsolver-mcp --transport streamable-http --host 127.0.0.1 --port 8000
公式のMCP Python SDKは/mcpをデフォルトのStreamable HTTPパスとして使用するため、ローカルエンドポイントは次の通りです:
http://127.0.0.1:8000/mcp
127.0.0.1にバインドすることで、サービスをローカルに保ちます。--api-keyオプションまたはCAPSOLVER_API_KEY環境変数は、サーバーをCapSolverに認証しますが、MCPポートにアクセスできる誰かのクライアント認証レイヤーではありません。このコマンドを公開インターフェースに直接バインドしないでください。リモートrtrvr環境がアクセスする必要がある場合、認証されたHTTPSの後ろにデプロイし、許可されたネットワークを制限し、APIキーをシークレットストアに保護し、MCPサーバーのオリジンとトランスポート設定を確認してください。
トークンモードツールはPlaywrightを必要としません。detect_captchasまたはsolve_on_pageの別個の承認された使用がある場合にのみ、ブラウザエクストラをインストールしてください:
pip install "capsolver-mcp[browser]"
playwright install chromium
rtrvrのツールセクションを開き、ローカルMCP URLを追加し、ワークフローで必要なツールのみを有効にしてください。rtrvrはStreamable HTTP、SSE、OAuth保護されたMCPサーバーのサポートをドキュメント化しています。このローカル設定では、前のステップのStreamable HTTP URLを使用してください。
最初に2つのブラウザなしの呼び出しを試してください:
@capsolver.get_supported_captchas
@capsolver.get_balance
正確な接頭辞はサーバーが接続されたときにrtrvrによって割り当てられます。もし異なれば、ツールパネルに表示されている名前を使用してください。カスタムサブルーチンはawait rtrvr.listTools()を呼び出し、利用可能なすべてのツールの名前、説明、パラメータスキーマ、ソースを検査することもできます。
これらのチェックは異なる質問に答えます。get_supported_captchasはrtrvrが外部ツールを発見したことを証明し、get_balanceはMCPプロセスが動作するアカウント資格情報を受信したことを証明します。どちらのチェックも実際のチャレンジが完了することを証明するものではありませんが、どちらもワークフローのデバッグに時間を費やす前に構成エラーとタスクエラーを分離します。
rtrvrのプロンプト、ページ記録、スクリーンショット、リポジトリに実際のAPIキーを置かないでください。MCPプロセスの環境に保持してください。プロセスがツール引数をログに記録する場合、トークン、キー、機密クエリパラメータを含むURL、およびターゲット固有の識別子をログに記録する前にマスキングしてください。
CapSolverのボーナスコードを取得する
自動化予算を即座に増やす!
CapSolverアカウントにチャージするときにボーナスコード CAP26 を使用して、すべてのチャージで 5%のボーナス を受け取ってください — 制限なし。
今すぐCapSolverダッシュボードで取得してください
rtrvrカスタムJavaScriptツールはrtrvr.callToolを通じて接続されたMCPツールを呼び出すことができます。以下のサブルーチンは、トークンを返す前に4つのことを行います:URLの検証、サポートされるチャレンジタイプのホワイトリスト、修飾された外部ツールの発見、および失敗状態の正規化。
const allowedTypes = new Set(["reCaptchaV2", "reCaptchaV3", "cloudflare"]);
function fail(state, message, details = {}) {
return { ok: false, state, message, ...details };
}
if (!allowedTypes.has(captchaType)) {
return fail("unsupported_challenge", `Unsupported type: ${captchaType}`);
}
const parsed = new URL(websiteUrl);
if (parsed.protocol !== "https:") {
return fail("policy_block", "Only approved HTTPS targets are allowed");
}
const tools = await rtrvr.listTools();
const solver = tools.find((tool) =>
tool.source === "mcp" &&
(tool.name === "capsolver.solve_captcha" || tool.name.endsWith(".solve_captcha"))
);
if (!solver) {
return fail("configuration_error", "CapSolver MCP solve_captcha was not found");
}
const result = await rtrvr.callTool(solver.name, {
captcha_type: captchaType,
website_url: websiteUrl,
website_key: websiteKey,
version: version || null,
page_action: pageAction || null,
min_score: minScore || null,
invisible: invisible ?? null,
enterprise: enterprise ?? null,
cdata: cdata || null,
timeout: 90,
polling_interval: 5,
});
if (!result?.success || !result?.solution?.token) {
return fail("solve_failed", result?.error || "No token returned", {
errorCode: result?.error_code || null,
httpStatus: result?.http_status || null,
});
}
return {
ok: true,
state: "token_ready",
captchaType: result.solution.captcha_type,
token: result.solution.token,
expiresAt: result.solution.expire_time || null,
};
captchaType、websiteUrl、websiteKey、およびオプションのフィールドをrtrvrのツールパラメータとして定義してください。この例は意図的に任意のページからサイトキーをスクレイピングしたり、未知のアプリケーションにトークンをインジェクトしたりしません。制御しているテストアプリケーションの場合、アプリケーション契約から正確なチャレンジパラメータを読み込み、サポートされたフォームまたはサーバーエンドポイントを通じて結果を送信する別のアダプターを追加してください。
含まれるローカルテストは、モックされたrtrvrツールランタイムでオーケストレーションの分岐ロジックをカバーしています。ライブハンドシェイクには、rtrvrアカウント、アクティブなブラウザデバイスまたはクラウドコンテキスト、CapSolver APIキー、および承認されたテストページが必要です。
CAPTCHAソリューションはコンテキストに依存します。チャレンジタイプ、公開サイトキー、ページURL、アクション名、セッション状態、および場合によってはプロキシまたはユーザーエージェントデータが、ターゲットアプリケーションが結果を受け入れるかどうかに影響を与える可能性があります。したがって、ブラウザワークフローは元のタブを保持し、アプリケーションが期待する方法で返されたトークンを送信する必要があります。
ジェネリックなリトライループではなく、タイプ付きワークフローステートを使用してください:
page_ready: 意図されたページがロードされ、そのアイデンティティが確認されます。challenge_detected: サポートされたチャレンジが存在し、信頼できるページエビデンスからパラメータが取得されます。solve_requested: そのチャレンジインスタンスにバインドされた1つのMCPコールが作成されます。token_ready: サービスがトークンを返しましたが、まだアプリケーションの成功は主張されていません。submitted: アプリケーション固有のアダプターが同じ承認されたセッションでトークンを送信しました。accepted: 意図されたルート、API応答、またはページ状態が成功を確認します。reviewまたはstopped: 状態が曖昧、サポートされていない、機密性が高く、または予算を超えたものです。このセッションバインドフローのショートカットとしてsolve_on_pageを呼び出さないでください。現在のCapSolver MCP実装では、そのツールは新しいヘッドレスChromiumページを開き、そこで検出と入力を実行し、その後ブラウザを閉じます。これは有効なスタンドアロン操作ですが、rtrvrの拡張機能またはクラウドブラウザとは別のセッションです。別個のセッションが許可され、明示的に承認されている場合にのみ使用してください。
成功したMCP応答は、ツールが解決オブジェクトを返したことを意味します。ログイン、フォーム送信、抽出ジョブ、またはブラウザタスクが完了したことを意味するものではありません。検証は、元のタブでrtrvrで行われなければなりません。
少なくとも3つのチェックを実施してください:
ページが同じチャレンジを再度表示する場合、設定された試行予算後に停止してください。繰り返されるチャレンジループは、有効期限切れのトークン、パラメータの不一致、プロキシまたはユーザーエージェントの不一致、サポートされていないチャレンジの変種、またはより広範なアクセスポリシーの決定を示す可能性があります。より多くの呼び出しは進展を証明しません。
状態とエラーコードを記録し、シークレットを記録しないでください。役立つイベントには、相関ID、タイムスタンプ、ツール名、チャレンジタイプ、ターゲットホスト、試行回数、状態遷移、レイテンシー、および最終的なアプリケーション結果が含まれます。解決トークンやAPIキーを通常のログに保持しないでください。
| 症状 | おそらくの原因 | チェック |
|---|---|---|
| MCPサーバーが表示されない | 間違ったURL、プロセスが停止している、またはトランスポートの不一致 | http://127.0.0.1:8000/mcpとストリーミングHTTPモードを確認してください |
capsolver.solve_captchaが見つからない |
インポートされたツールが無効またはサーバー接頭辞が異なる | ツールパネルを開くか、rtrvr.listTools()を検査してください |
他のsolve_captchaが実行される |
rtrvrの組み込みページアクションとの短い名前の衝突 | 完全なMCP修飾ツール名を呼び出してください |
| バランスチェックが失敗する | MCPプロセスでAPIキーが欠如または無効 | 環境を確認し、サーバーを再起動してください |
| ツールがサポートされていないタイプを返す | captcha_typeが公開された列挙値と一致しない |
get_supported_captchasを使用し、ホワイトリストを設定してください |
| トークンが返されるがページが進まない | 間違ったチャレンジパラメータ、有効期限切れのコンテキスト、またはアプリケーション固有の送信が欠如 | 信頼できるページエビデンスを再確認し、ターゲット応答を確認してください |
solve_on_pageが他の場所で成功するがrtrvrタブは変化しない |
他のブラウザセッションが起動した | rtrvrセッションでトークンモードを使用し、承認されたアダプターを通じて送信してください |
| リモート接続が拒否されました | ローカルホストのみのバインディング、DNSリバインディング保護、または認証済みプロキシの欠如 | 明示的なネットワークおよびオリジン設定で承認されたHTTPSデプロイメントを使用してください |
テストページを越える前に、以下のすべてを確認してください。
このチェックリストは、別のプランナーのプロンプトを追加することよりも重要です。ほとんどの統合エラーは、ブラウザ状態、ツール入力、サービス出力、アプリケーションの受け入れの境界で発生します。これらは言語モデルの推論問題ではなく、ランタイム契約です。
rtrvrはCapSolver MCPを呼び出すために必要な外部ツールの表面を提供しますが、信頼性のある統合は単にツールを有効にすることよりも狭い範囲です。Streamable HTTPを介してCapSolver MCPを開始し、rtrvrのエンドポイントに接続し、非ブラウザツールで発見を検証し、資格のある名前で外部ソルバーを呼び出してください。アクティブなrtrvrセッションでは、トークンモードを使用し、ページ提出と結果検証を元のブラウザワークフロー内に保つ必要があります。別ブラウザツールは別セッションとして扱い、タイプされた証拠を保持し、未サポートまたは曖昧な状態で停止してください。承認されたブラウザエージェントワークフローでは、CapSolverが文書化されたチャレンジツールを提供し、rtrvrはブラウザコンテキストと最終的なアプリケーションの成功を担当します。
CapSolver MCPドキュメンテーションに掲載されている5つの公開ツールを確認し、rtrvrのツールパネルからローカルまたは適切に保護されたエンドポイントに接続してください。CapSolverダッシュボードを使用して、統合を拡大する前に1つの承認されたワークフローをテストしてください。
Q: rtrvrにはネイティブなCapSolver統合がありますか?
レビューされたドキュメンテーションは、ネイティブな提携や組み込みのCapSolverプロバイダーを主張していません。このガイドでの統合は、rtrvrの一般的なMCPツール接続とCapSolverの公開MCPサーバーを使用しています。
Q: なぜ短い名前solve_captchaではなく呼び出さないのですか?
rtrvrはその名前の組み込みブラウザアクションをドキュメント化しており、CapSolver MCPは同じ短い名前を公開しています。曖昧さを避けるために、ツールパネルに表示されている資格のあるインポート名、例えばcapsolver.solve_captchaを使用してください。
Q: rtrvrで開いているブラウザタブをCapSolver MCPで使用できますか?
文書化されたMCPツールを通じてはできません。トークンモードは明示的なチャレンジパラメータを必要とし、トークンを返しますが、ブラウザモードツールは別途のPlaywrightブラウザを起動します。
Q: ローカルMCPポートをインターネットに公開すべきですか?
いいえ。ローカルホストで使用してください。共有デプロイメントには認証済みHTTPS、ネットワーク制限、シークレット管理、オリジン制御、および明示的なセキュリティレビューが必要です。
Q: ブラウザタスクが成功したかどうかどうやって確認できますか?
期待されるルート、DOM状態、API応答、ビジネス結果を使用して、元のrtrvrタブで結果を確認してください。単なるトークンの返却は成功の証拠ではありません。

Sora Fujimoto
AI Solutions Architect
Connecting agents, browsers, and APIs into one workflow.
著者について