mcpField
S
Scrape.ly

Scrape.ly

リモート
scrape.lyブラウザ自動化01 日前に更新
リポジトリ公式サイト

Scrape.ly について

Scrape.lyのMCPサーバーは、AIエージェントによるActorの検索・実行と、出力やストレージの確認を可能にします。タスク管理とドキュメント検索にも対応し、ホスト型サービスまたはローカルのstdioサーバーとして利用できます。

主な機能

  1. 01Actorの検索とスキーマの確認
  2. 02Actorの実行と進捗の追跡
  3. 03データセット、キーバリューストア、ログの読み取り
  4. 04保存済みタスクとオートメーションの管理
  5. 05Scrape.lyとCrawleeのドキュメント検索

活用シーン

  1. 01データ収集タスクに使うActorの検索
  2. 02Actorを実行してデータセットの結果を確認
  3. 03実行状態、出力、ログの確認
  4. 04Scrape.lyまたはCrawleeのドキュメント検索

MCP 対応

Actor、実行、ストレージ、タスク、オートメーション、ドキュメントのツールをMCPクライアントに公開します。ホスト型HTTPエンドポイントへの接続、またはローカルstdioサーバーの実行が可能で、選択したScrape.ly APIエンドポイントはMCPリソースとして読み取れます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.scrape.ly
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://mcp.scrape.ly認証が必要
パッケージ
pypiscrapely-mcp0.3.15

ツール

詳細

scrapely-mcp

Scrape.ly 向けの MCP サーバーです。AI エージェントと MCP クライアントが Scrape.ly アカウントにアクセスし、Store で Actor を検索したり、README と入力スキーマを読み取ったり、実行したり、実行状況を確認したり、データセット、キーと値のストア、ログから結果を読み取ったりできます。また、保存済みタスクの管理や、Scrape.ly および Crawlee のドキュメントの検索もできます。

ドキュメント全文:scrape.ly/docs/mcp。

