Scrape.ly

ly.scrape由 scrape.ly 發布官方發布者v0.3.15更新於 Nov 7, 2026

Find Actors in the Scrape.ly Store, run them, and read their datasets, key-value stores and logs.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取知識與記憶資料與分析

概覽

AI 產生的概覽

Scrape.ly 的 MCP 伺服器,讓助理在 Scrape.ly 商店中搜尋 Actor、執行它們,並讀取其資料集、鍵值儲存與日誌。

可以做什麼
  • 在商店中搜尋 Actor,讀取其說明文件與輸入結構,然後執行
  • 追蹤執行:狀態、執行清單、日誌、輸出以及中止執行
  • 讀取儲存:資料集、資料集項目與結構、鍵值儲存與記錄
  • 建立、更新、發布與取消發布已儲存的 Actor 任務
  • 列出並執行已儲存的輸入與自動化
  • 以 Markdown 形式搜尋與取得 Scrape.ly 及 Crawlee 文件
適用情境
適合讓助理依需求執行託管的網頁擷取器並把結果資料帶回對話,或在建立擷取流程時查閱 Scrape.ly 與 Crawlee 文件。
執行需求
可使用託管端點 mcp.scrape.ly,透過 OAuth 登入或 Authorization bearer 權杖連線;也可在本地以 Python 3.11 以上版本透過 stdio 執行。本地伺服器從 SCRAPELY_TOKEN 或憑證檔讀取權杖;僅搜尋、詳情與文件工具可不帶權杖。可用 SCRAPELY_API_BASE_URL 覆寫 API 位址。
安裝前請注意
權杖屬於憑證:優先使用 Authorization 標頭而非 URL 中的 token 參數,因為 URL 常被寫入日誌。工具呼叫、其參數及 context 字串預設會回報給 Scrape.ly API 並以原文儲存,請勿在參數中放入機密;可用 SCRAPELY_MCP_SESSION_LOG=false 關閉。執行 Actor 與自動化會消耗你的 Scrape.ly 帳戶資源,任務類工具會建立、更新與發布資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Scrape.ly,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/ly.scrape%2Fscrapely-mcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "scrape-ly": {
      "type": "http",
      "url": "https://mcp.scrape.ly/"
    }
  }
}

README

scrapely-mcp

An MCP server for Scrape.ly. It gives AI agents and MCP clients access to a Scrape.ly account: search the Store for Actors, read their README and input schema, run them, follow the runs, and read the results from datasets, key-value stores and logs. It can also manage saved tasks and search the Scrape.ly and Crawlee documentation.

Full documentation: scrape.ly/docs/mcp.

The same package runs in two ways:

  • Hosted: scrapely-mcp-http, a multi-tenant streamable HTTP server. Scrape.ly runs it behind the API at https://mcp.scrape.ly. Most users connect to that URL and never install anything.
  • Local: scrapely-mcp-server, a stdio server started by a desktop MCP client on your machine.

Connect to the hosted server

Point your client at https://mcp.scrape.ly.

  • Clients that support MCP authorization find the OAuth flow on their own and ask you to sign in.
  • Otherwise send your API token as a header: Authorization: Bearer <token>.
  • Clients that cannot set headers can append ?token=<token> to the URL. URLs tend to end up in logs, so prefer the header.

Example for a client that takes a JSON config:

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

Run locally (stdio)

Requires Python 3.11 or newer.

bash
uvx --from scrapely-mcp scrapely-mcp-server# orpip install scrapely-mcpscrapely-mcp-server

The token comes from SCRAPELY_TOKEN, or from the token field of ~/.scrapely/credentials.json or ~/.scrapely/auth.json. A token is required unless every selected tool works without one (search-actors, fetch-actor-details and the docs tools).

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

Options:

FlagMeaning
--tools a,bTool categories or tool names to enable. Replaces the default set.
--actors user/actor,...Expose these Actors as their own tools.
--ui auto|apps|defaultMCP Apps widget mode (widgets are disabled in this release, see below).
--telemetry-enabledOpt in to usage telemetry (also needs a write key, see below).
--telemetry-env PROD|DEVWhich telemetry write key variable to use.

Tools

Default categories: actors, docs, runs, storage, tasks, automations. The dev category (report-problem) is off by default.

