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 集成