mcpField
S
ShadowCrawl

ShadowCrawl

ローカル
github.com/DevsHeroブラウザ自動化7020 週間前に更新

ShadowCrawl について

ShadowCrawl(CortexScout、cortex-scout)は、トークン効率の良い検索とボット対策への対応を必要とする AI エージェント向けに作られた Rust 製の MCP 検索・Web 抽出エンジンです。ステートフルなブラウザー自動化と、任意のヒューマンインザループ(HITL)によるフォールバックを備えます。

主な機能

  1. 01検索・取得・バッチ・クロールを統合したツール
  2. 02LLM 向けに整形された構造化抽出
  3. 03CDP レンダリングと遮断を考慮した再試行
  4. 04単一のオムニツールによるステートフルなブラウザー自動化
  5. 05チャレンジやログインに対する HITL フォールバック

活用シーン

  1. 01調査タスク向けの Web コンテンツの収集と構造化
  2. 02Cloudflare や reCAPTCHA で保護されたページの取得
  3. 03Web サイトに対するステートフルなエンドツーエンドの検証

MCP 対応

本プロジェクトは MCP サーバーであり、stdio 経由で検索、取得、抽出、ブラウザー自動化、調査メモリのツールを提供します。HTTP サーバーも任意で起動できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

CortexScout(cortex-scout)— AI エージェント向け検索・ウェブ抽出エンジン

CortexScout は、Cortex-Works エコシステムにおけるディープリサーチおよびウェブ抽出モジュールです。

トークン効率の高いウェブ検索、信頼性の高いボット対策、必要に応じた人間参加型(HITL)フォールバックを必要とするエージェントのワークロード向けに設計されています。

MIT ライセンス Rust で構築 MCP


概要

CortexScout は、MCP(stdio)経由で検索、抽出、状態を保持するブラウザー自動化機能を提供する、単一のセルフホスト可能な Rust バイナリです。オプションで HTTP サーバーも利用できます。出力形式は構造化されており、後続の LLM での利用に最適化されています。

レート制限、ボット対策チャレンジ、JavaScript を多用するページなど、ウェブ検索で実際に起こり得る問題に対応できるよう、段階的なフォールバックを備えています。ネイティブ検索 → Chromium CDP レンダリング → 状態を保持する E2E テスト → HITL ワークフローの順に切り替わります。


ツール(機能一覧)