CategoryTools
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 searches the Scrape.ly docs at scrape.ly/docs by default (docSource: "scrapely"), or the Crawlee docs (crawlee-js, crawlee-py). fetch-scrapely-docs returns a page as Markdown; it accepts pages under https://scrape.ly/docs and https://crawlee.dev.

Whenever call-actor, get-actor-run or an Actor tool is enabled, get-actor-run, get-actor-output, get-dataset-items, get-key-value-store-record and abort-actor-run are added as well.

call-actor waits up to waitSecs (0 to 45, default 30) and returns the run status and storage IDs; the agent then fetches the results with get-actor-output (pass the runId, or a datasetId). It returns a page of dataset items (offset, limit up to 1000, default 100, and fields with dot notation) plus the run's OUTPUT record. Long text values are cut and a page may hold fewer items than limit so the reply stays small; hasMore and nextOffset say where to continue. get-dataset-items remains available for finer control. Clients that support protocol tasks can run call-actor as a long-running task and collect the result when the run ends. Progress notifications are sent while a run is awaited, and cancelling the request aborts the run.

Any Scrape.ly API GET endpoint can also be read with resources/read using its full URL, for example https://api.scrape.ly/v2/datasets/<id>/items?limit=20.

Hosted server

bash
scrapely-mcp-http --host 0.0.0.0 --port 8000
PathPurpose
/mcp (and any other path)MCP endpoint (streamable HTTP; 2026-07-28 stateless requests are also served)
/.well-known/oauth-protected-resourceOAuth protected-resource metadata (also under /mcp suffix)
/healthzHealth check, {"status":"ok"}

URL parameters on the MCP endpoint: tools, actors, maxActorMemoryBytes, ui, payment (skyfire or x402), telemetry-enabled, token.

Each session gets its own server instance bound to the SHA-256 fingerprint of the credential that opened it; a request with a different credential is answered as if the session did not exist. SCRAPELY_TOKEN is never used by the HTTP server.

A container image definition is in Dockerfile (docker build --build-arg SOURCE=local -t scrapely-mcp .).

Configuration