同じパッケージを 2 通りの方法で実行できます。

  • ホステッド:scrapely-mcp-http。マルチテナント対応のストリーミング可能な HTTP サーバーです。Scrape.ly は API の背後でこのサーバーを実行しています(https://mcp.scrape.ly)。ほとんどのユーザーはこの URL に接続するだけで、何もインストールする必要はありません。
  • ローカル:scrapely-mcp-server。お使いのマシン上でデスクトップ MCP クライアントが起動する stdio サーバーです。

ホステッドサーバーに接続する

クライアントの接続先として https://mcp.scrape.ly を指定します。

  • MCP 認証に対応したクライアントは、自動的に OAuth フローを検出してサインインを求めます。
  • それ以外の場合は、API トークンをヘッダーとして送信します:Authorization: Bearer <token>。
  • ヘッダーを設定できないクライアントでは、URL に ?token=<token> を追加できます。URL はログに残ることが多いため、ヘッダーを使うことをおすすめします。

JSON 設定を受け取るクライアントの例:

{
  "mcpServers": {
    "scrapely": {
      "url": "https://mcp.scrape.ly",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

ローカルで実行する(stdio)

Python 3.11 以降が必要です。

uvx --from scrapely-mcp scrapely-mcp-server
# or
pip install scrapely-mcp
scrapely-mcp-server

トークンは SCRAPELY_TOKEN から取得されます。それ以外の場合は、~/.scrapely/credentials.json または ~/.scrapely/auth.json の token フィールドから取得されます。選択したすべてのツールがトークンなしで動作する場合(search-actors、fetch-actor-details、およびドキュメントツール)を除き、トークンが必要です。

{
  "mcpServers": {
    "scrapely": {
      "command": "uvx",
      "args": ["--from", "scrapely-mcp", "scrapely-mcp-server"],
      "env": { "SCRAPELY_TOKEN": "YOUR_TOKEN" }
    }
  }
}

オプション:

フラグ説明
--tools a,b有効にするツールのカテゴリまたはツール名です。デフォルトのセットを置き換えます。
--actors user/actor,...これらの Actor を専用のツールとして公開します。
--ui auto|apps|defaultMCP Apps のウィジェットモードです(このリリースではウィジェットは無効です。以下を参照してください)。
--telemetry-enabled使用状況のテレメトリーを有効にします(書き込みキーも必要です。以下を参照してください)。
--telemetry-env PROD|DEV使用するテレメトリー書き込みキーの環境変数です。

ツール

デフォルトのカテゴリー:actors、docs、runs、storage、tasks、automations。dev カテゴリー(report-problem)はデフォルトで無効です。

カテゴリーツール
actorssearch-actors、fetch-actor-details、call-actor
docssearch-scrapely-docs、fetch-scrapely-docs
runsget-actor-run、get-actor-output、get-actor-run-list、get-actor-log、abort-actor-run
storageget-actor-output、get-dataset、get-dataset-items、get-dataset-schema、get-key-value-store、get-key-value-store-keys、get-key-value-store-record、get-dataset-list、get-key-value-store-list
taskscreate-actor-task、get-actor-task、update-actor-task、publish-actor-task、unpublish-actor-task
automationslist-saved-inputs、run-saved-input、list-automations、run-automation
devreport-problem

search-scrapely-docs は、デフォルトで scrape.ly/docs の Scrape.ly ドキュメント(docSource: "scrapely")を検索します。または、Crawlee ドキュメント(crawlee-js、crawlee-py)を検索します。fetch-scrapely-docs はページを Markdown として返します。https://scrape.ly/docs および https://crawlee.dev 配下のページを受け付けます。

call-actor、get-actor-run、または Actor ツールが有効になると、get-actor-run、get-actor-output、get-dataset-items、get-key-value-store-record、abort-actor-run も追加されます。

call-actor は最大 waitSecs(0~45、デフォルトは30)まで待機し、実行ステータスとストレージ ID を返します。その後、エージェントは get-actor-output(runId または datasetId を渡します)で結果を取得します。データセットアイテムのページ(offset、最大1000のlimit(デフォルトは100)、およびドット記法を使用するfields)と、実行のOUTPUTレコードを返します。長いテキスト値は切り詰められ、返信を小さく保つため、ページに含まれるアイテム数がlimitを下回る場合があります。続きの位置はhasMoreとnextOffsetで示されます。より細かく制御する場合は、引き続きget-dataset-itemsを利用できます。プロトコルタスクに対応するクライアントは、長時間実行タスクとしてcall-actorを実行し、実行終了時に結果を取得できます。実行を待機している間は進行状況通知が送信され、リクエストをキャンセルすると実行が中止されます。

Scrape.ly API の任意のGETエンドポイントは、完全な URL を指定してresources/readでも読み取れます。例:https://api.scrape.ly/v2/datasets/<id>/items?limit=20。

ホスト型サーバー

scrapely-mcp-http --host 0.0.0.0 --port 8000
パス用途
/mcp(およびその他の任意のパス)MCP エンドポイント(ストリーミング可能な HTTP。ステートレスリクエストも2026-07-28から処理されます)
/.well-known/oauth-protected-resourceOAuth 保護リソースのメタデータ(/mcp サフィックス配下にもあります)
/healthzヘルスチェック。{"status":"ok"}

MCP エンドポイントの URL パラメーター:tools、actors、maxActorMemoryBytes、ui、payment(skyfire またはx402)、telemetry-enabled、token。

各セッションには、そのセッションを開始した認証情報の SHA-256 フィンガープリントに紐づく独自のサーバーインスタンスが割り当てられます。異なる認証情報によるリクエストには、そのセッションが存在しない場合と同様に応答します。HTTP サーバーでSCRAPELY_TOKENが使用されることはありません。

コンテナーイメージの定義はDockerfileにあります(docker build --build-arg SOURCE=local -t scrapely-mcp .)。

設定

変数デフォルト値用途
SCRAPELY_TOKENnonestdio サーバー用のトークン
SCRAPELY_API_BASE_URLhttps://api.scrape.ly外部への呼び出しに使用する API オリジン
SCRAPELY_PUBLIC_API_BASE_URLderivedクライアントに表示され、OAuth の発行者として使用される API オリジン
SCRAPELY_STORE_URLhttps://scrape.ly/storeStore リンクのベース URL
SCRAPELY_STANDBY_BASE_URLAPI originMCP サーバー Actor のベース URL
SCRAPELY_MCP_HOST / SCRAPELY_MCP_PORT0.0.0.0 / 8000HTTP バインドアドレス
SCRAPELY_ACTORS / SCRAPELY_TOOLSnoneHTTP サーバーのデフォルトのツール選択
SCRAPELY_MCP_UI / UI_MODEautoウィジェットモード
SCRAPELY_MCP_SESSION_IDLE_TIMEOUT_SECS1800セッションのアイドルタイムアウト
SCRAPELY_MCP_MAX_SESSIONS10000セッション上限
SCRAPELY_MCP_MAX_SESSIONS_PER_CREDENTIAL50提示されたトークンごとのオープンセッション数。上限を超えると、呼び出し元自身の最も古いアイドルセッションが閉じられるか、リクエストが 429 になります
SCRAPELY_MCP_MAX_SESSIONS_PER_IP100クライアント IP ごとのオープンセッション数(API サーバーの /mcp プロキシが設定する、最後の X-Forwarded-For ホップ)
SCRAPELY_MCP_MAX_SESSIONS_PER_IPNET400クライアントの IPv6 /48 ごとのオープンセッション数(IP ごとの上限では、IPv6 は /64 単位でグループ化されます)
SCRAPELY_MCP_MAX_SELECTED_ACTORS501 つの ?actors= / ?tools= 選択で指定できる、重複のない Actor の最大数(これを超えると 400)
SCRAPELY_MCP_VALIDATION_BUDGET_SECS21 回のツール呼び出しの引数検証にかけられる時間。これを超える呼び出しは、大きすぎるか複雑すぎるとして拒否されます
SCRAPELY_MCP_MAX_REMOTE_RESPONSE_BYTES10485760MCP サーバー Actor への 1 接続が返せるバイト数の上限
SCRAPELY_MCP_MAX_REMOTE_TOOL_LIST_BYTES4194304MCP サーバー Actor への 1 回の tools/list 接続で許可されるバイト数の上限
SCRAPELY_MCP_MAX_ACTOR_TOOL_BYTES10485761 つの Actor がセッションに追加できるツール定義のサイズ。上限を超えた Actor はスキップされます
SCRAPELY_MCP_MAX_SESSION_TOOL_BYTES41943041 つのセッションが保持できる Actor ツール定義のサイズ。上限を超えた Actor はスキップされます
SCRAPELY_MCP_MAX_TOTAL_TOOL_BYTES67108864すべてのセッションが合計で保持できる Actor ツール定義のサイズ。収まらない新規セッションまたはリクエストは 503 になります
SCRAPELY_MCP_MAX_REMOTE_INFLIGHT_BYTES67108864MCP サーバー Actor へのすべてのオープン接続が同時に保持できるバイト数(タスクの結果が保存されるまで)。上限を超えた接続は再試行のヒントとともに失敗します
SCRAPELY_MCP_MAX_TOOL_RESULT_BYTES41943041 回のツール呼び出し(またはタスク)が返せる結果の最大サイズ。これを超えるとエラーになります
SCRAPELY_MCP_MAX_DATASET_PAGE_BYTES1048576ストレージツールが読み取る 1 ページのデータセットのバイト数。ページは最後の完全な項目の後で切り詰められます
SCRAPELY_MCP_MAX_RECORD_BYTES1048576インラインで読み取る 1 件のキーと値のレコードのバイト数。これを超えるレコードはダウンロードリンクとして返されます
SCRAPELY_MCP_MAX_TASKS_PER_SCOPE100セッション/認証情報ごとに保持するプロトコルタスク数。最も古い完了済みタスクから削除されます
SCRAPELY_MCP_MAX_TASKS_TOTAL10000合計で保持するプロトコルタスク数
SCRAPELY_MCP_MAX_TASK_RESULT_BYTES_PER_SCOPE16777216セッション/認証情報ごとに保持するタスク結果のサイズ。最も古いものから解放されます
SCRAPELY_MCP_MAX_TASK_RESULT_BYTES_TOTAL134217728合計で保持するタスク結果のサイズ。最も古いものから解放されます
SCRAPELY_MCP_TASK_RESULT_GRACE_SECS60tasks/result がタスク結果を最初に返してから、この時間が経過すると結果が解放されます
SCRAPELY_MCP_TASK_RETENTION_SECS900完了済みタスクは、完了後(または ttl の経過後)この時間が経過すると削除されます
SCRAPELY_MCP_REPORT_PROBLEM_BLOCKED_CLIENTSanthropic,claudereport-problem が表示されないクライアント
SCRAPELY_OFFICIAL_USERNAMESscrapelyScrape.ly による保守が表示されるユーザー名。API が maintainedByScrapely フラグを送信しない場合(古い API サーバー)に限ります
SCRAPELY_DOCS_URLhttps://scrape.ly/docsScrape.ly のドキュメント:search-index.json を通じて検索し、ページは Markdown として読み取ります
SCRAPELY_DOCS_CRAWLEE_JS_*、SCRAPELY_DOCS_CRAWLEE_PY_*public Crawlee DocSearch valuesCrawlee ドキュメントの検索
SCRAPELY_CONSOLE_BASE_URL / SCRAPELY_CONSOLE_TOKEN_PREFIXdisabledパーソナライズされたダッシュボードリンク
SCRAPELY_MCP_WIDGETS_ENABLED / SCRAPELY_MCP_WIDGET_ASSETS_DIRoffMCP Apps ウィジェット(実験的)
SCRAPELY_SEND_LEGACY_PAYMENT_HEADERtrueレガシーな決済プロトコルヘッダーも送信します
SKYFIRE_SELLER_SERVICE_IDnoneSkyfire の決済ヒントに表示されます
SCRAPELY_MCP_SESSION_LOGtrueScrape.ly API に送信されるセッションログ(下記参照)。false にすると無効になります
TELEMETRY_ENABLED、SCRAPELY_TELEMETRY_WRITE_KEY、SCRAPELY_TELEMETRY_ENDPOINToffオプトイン方式のテレメトリー
SENTRY_DSNnoneエラー報告(sentry extra をインストールしてください)
LOG_LEVELinfoログレベル(ログは stderr に出力されます)
テレメトリーは、有効化され、かつ書き込みキーが設定されている場合を除き、オフです。このパッケージにキーは同梱されていません。ログにトークン、決済トークン、決済署名が含まれることはありません。
セッションログと context パラメーター

すべてのツールは省略可能な context 文字列を受け取ります。これは、ユーザーの希望とツールを呼び出す理由を示す、AI による1~2文の説明です。引数の検証前に削除され、ツールにも Actor にも渡されません。これを送信しないクライアントも、これまでどおり動作します。

サーバーは、独自のトークンを使用して各セッションのアクティビティを Scrape.ly API に報告します。これにより Scrape.ly は、MCP サーバーがどのように使われ、何が失敗するかを確認できます。報告される情報は、クライアント名とバージョン、トランスポート、引数を含む各ツール呼び出し、context、ステータス、所要時間、結果の短い概要です。値はマスキングされず、そのまま送信および保存されるため、Scrape.ly に見られたくない秘密情報をツールの引数に含めないでください。オフにするには、SCRAPELY_MCP_SESSION_LOG=false を設定します。

ウィジェット

MCP Apps のウィジェットツール(search-actors-widget、fetch-actor-details-widget、call-actor-widget、get-actor-run-widget)は実装済みですが、デフォルトでは無効で、ウィジェットの HTML も同梱されていません。ウィジェットが無効の場合、すべてのクライアントには通常のツールセットが提供されます。

開発

uv venv && uv pip install -e ".[test]"
pytest

ライセンス

MIT。詳細は LICENSE をご覧ください。サードパーティーに関する通知は NOTICE に記載されています。

コメント

MCP は初めてですか?

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

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