分野MCP ツール/機能
検索web_search(URL の検出)、または web_search(include_content=true)(1 回の呼び出しで検索+コンテンツ取得)
取得とクロール`web_fetch(mode="single"
抽出extract_fields(主要な構造化抽出)
自動化scout_browser_automate / browser_automate(状態を保持するオールインワンツール)、scout_agent_profile_auth、scout_browser_close
ボット対策CDP レンダリング、プロキシのローテーション、ブロック検知に対応した再試行
HITLvisual_scout、`hitl_web_fetch(auth_mode="challenge"
メモリmemory_search(LanceDB を基盤とするリサーチ履歴)
ディープリサーチdeep_research(複数段階の検索+スクレイピング+統合)

レガシー名は、互換性エイリアスとして引き続き呼び出せます(web_search_json、web_fetch_batch、web_crawl、fetch_then_extract、human_auth_session)。エージェントには、上記の統合された主要ツールを優先して使用することを推奨します。

エコシステムとの統合

現在、CortexScout はスタンドアロンツールとして動作しますが、マルチエージェントのスケーリング、検索アーティファクトの共有、ガバナンスの一元化を実現するため、CortexDB および CortexStudio との統合を想定して設計されています。


🎭「Playwright Killer」(ステートフルなブラウザー自動化)

CortexScout には、AI エージェント専用に設計された、ステートフルな CDP 自動化エンジンが組み込まれており、E2E テストのワークフローで Playwright や Cypress などの重量級フレームワークを完全に置き換えます。

  • サイレントなオムニツール(scout_browser_automate):ブラウザーツールを何十個も呼び出す代わりに、エージェントは steps の配列を 1 つ渡します。ランタイムは 1 回の呼び出しで、Playwright 形式のアクション群に対応するようになりました。ナビゲーション、ホバー/クリック/入力/待機、ロケーターを使ったアクション、アサーション、タブ、スクリーンショット/PDF、ファイルのアップロード、フォーム入力、ダイアログポリシー、座標を使ったマウス操作、ルートのモック、コンソール/ネットワークのキャプチャ、Cookie/ストレージの CRUD が含まれます。
  • 永続的なエージェントプロファイル:自動化は専用の分離されたプロファイル(~/.cortex-scout/agent_profile)を使用し、バックグラウンドでサイレントに実行されます(--headless=new)。Cookie、localStorage、セッション状態をツール呼び出し間で保持し、アクティブなデスクトップブラウザーとの SingletonLock の競合は発生しません。
  • QA モック、トレース、検証エンジン:エージェントは、レスポンスヘッダーの上書き/削除に対応したルートモック(mock_api、route_list、unroute)を設定したり、フローをトレース(trace_start、trace_stop、trace_export)したり、コンソール/ネットワークログをキャプチャしたり、ブラウザー状態をチェックポイントとして保存したりできます。また、CSS とロケーターを使ったアサーション、および Playwright 形式の検証ヘルパーを実行できます。
  • エージェント認証ポータル(scout_agent_profile_auth):サイレントなエージェントが新しいドメインで CAPTCHA や複雑な OAuth ログイン(Google/Microsoft など)に遭遇すると、このツールはエージェントのプロファイルを表示ウィンドウで起動します。CAPTCHA を一度解くと Cookie が保存され、以後エージェントは常にサイレントな自動化に戻ります。
Playwright 形式の対応範囲
機能領域Cortex Scout のアクション
ナビゲーションと入力navigate、navigate_back、click、hover、type、press_key、scroll、wait_for、wait_for_selector、wait_for_locator
ロケーターと検証click_locator、type_locator、assert、assert_locator、generate_locator、verify_element_visible、verify_text_visible、verify_list_visible、verify_value
タブとメディアtabs、resize、screenshot、snapshot、pdf_save、file_upload、fill_form、handle_dialog
ネットワークとモックnetwork_tap、network_dump、network_state_set、mock_api、route_list、unroute
ブラウザーの状態storage_clear、storage_state_export、storage_state_import、storage_checkpoint、storage_rollback、cookie_*、localstorage_*、sessionstorage_*
低レベルのポインター操作mouse_click_xy、mouse_down、mouse_move_xy、mouse_drag_xy、mouse_up、mouse_wheel

生の Playwright MCP と比べた場合の主なトレードオフは、機能の範囲ではなくパッケージングです。Cortex Scout はブラウザー機能を 1 つのステートフルなオムニツールにまとめるため、複数ステップのフローを調整するためにエージェントが費やすターン数とトークン数を削減できます。

ボット対策の有効性と検証

このリポジトリには、代表的な保護対象に対する抽出フローとHITLフローを検証する、取得済みの証拠資料が含まれています。

対象保護証拠備考
LinkedInCloudflare + AuthJSON · スニペット認証で保護された掲載情報の抽出
TicketmasterCloudflare TurnstileJSON · スニペットチャレンジ処理後の抽出
AirbnbDataDomeJSON · スニペットボット対策下での大量の検索結果
UpworkreCAPTCHAJSON · スニペット保護された掲載情報の取得
AmazonAWS ShieldJSON · スニペット検索結果の抽出
nowsecure.nlCloudflareJSON手動での戻り経路を検証済み

手法と未加工の出力については、proof/README.mdを参照してください。


クイックスタート

オプションA — ビルド済みバイナリ

GitHub Releasesから最新のリリースアセットをダウンロードし、次のいずれかを実行します。

  • cortex-scout-mcp — MCP stdio サーバー(VS Code/Cursor/Claude Desktopに推奨)
  • cortex-scout — オプションのHTTPサーバー(デフォルトポートは5000。--port、PORT、またはCORTEX_SCOUT_PORTで変更できます)

ヘルスチェック(HTTPサーバー):

./cortex-scout --port 5000
curl http://localhost:5000/health
オプションB — ソースからビルド

まずprotocをインストールしてください。lance-encodingはリリースビルド時にProtocol Buffersを使用するため、protocがPATH上にある必要があります。

  • macOS:brew install protobuf
  • Ubuntu/Debian:sudo apt-get install -y protobuf-compiler
  • Fedora:sudo dnf install -y protobuf-compiler

基本ビルド(検索、スクレイピング、詳細なリサーチ、メモリ):

git clone https://github.com/cortex-works/cortex-scout.git
cd cortex-scout
cargo build --release --manifest-path mcp-server/Cargo.toml --bin cortex-scout-mcp

マニフェストのパスが明示されているため、リポジトリのルートから実行できます。

フルビルド(hitl_web_fetch/可視ブラウザーHITLを含む):

cargo build --release --manifest-path mcp-server/Cargo.toml --all-features --bin cortex-scout-mcp

オプションのHTTPサーバーバイナリも必要な場合は、cargo build --release --bin cortex-scoutで明示的にビルドしてください。

ローカルMCPのスモークテスト:

python3 publish/ci/smoke_mcp.py

これは、ローカルのcortex-scout-mcpバイナリに対して、改行区切りJSON-RPCのstdioセッションを実行し、安全なサンプル入力を使って主要な公開ツールをテストします。


MCP連携(VS Code/Cursor/Claude Desktop)

MCP設定にサーバーエントリを追加してください。

VS Code(mcp.json — グローバル設定、またはmcp.servers配下のsettings.json):

以下のハードタイムアウトガード用変数は、MCP設定で必須です。問題のあるページ、ブラウザーの起動停止、スクレイピング段階の停止によって、MCPセッション全体が無期限に開いたままになるのを防ぐ安全策です。

// mcp.json (global): top-level key is "servers"
// settings.json (workspace): use "mcp.servers" instead
{
  "servers": {
    "cortex-scout": {
      "type": "stdio",
      "command": "env",
      "args": [
        "RUST_LOG=warn",
        "CORTEX_SCOUT_TOOL_TIMEOUT_SECS=90",
        "CORTEX_SCOUT_TOOL_TIMEOUT_SECS_SCRAPE_URL=90",
        "CORTEX_SCOUT_TOOL_TIMEOUT_SECS_SEARCH_STRUCTURED=120",
        "CORTEX_SCOUT_TOOL_TIMEOUT_SECS_VISUAL_SCOUT=45",
        "CORTEX_SCOUT_BROWSER_LAUNCH_TIMEOUT_SECS=12",
        "CORTEX_SCOUT_BROWSER_TAB_PROBE_TIMEOUT_SECS=4",
        "CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS=20",
        "CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS_CDP_INITIAL_ATTEMPT=25",
        "CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS_CDP_RETRY_ATTEMPT=25",
        "CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS_FORCED_CDP_ATTEMPT=25",
        "CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS_NATIVE_CDP_FALLBACK=25",
        "SEARCH_ENGINES=google,bing,duckduckgo,brave",
        "LANCEDB_URI=/YOUR_PATH/cortex-scout/lancedb",
        "HTTP_TIMEOUT_SECS=30",
        "MAX_CONTENT_CHARS=10000",
        "/YOUR_PATH/cortex-scout/mcp-server/target/release/cortex-scout-mcp"
      ]
    }
  }
}

デフォルトの動作は直接接続(プロキシなし)です。プロキシツールを利用する場合に限り、IP_LIST_PATHとPROXY_SOURCE_PATHを追加してください。通常のトラフィックをプロキシ経由にせずにproxy_controlを利用するには、IP_LIST_PATHに空のip.txtファイルを指定し、必要に応じてエージェントに入力させます。

重要: 常にRUST_LOG=warnを使用し、infoは使用しないでください。infoレベルでは、サーバーはリクエストごとに数百行のログをstderrに出力するため、stderrを監視するMCPクライアントに支障をきたすことがあります。

Windows: Windowsにはenvコマンドがありません。代わりにcommand+envオブジェクト形式を使用してください。詳細はdocs/IDE_SETUP.mdを参照してください。

詳細なリサーチを行う場合(OpenRouter/OpenAI互換API経由のLLMによる統合):

{
  "servers": {
    "cortex-scout": {
      "type": "stdio",
      "command": "env",
      "args": [
        "RUST_LOG=warn",
        "CORTEX_SCOUT_TOOL_TIMEOUT_SECS=90",
        "CORTEX_SCOUT_TOOL_TIMEOUT_SECS_SCRAPE_URL=90",
        "CORTEX_SCOUT_TOOL_TIMEOUT_SECS_SEARCH_STRUCTURED=120",
        "CORTEX_SCOUT_TOOL_TIMEOUT_SECS_VISUAL_SCOUT=45",
        "CORTEX_SCOUT_BROWSER_LAUNCH_TIMEOUT_SECS=12",
        "CORTEX_SCOUT_BROWSER_TAB_PROBE_TIMEOUT_SECS=4",
        "CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS=20",
        "CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS_CDP_INITIAL_ATTEMPT=25",
        "CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS_CDP_RETRY_ATTEMPT=25",
        "CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS_FORCED_CDP_ATTEMPT=25",
        "CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS_NATIVE_CDP_FALLBACK=25",
        "SEARCH_ENGINES=google,bing,duckduckgo,brave",
        "LANCEDB_URI=/YOUR_PATH/cortex-scout/lancedb",
        "HTTP_TIMEOUT_SECS=30",
        "MAX_CONTENT_CHARS=10000",
        "OPENAI_BASE_URL=https://openrouter.ai/api/v1",
        "OPENAI_API_KEY=sk-or-v1-...",
        "DEEP_RESEARCH_LLM_MODEL=moonshotai/kimi-k2.5",
        "DEEP_RESEARCH_ENABLED=1",
        "DEEP_RESEARCH_SYNTHESIS=1",
        "DEEP_RESEARCH_SYNTHESIS_MAX_TOKENS=4096",
        "/YOUR_PATH/cortex-scout/mcp-server/target/release/cortex-scout-mcp"
      ]
    }
  }
}

複数IDE向けガイド:docs/IDE_SETUP.md


設定(cortex-scout.json)

バイナリと同じディレクトリ(またはリポジトリのルート)にcortex-scout.jsonを作成します。すべてのフィールドは任意で、環境変数はフォールバックとして使用されます。

{
  "deep_research": {
    "enabled": true,
    "llm_base_url": "http://localhost:1234/v1",
    "llm_api_key": "",
    "llm_model": "lfm2-2.6b",
    "synthesis_enabled": true,
    "synthesis_max_sources": 3,
    "synthesis_max_chars_per_source": 800,
    "synthesis_max_tokens": 1024
  }
}

主な環境変数

コア
変数デフォルト説明
RUST_LOGwarnログレベル。MCP stdio では warn のままにしてください。info にすると stderr に大量のログが出力され、MCP クライアントが混乱します
HTTP_TIMEOUT_SECS30リクエストごとの読み取りタイムアウト(秒)
HTTP_CONNECT_TIMEOUT_SECS10TCP 接続タイムアウト(秒)
OUTBOUND_LIMIT16同時に確立できるアウトバウンド HTTP 接続の最大数
MAX_CONTENT_CHARS10000スクレイピングしたページごとに返す最大文字数
CORTEX_SCOUT_TOOL_TIMEOUT_SECSツールごとに設定すべての MCP/HTTP ツール呼び出しに対する絶対的な上限時間。超過すると、Cortex Scout はツールをキャンセルし、ハングする代わりに構造化されたタイムアウト応答を返します
CORTEX_SCOUT_TOOL_TIMEOUT_SECS_<TOOL>未設定ツールごとの上書き設定。例:CORTEX_SCOUT_TOOL_TIMEOUT_SECS_SCRAPE_URL=90 または CORTEX_SCOUT_TOOL_TIMEOUT_SECS_VISUAL_SCOUT=20
CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECSステージごとに設定CDP フェッチ、ネイティブスクレイピング、セマンティックな刈り込み、履歴の記録など、負荷の高いスクレイピングステージで共有されるタイムアウト
CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS_<STAGE>未設定ステージごとの上書き設定。例:CORTEX_SCOUT_SCRAPE_STAGE_TIMEOUT_SECS_CDP_INITIAL_ATTEMPT=30
ブラウザー/ボット対策
変数デフォルト説明
CHROME_EXECUTABLE自動検出Chromium/Chrome/Brave のバイナリへのパスを上書きします
SEARCH_CDP_FALLBACKtrueブロックされた場合、ネイティブ Chromium CDP 経由で検索エンジンのフェッチを再試行します
SEARCH_TIER2_NON_ROBOT未設定1 を設定すると、最後の手段として hitl_web_fetch を検索のエスカレーションに使用できます
MAX_LINKS100ページのクロールでたどるリンクの最大数
検索
変数デフォルト説明
SEARCH_ENGINESgoogle,bing,duckduckgo,brave有効な検索エンジン(カンマ区切り)
SEARCH_MAX_ENGINES_PER_QUERY3ヘルスベースのローテーションで次の検索エンジン群が選ばれる前に、1 回の検索でクエリを送信する検索エンジンの最大数
SEARCH_MAX_RESULTS_PER_ENGINE10統合/重複排除の前に、検索エンジンごとに取得する結果数
SEARCH_ENGINE_STAGGER_MS125ボット対策の一時的な制限を引き起こす集中アクセスを減らすため、検索エンジンごとのリクエスト開始間に設ける遅延
SEARCH_COMMUNITY_TRIGGER_RESULTS4通常の検索結果がこの数を下回る場合にのみ、Reddit/HN のコミュニティ検索を実行します
SEARCH_SHARED_CACHEtrue同じホスト上の並行する Cortex Scout プロセス間で、成功した検索結果を共有します
SEARCH_SHARED_CACHE_TTL_SECS300プロセス間で共有される検索キャッシュの TTL
SEARCH_HOST_MIN_GAP_MS検索エンジンに応じて調整同じホスト IP から検索エンジンに送信するリクエスト間に設ける、プロセス間で共有される最小間隔
SEARCH_HOST_MAX_GAP_MS検索エンジンに応じて調整同じホスト IP から検索エンジンに送信するリクエスト間に設ける、プロセス間で共有される最大間隔/ジッター
SCRAPE_HOST_MIN_GAP_MS900同じホストへのスクレイピングリクエスト間に設ける、プロセス間で共有される最小間隔
SCRAPE_HOST_MAX_GAP_MS1800同じホストへのスクレイピングリクエスト間に設ける、プロセス間で共有される最大間隔/ジッター
CORTEX_SCOUT_HOST_GUARD_DISABLEDfalseホストレベルで共有されるスロットリングを明示的に無効にする場合にのみ、1 を設定します
プロキシ
変数デフォルト説明
IP_LIST_PATH—ip.txt への任意のパス(1 行につき 1 つのプロキシ:http://、socks5://)。プロキシ機能を完全に無効にするには未設定のままにします。プロキシツールを利用可能にしつつデフォルトでは無効にするには、空のファイルを指定します
PROXY_SOURCE_PATH—proxy_source.json への任意のパス(proxy_control grab で使用)
セマンティックメモリ(LanceDB)
変数デフォルト説明
LANCEDB_URI—永続的な調査メモリ用のディレクトリパス。無効にするには省略します
CORTEX_SCOUT_MEMORY_DISABLED0LANCEDB_URI が設定されていてもメモリを無効にするには、1 を設定します
MODEL2VEC_MODEL組み込み埋め込みに使用する HuggingFace モデル ID またはローカルパス(例:minishlab/potion-base-8M)
Deep Research
変数デフォルト説明
DEEP_RESEARCH_ENABLED10 に設定すると、実行時に deep_research ツールが無効になります
OPENAI_API_KEY—LLM 合成用の API キーです。キー不要のローカルエンドポイント(Ollama)を使う場合は省略します
OPENAI_BASE_URLhttps://api.openai.com/v1OpenAI 互換のエンドポイント(OpenRouter、Ollama、LM Studio など)です
DEEP_RESEARCH_LLM_MODELgpt-4o-miniモデル識別子です(エンドポイントがサポートしている必要があります)
DEEP_RESEARCH_SYNTHESIS10 に設定すると、LLM 合成をスキップします(検索とスクレイピングのみ)
DEEP_RESEARCH_HOP_TIMEOUT_SECS90ホップごとのスクレイピングのタイムアウトです。タイムアウトに達すると、MCP 呼び出し元のタイムアウトまで待機する代わりに、deep_research は部分的な結果を返します
DEEP_RESEARCH_SYNTHESIS_MAX_TOKENS1024合成応答の最大トークン数です。大きなコンテキストを扱うモデルでは 4096 以上を指定してください
DEEP_RESEARCH_SYNTHESIS_MAX_SOURCES8LLM 合成に渡すソース文書の最大数です
DEEP_RESEARCH_SYNTHESIS_MAX_CHARS_PER_SOURCE2500合成用に各ソースから抽出する最大文字数です
HTTP サーバーのみ
変数デフォルト説明
CORTEX_SCOUT_PORT / PORT5000HTTP サーバーのバイナリ(cortex-scout)が使用する待ち受けポートです

エージェントのベストプラクティス

推奨される運用フロー:

  1. 新たな調査を開始する前に memory_search を呼び出します。類似度が 0.60 以上で skip_live_fetch が true の場合は、ライブ取得をスキップします。
  2. トピックの発見には、URL のみを検索する web_search、または検索と上位結果のスクレイピングを 1 回の往復で行う web_search(include_content=true) を使用します。
  3. 既知の URL には、output_format="clean_json" を指定して web_fetch(mode="single") を使用し、関連するセクションだけを取得するために query と strict_relevance=true を設定します。
  4. 403/429 が発生した場合は、action:"grab" を指定して proxy_control を呼び出し、プロキシリストを更新してから、use_proxy:true を指定して再試行します。
  5. 認証が必要なページでは、auth_risk_score >= 0.4 の場合に visual_scout を実行し、CAPTCHA の壁には hitl_web_fetch(auth_mode="challenge")、ログインの壁には hitl_web_fetch(auth_mode="auth") を使用します。
  6. ディープリサーチでは、deep_research が複数ホップの検索、スクレイピング、LLM 合成を自動で処理します。実行ごとのコスト予算に応じて depth(1~3)と max_sources を調整します。
  7. UI の自動化と E2E テストには、タブ、ロケーターのアサーション、スクリーンショット/PDF、ルートモック、ファイルアップロード、ブラウザー状態のセットアップに対応したステップ配列とともに scout_browser_automate を使用します。初回ログイン/CAPTCHA によってブロックされた場合は、scout_agent_profile_auth を呼び出してから、自動化を再開します。

FAQ

Ollama や qwen3.5 で deep_research が失敗したり、ヒューリスティックモードにフォールバックしたりすることがあるのはなぜですか?

推論機能を備えた一部のローカルモデルは、message.reasoning に値が設定されている一方で message.content が空の、OpenAI 互換の /v1/chat/completions 応答を返します。このパターンが検出されると、Cortex Scout はローカル Ollama エンドポイントに対して、think:false を指定したネイティブの /api/chat を使って再試行するようになりました。

ローカルの 4B クラス Ollama モデル向けの推奨設定:

  • cortex-scout.json の llm_api_key: "" は有効で、「認証不要」を意味します
  • synthesis_max_sources は 1-2 に設定します
  • synthesis_max_chars_per_source は 600-1000 程度に設定します
  • synthesis_max_tokens は 512-768 程度に設定します

それでも合成が遅い、または不安定な場合は、トークン上限を増やす前に synthesis_max_sources を減らしてください。

Chromium のプロファイルロックエラーが表示されるのはなぜですか?

各ヘッドレスリクエストでは一意の一時プロファイルが使用されるため、通常のスクレイピングと deep_research ではプロファイルロックの競合が発生しません。実際のブラウザプロファイルを使用する HITL フロー(hitl_web_fetch など)では、同時に実行したり、同じプロファイルで Brave/Chrome を開いていたりすると、ロックが発生する場合があります。回避するには、HITL の呼び出しを一度に 1 つずつ実行し、プロファイルを再利用する前にすべてのブラウザーウィンドウを閉じてください。

チェックリスト:

  1. 最近のビルド(2026-03-05 以降)を使用します
  2. ログイン済みセッションが必要な場合を除き、永続的なプロファイルパスは使用しないでください
  3. HITL/プロファイルのフローは順番に実行します
  4. プロファイルを再利用する前に、すべてのブラウザーウィンドウを閉じます
  5. 並行調査では、Cortex Scout が独自の一時プロファイルを使用するようにします
MCP クライアントは接続できますが、ツールがすぐに失敗したりタイムアウトしたりします。まず何を確認すればよいですか?

何よりも先に、次の点を確認してください。

  1. info ではなく RUST_LOG=warn を使用します。
  2. macOS/Linux の env 形式の設定では、環境変数の割り当ての後にバイナリパスを直接指定します。mcp.json の args に "--" を挿入しないでください。
  3. Windows では env を使用せず、command と env オブジェクトを使用します。
  4. バイナリパスが最新のビルドを指していることを確認します。

バージョン管理と変更履歴

CHANGELOG.md を参照してください。


ライセンス

MIT。LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。