VariableDefaultPurpose
SCRAPELY_TOKENnoneToken for the stdio server
SCRAPELY_API_BASE_URLhttps://api.scrape.lyAPI origin used for outbound calls
SCRAPELY_PUBLIC_API_BASE_URLderivedAPI origin shown to clients and used as OAuth issuer
SCRAPELY_STORE_URLhttps://scrape.ly/storeBase of Store links
SCRAPELY_STANDBY_BASE_URLAPI originBase for MCP-server Actors
SCRAPELY_MCP_HOST / SCRAPELY_MCP_PORT0.0.0.0 / 8000HTTP bind address
SCRAPELY_ACTORS / SCRAPELY_TOOLSnoneDefault tool selection of the HTTP server
SCRAPELY_MCP_UI / UI_MODEautoWidget mode
SCRAPELY_MCP_SESSION_IDLE_TIMEOUT_SECS1800Idle session timeout
SCRAPELY_MCP_MAX_SESSIONS10000Session limit
SCRAPELY_MCP_MAX_SESSIONS_PER_CREDENTIAL50Open sessions per presented token; over it the caller's own oldest idle session is closed, or the request gets 429
SCRAPELY_MCP_MAX_SESSIONS_PER_IP100Open sessions per client IP (last X-Forwarded-For hop, set by the API server's /mcp proxy)
SCRAPELY_MCP_MAX_SESSIONS_PER_IPNET400Open sessions per client IPv6 /48 (the per-IP cap groups IPv6 by /64)
SCRAPELY_MCP_MAX_SELECTED_ACTORS50Most distinct Actors one ?actors= / ?tools= selection may name (400 above it)
SCRAPELY_MCP_VALIDATION_BUDGET_SECS2Time one tool call's argument validation may take; a call over it is refused as too large or complex
SCRAPELY_MCP_MAX_REMOTE_RESPONSE_BYTES10485760Byte limit for what one connection to an MCP-server Actor may return
SCRAPELY_MCP_MAX_REMOTE_TOOL_LIST_BYTES4194304Byte limit for one tools/list connection to an MCP-server Actor
SCRAPELY_MCP_MAX_ACTOR_TOOL_BYTES1048576Tool definitions one Actor may add to a session; an Actor over it is skipped
SCRAPELY_MCP_MAX_SESSION_TOOL_BYTES4194304Actor tool definitions one session may keep; Actors past it are skipped
SCRAPELY_MCP_MAX_TOTAL_TOOL_BYTES67108864Actor tool definitions all sessions may keep together; a new session or request that does not fit gets 503
SCRAPELY_MCP_MAX_REMOTE_INFLIGHT_BYTES67108864Bytes all open connections to MCP-server Actors may hold together (task results until they are stored); a connection over it fails with a retry hint
SCRAPELY_MCP_MAX_TOOL_RESULT_BYTES4194304Largest result one tool call (or task) may return; a larger one becomes an error
SCRAPELY_MCP_MAX_DATASET_PAGE_BYTES1048576Bytes of one dataset page the storage tools read; a page is cut after its last complete item
SCRAPELY_MCP_MAX_RECORD_BYTES1048576Bytes of one key-value record read inline; a larger record is returned as a download link
SCRAPELY_MCP_MAX_TASKS_PER_SCOPE100Protocol tasks kept per session/credential; oldest finished ones are dropped first
SCRAPELY_MCP_MAX_TASKS_TOTAL10000Protocol tasks kept in total
SCRAPELY_MCP_MAX_TASK_RESULT_BYTES_PER_SCOPE16777216Task results kept per session/credential; the oldest are released first
SCRAPELY_MCP_MAX_TASK_RESULT_BYTES_TOTAL134217728Task results kept in total; the oldest are released first
SCRAPELY_MCP_TASK_RESULT_GRACE_SECS60A task result is released this long after tasks/result first returned it
SCRAPELY_MCP_TASK_RETENTION_SECS900Finished tasks are dropped this long after they finish (or after their ttl)
SCRAPELY_MCP_REPORT_PROBLEM_BLOCKED_CLIENTSanthropic,claudeClients that do not see report-problem
SCRAPELY_OFFICIAL_USERNAMESscrapelyUsernames shown as maintained by Scrape.ly, only when the API sends no maintainedByScrapely flag (older API servers)
SCRAPELY_DOCS_URLhttps://scrape.ly/docsScrape.ly docs: searched through its search-index.json, pages read as Markdown
SCRAPELY_DOCS_CRAWLEE_JS_*, SCRAPELY_DOCS_CRAWLEE_PY_*public Crawlee DocSearch valuesCrawlee docs search
SCRAPELY_CONSOLE_BASE_URL / SCRAPELY_CONSOLE_TOKEN_PREFIXdisabledPersonalised dashboard links
SCRAPELY_MCP_WIDGETS_ENABLED / SCRAPELY_MCP_WIDGET_ASSETS_DIRoffMCP Apps widgets (experimental)
SCRAPELY_SEND_LEGACY_PAYMENT_HEADERtrueAlso send the legacy payment-protocol header
SKYFIRE_SELLER_SERVICE_IDnoneShown in Skyfire payment hints
SCRAPELY_MCP_SESSION_LOGtrueSession log sent to the Scrape.ly API (see below); false turns it off
TELEMETRY_ENABLED, SCRAPELY_TELEMETRY_WRITE_KEY, SCRAPELY_TELEMETRY_ENDPOINToffOpt-in telemetry
SENTRY_DSNnoneError reporting (install the sentry extra)
LOG_LEVELinfoLog level (logs go to stderr)

Telemetry is off unless it is enabled and a write key is configured; the package ships no keys. Logs never contain tokens, payment tokens or payment signatures.

Session log and the context parameter

Every tool accepts an optional context string: one or two sentences from the AI on what the user wants and why it calls the tool. It is removed before the arguments are validated and never reaches the tool or the Actor; clients that do not send it work as before.

The server reports each session's activity to the Scrape.ly API with your own token, so Scrape.ly can see how the MCP server is used and what fails: the client name and version, the transport, each tool call with its arguments, the context, the status, the duration and a short summary of the result. Values are sent and stored as they are, nothing is masked, so do not put secrets in tool arguments you do not want Scrape.ly to see. Set SCRAPELY_MCP_SESSION_LOG=false to turn it off.

Widgets

MCP Apps widget tools (search-actors-widget, fetch-actor-details-widget, call-actor-widget, get-actor-run-widget) are implemented but disabled by default, and no widget HTML is bundled. With widgets disabled every client gets the plain tool set.

Development

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

License

MIT, see LICENSE. Third-party notices are in NOTICE.

來源:README.md,提交 5aec50e

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

2
  1. v0.3.15最新Nov 7, 2026
  2. v0.3.14Nov 4, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Scrape 整合