mcpField
A
apify-mcp-server

apify-mcp-server

远程服务
github.com/apify浏览器自动化13.5k1 天前更新
代码仓库

关于 apify-mcp-server

apify-mcp-server 将 Apify Actor 提供给 AI Agent,用于从网站和在线服务提取数据,并管理 Actor 及其运行。支持远程 Streamable HTTP 或本地 stdio 接入,也提供动态工具发现。

主要功能

  1. 01将 Actor 转为 MCP 工具
  2. 02动态发现 Actor
  3. 03抓取网页与提取数据
  4. 04管理运行、存储和计划
  5. 05支持多种付费方式

适用场景

  1. 01抓取社交媒体或搜索结果
  2. 02提取地图与电商网站数据
  3. 03检查 Actor 运行及日志
  4. 04为付费 Actor 运行付款

MCP 相关

该 MCP 服务根据 Actor 的输入模式生成工具,并提供 Actor 搜索、运行、存储和计划管理等能力。客户端可通过 OAuth 或 Bearer token 连接托管端点,也可使用 stdio 本地运行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.apify.com/
一键复制安装命令
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.apify.com/需要授权

工具

详细介绍

Apify MCP 服务
mcp.apify.com

NPM 最新版本 下载量 构建状态 smithery 徽章

Apify 模型上下文协议(MCP)服务 mcp.apify.com 可让你的 AI Agent 使用来自 Apify Store 的数千种现成抓取器、爬虫和自动化工具,从社交媒体、搜索引擎、地图、电商网站及其他任何网站提取数据。它支持 OAuth,因此你只需使用 URL,即可通过 Claude.ai 或 Visual Studio Code 等客户端连接。

🚀 使用托管的 Apify MCP 服务!

为获得最佳体验,请将你的 AI 助手连接到我们的托管服务 https://mcp.apify.com。托管服务支持最新功能,包括对结构化 Actor 结果推断输出架构;通过 stdio 在本地运行时则无法使用这些功能。

⚠️ 已移除旧版 SSE 传输。 https://mcp.apify.com/sse 端点已被移除,改用 Streamable HTTP。请将客户端迁移到 https://mcp.apify.com ——从配置中删除 /sse 后缀。

💰 此服务还支持 Agent 付款:从 AGI 购买代币即可运行任意 Actor,也可以通过 直接 x402(仅限按事件付费的 Actor)或 Skyfire 按请求付费。

Apify MCP Server 兼容 Claude Code, Claude.ai, Cursor, VS Code,以及任何遵循模型上下文协议的客户端。 详情请查看 MCP 客户端部分,或访问 MCP 配置页面。

Apify-MCP 服务

目录

🌐 认识 Apify MCP 服务

Apify MCP 服务允许 AI 助手使用任意 Apify Actor 作为工具来执行特定任务。 例如,它可以:

  • 使用 Facebook Posts Scraper 提取多个 Facebook 页面或个人资料中的帖子数据。
  • 使用 Google Maps Email Extractor 提取 Google Maps 中的联系信息。
  • 使用 Google Search Results Scraper 抓取 Google 搜索引擎结果页面(SERP)。
  • 使用 Instagram Scraper 抓取 Instagram 帖子、个人资料、地点、照片和评论。
  • 使用 RAG Web Browser 搜索网页、抓取排名前 N 的 URL,并返回其内容。
  • 使用 Web Fetch 获取任意 URL,并以 Markdown、纯文本、HTML 或链接的形式返回其内容,同时支持 JavaScript 渲染和反爬虫保护。

视频教程:将 8,000 多个 Apify Actors 和 Agents 集成到 Claude

Apify MCP 服务教程:将 5,000 多个 Apify Actors 和 Agents 集成到 Claude

🚀 快速开始

你可以通过两种方式使用 Apify MCP 服务:

HTTPS 端点(mcp.apify.com):通过 OAuth,或在请求中添加 Authorization: Bearer <APIFY_TOKEN> 标头,从 MCP 客户端连接。这是大多数使用场景的推荐方式。由于支持 OAuth,你只需使用 URL https://mcp.apify.com,即可从 Claude.ai 或 Visual Studio Code 等客户端连接。

  • https://mcp.apify.com 流式传输

标准输入/输出(stdio):适用于本地集成和 Claude for Desktop 客户端等命令行工具。

  • 将 MCP 客户端的服务命令设置为 npx @apify/actors-mcp-server,并将 APIFY_TOKEN 环境变量设置为你的 Apify API 令牌。
  • 查看 npx @apify/actors-mcp-server --help 了解更多选项。

如需设置 MCP 服务的详细说明,请参阅 Apify 文档。

🤖 MCP 客户端

Apify MCP 服务兼容所有遵循 Model Context Protocol 的 MCP 客户端,但不同客户端对动态工具发现和其他功能的支持程度可能有所不同。

你可以使用 Claude Desktop、Visual Studio Code 或 Apify Tester MCP Client 等客户端与 Apify MCP 服务交互。

访问 mcp.apify.com,为你偏好的客户端配置服务。

Apify-MCP-configuration-clients

已测试的客户端

🪄 即刻试用 Apify MCP

想要无需任何设置就试用 Apify MCP?

来看看 Apify Tester MCP Client。

这个交互式聊天界面让你无需进行本地设置,就能轻松探索 Apify MCP 的功能。 使用你的 Apify 账号登录,即可开始体验网页抓取、数据提取和自动化工具!

也可以使用 MCP bundle 文件(以前称为 Anthropic Desktop extension 文件或 DXT)一键安装:Apify MCP Server MCPB 文件

💰 Agent 式支付

你无需 Apify API token,即可使用 AGI、直接 x402 或 Skyfire 为 Actor 运行付费。

  • AGI(agi.apify.com)可通过 x402 或 MPP 支付铸造预付费 Apify API token。像使用普通 API token 一样,将该 token 用于 mcp.apify.com 和 api.apify.com,适用于任何 Actor,而不仅限于按事件付费的 Actor。新集成推荐使用此方式;请参阅下文的 AGI(推荐)。
  • 直接 x402 按请求使用 Base 上的 USDC 付款,无需单独的平台账号。该方式由 mcpc 完全支持(brew install apify/tap/mcpc 或 npm install -g @apify/mcpc)。我们使用 mcpc,因为它是少数原生支持最新功能和 x402 协议的 MCP 客户端之一。
  • Skyfire 使用 PAY token 付款,需要拥有已充值钱包的 Skyfire 账号。它不需要专用的 MCP 客户端;整个支付流程均通过 MCP 工具调用参数直接处理。

ℹ️ 适用范围: 直接 x402 和 Skyfire 均仅适用于按事件付费的 Actor,不支持 Standby Actor,并且按次运行结算,而不是铸造 token。

Agent 式支付的工作原理

Actor 运行费用各不相同,因此这两种支付方式都采用预付余额模式。支付流程分为四个步骤:

  1. 发现:Agent 使用 search-actors 或 fetch-actor-details 查找 Actor。这些调用免费。
  2. 预付款:运行付费 Actor 工具前,Agent 会为预付余额充值。
    • 直接 x402:mcpc 会自动签署一笔 $1.00 的 USDC 交易。
    • Skyfire:Agent 使用 Skyfire 的 create-pay-token 工具创建 PAY token(最低 $5.00)。
  3. 执行:Agent 调用 Actor 工具。
    • 直接 x402:由 mcpc 使用预付余额自动处理。
    • Skyfire:Agent 在 skyfire-pay-id 输入属性中显式传入 PAY token。
  4. 结算:工具返回 Actor 的结果。未使用的资金可留待后续运行使用。
    • 直接 x402:闲置 60 分钟后,服务会将任何未使用的余额退回到 Base 上的钱包。
    • Skyfire:token 到期时,Skyfire 会退还未使用的资金。

🪙 AGI(推荐)

AGI(Apify Agent General Interface)是自主 Agent 无需账号即可为 Apify 使用付费的推荐方式。通过 x402 或 MPP 一次性付款,即可获得有支出上限的预付费 Apify API token,并将其直接用于 mcp.apify.com 和 api.apify.com(Authorization: Bearer <token>),适用于任何 Actor。

完整协议、支持的支付方式和当前条款(最低金额、token 有效期、退款政策)请参阅 agi.apify.com/AGENTS.md,并将其视为唯一权威信息来源。

💸 直接 x402

x402 协议支持点对点的机器支付。你的 MCP 客户端可以使用该协议,通过 Base 区块链 上的 USDC 为 Actor 运行付费,完全无需 Apify API token。

前提条件
  • 一个在 Base 主网上持有 USDC 的钱包。
设置

创建或导入钱包:

# Create a new wallet
mcpc x402 init

# Import an existing wallet
mcpc x402 import <private-key>

# Show the wallet address and a funding QR code, so you can fund it with USDC on Base (https://base.org)
mcpc x402

连接到启用了 x402 的服务:

mcpc connect "mcp.apify.com?payment=x402" @apify --x402

现在可以调用付费工具:

mcpc @apify tools-call call-actor actor:="apify/rag-web-browser" input:='{"query": "latest AI news"}'

🔥 Skyfire

Skyfire 为 AI Agent 提供托管式支付基础设施。Agent 无需使用 Apify API 令牌进行身份验证,而是传递 Skyfire 支付令牌,使用 PAY 令牌支付每次工具调用的费用。

前提条件
  • 一个已充值的钱包和 Skyfire 账户。
  • 支持多个服务的 MCP 客户端,例如 Claude Desktop、OpenCode 或 VS Code。
设置

在客户端中配置 Skyfire MCP 服务和 Apify MCP 服务。在 Apify 服务 URL 中添加 payment=skyfire:

{
  "mcpServers": {
    "skyfire": {
      "url": "https://api.skyfire.xyz/mcp/sse",
      "headers": {
        "skyfire-api-key": "<YOUR_SKYFIRE_API_KEY>"
      }
    },
    "apify": {
      "url": "https://mcp.apify.com?payment=skyfire"
    }
  }
}

有关设置详情,请参阅 Skyfire 集成文档。《使用 Skyfire 实现 Agentic Payments》一文提供了更多背景信息。

🛠️ 工具、资源和提示词

MCP 服务提供一组用于与 Apify Actors 交互的工具。 由于 Apify Store 规模庞大且快速增长,MCP 服务提供了一种动态发现和使用新 Actor 的方式。

Actors

任何 Apify Actor 都可以用作工具。 默认情况下,服务已预先配置了两个 Actor:apify/rag-web-browser 和 apify/web-fetch,以及若干辅助工具。 MCP 服务会加载 Actor 的输入架构,并创建相应的 MCP 工具。 这样,AI Agent 就能准确了解要向 Actor 传递哪些参数,以及预期会收到什么结果。

例如,apify/rag-web-browser Actor 的输入参数如下:

{
  "query": "restaurants in San Francisco",
  "maxResults": 3
}

你无需手动指定要调用哪个 Actor 或其输入参数;大模型会自动处理这些内容。 调用工具时,大模型会自动将参数传递给 Actor。 你可以查阅特定 Actor 的文档,了解可用参数列表。

辅助工具

将 MCP 与 Apify 搭配使用的一项强大功能是动态发现工具。 这使 AI Agent 能够按需查找新工具(Actors)并加以使用。 以下是一些特殊的 MCP 操作,以及 Apify MCP 服务对它们的支持方式:

  • Apify Actors:搜索 Actor、列出账户中的 Actor、查看其详情、将其用作 AI 的工具,以及删除自己的 Actor。
  • Apify 文档:搜索 Apify 文档并获取特定文档,为 AI 提供上下文。
  • Actor 运行记录:获取 Actor 运行记录列表、检查其详情并检索日志。
  • Apify 存储:访问数据集和键值存储中的数据。
  • Actor 任务:创建、检查和更新已保存的 Actor 任务,并发布或取消发布其公开落地页。
  • 计划任务:创建、检查、更新和删除自动运行 Actor 和任务的计划任务。
  • 构建:构建 Actor 版本、列出构建记录、检查构建状态并检索构建日志。
  • Actor 版本:读取 Actor 版本的文件(每个文件都带有哈希值,整个文件集带有修订号);根据文件创建 Actor;更改版本文件,并检查自上次读取后是否发生了更改;根据文件或复制其他版本来添加版本;以及删除版本。
  • Apify API:搜索 Apify API 参考文档、检查操作,并向 API 发送请求以读取或更改数据。
可用工具概览

以下是 Apify MCP 服务提供的所有工具的概览列表。 默认启用列图例:

  • ✅ — 属于默认工具集。
  • ⚡ — 存在 call-actor、Actor 工具或 get-actor-run 时自动注入(默认配置中确实如此)。
  • ✅¹ — 默认提供,但仅在启用遥测且客户端未被排除时提供:Anthropic 界面(Claude.ai / Claude Desktop,包括其本地 Agent 模式 / Claude Code)。若要禁用,请传入不包含它的显式 tools= 列表。显式选择它(tools=report-problem 或 tools=dev)时,无论客户端为何都会提供;但仍须启用遥测。 | 工具名称 | 类别 | 描述 | 默认启用 | | :--- | :--- | :--- | :---: | | search-actors | actors | 在 Apify Store 中搜索 Actor。 | ✅ | | fetch-actor-details | actors | 获取特定 Actor 的详细信息,包括其输入架构、README(如有摘要则提供摘要,否则提供全文)、定价、Actor 输出架构,以及 Server Actor 的 HTTP 操作。 | ✅ | | call-actor | actors | 调用 Actor 并获取其运行结果。请先使用 fetch-actor-details 获取 Actor 的输入架构。 | ✅ | | send-server-actor-request | 无(按名称选择:tools=send-server-actor-request) | 向 Server Actor 的 API(即其 API 架构所记录的服务器接口)发送一个 HTTP 请求,并返回响应。 | | | get-actor-run | runs | 获取特定 Actor 运行的详细信息。 | ⚡ | | get-dataset-items | storage | 获取数据集中的条目,支持筛选和分页。 | ⚡ | | get-key-value-store-record| storage | 获取键值存储中特定键对应的值。 | ⚡ | | abort-actor-run | runs | 中止正在运行的 Actor 运行,可选择是否平稳中止。 | ⚡ | | delete-actor | 无(按名称选择:tools=delete-actor) | 从你的账户中永久删除 Actor。公开 Actor 必须先取消发布。 | | | search-apify-docs | docs | 搜索 Apify 文档中的相关页面。 | ✅ | | fetch-apify-docs | docs | 根据 URL 获取 Apify 文档页面的完整内容。 | ✅ | | apify--rag-web-browser | Actor(参见工具配置) | 用于浏览网页的 Actor 工具。 | ✅ | | apify--web-fetch | Actor(参见工具配置) | 用于获取 URL 并返回其内容的 Actor 工具。 | ✅ | | report-problem | dev | 向 Apify 团队报告 Apify 工具或 Actor 的问题。 | ✅¹ | | get-actor-list | 无(按名称选择:tools=get-actor-list) | 列出你拥有以及与自己共享的 Actor,包括私有 Actor。 | | | get-actor-run-list | runs | 获取 Actor 运行列表,可按 Actor 和状态筛选。 | | | get-actor-run-log | runs | 获取特定 Actor 运行的日志。 | | | get-dataset | storage | 获取特定数据集的元数据。 | | | get-dataset-schema | storage | 根据数据集条目生成 JSON 架构。 | | | get-key-value-store | storage | 获取特定键值存储的元数据。 | | | get-key-value-store-keys| storage | 列出特定键值存储中的键。 | | | get-dataset-list | storage | 列出用户所有可用的数据集。 | | | get-key-value-store-list| storage | 列出用户所有可用的键值存储。 | | | create-actor-task | tasks | 创建已保存的 Actor 任务(命名且可重复使用的 Actor 配置)。 | | | get-actor-task | tasks | 获取已保存的 Actor 任务、其发布状态和公开显示配置。 | | | update-actor-task | tasks | 更新任务的输入、运行选项或公开显示配置。 | | | publish-actor-task | tasks | 在任务的公开落地页上发布任务。 | | | unpublish-actor-task | tasks | 取消在任务的公开落地页上发布任务。 | | | create-schedule | schedules | 创建一个按 cron 频率运行 Actor 或任务的计划。 | | | get-schedule | schedules | 获取计划、其 cron 表达式、状态及其运行的操作。 | | | update-schedule | schedules | 更新计划:cron 表达式、时区、启用状态或操作。 | | | delete-schedule | schedules | 删除计划。 | | | get-actor-build | builds | 获取 Actor 构建的状态。 | | | get-actor-build-log | builds | 获取特定 Actor 构建的日志。 | | | get-actor-build-list | builds | 按时间从新到旧列出账户的所有构建,或某个 Actor 的所有构建(涵盖所有状态)。 | | | build-actor | builds | 构建 Actor 版本,并在限定时间内等待构建完成。 | | | get-actor-version | versions | 获取 Actor 版本的文件列表(含哈希值),以及你指定文件的内容。 | | | create-actor | versions | 根据文件在你的账户中创建私有 Actor,可选择立即启动构建。 | | | update-actor-version | versions | 在一次要么全部成功、要么全部不执行的写入中,写入、编辑或删除 Actor 版本的文件。 | | | create-actor-version | versions | 根据文件或复制其他版本为 Actor 添加版本,可选择立即启动构建。 | | | delete-actor-version | versions | 删除 Actor 版本;其构建及其标签会保留。 | | | apify-api-search | api | 按关键词搜索 Apify API 参考中的操作。返回每项操作的方法、路径和文档页面。 | | | apify-api-details | api | 获取指定路径上 Apify API 操作的参数和请求正文架构。 | | | apify-api-read | api | 向 Apify API 路径发送 GET 请求,例如 actor-runs 或 /v2/actor-runs,用法类似 Apify CLI 中的 apify api。只读:该工具会拒绝 method 查询参数,以及会启动付费运行的同步运行端点 GET 请求。 | | | apify-api-write | api | 向任意 Apify API 路径发送带 JSON 正文的 POST、PUT、PATCH 或 DELETE 请求,用法类似 Apify CLI 中的 apify api。该工具会拒绝 method 查询参数。 | |

注意:

当存在 call-actor、Actor 工具或 get-actor-run 时,服务会自动注入 get-actor-run、get-dataset-items、get-key-value-store-record 和 abort-actor-run。

当你调用 Actor(通过 call-actor 或直接使用 Actor 工具,例如 apify--rag-web-browser)时,响应会包含运行元数据、存储 ID,以及 summary 和 nextStep,但不包含数据集条目。若要获取条目,请按照 nextStep 操作并调用 get-dataset-items(自动注入),同时传入调用返回的 datasetId。

工具注释

所有工具都包含元数据注释,帮助 MCP 客户端和大模型了解工具的行为:

  • title:工具的简短显示名称(例如,“搜索 Actors”“调用 Actor”“apify/rag-web-browser”)
  • readOnlyHint:对于只读取数据、不修改状态的工具(例如 get-dataset、fetch-actor-details),值为 true。只有由 Apify 维护、权限有限且不接受密钥、可写存储、MCP 连接器或代码输入的 Actor 工具才会获得此标记(例如 apify--web-fetch)。直接工具可以限制原始 Actor 输入:apify--website-content-crawler 会排除并拒绝 pageFunction 和 initialCookies,因此它是只读的。其他 Actor 工具会标记为具有破坏性。
  • openWorldHint:对于访问 Apify 平台以外外部资源的工具(例如,call-actor 会执行外部 Actors),值为 true。仅与 Apify 平台交互的工具(例如 search-actors 或 fetch-apify-docs)不会带有此标记。

直接工具 apify--website-content-crawler 默认将 respectRobotsTxtFile 设为 true;显式指定的 false 会保留。这些限制和默认值仅适用于直接工具。call-actor、call-actor-widget 和 fetch-actor-details 保留原始 Actor 输入约定。

工具配置

tools 配置参数用于指定已加载的工具——可以是类别、直接指定的工具,也可以是 Apify Actors。例如,tools=storage,runs 会加载两个类别;tools=call-actor 只加载一个工具。

未提供查询参数时,MCP 服务默认加载以下 tools:

  • actors
  • docs
  • apify/rag-web-browser
  • apify/web-fetch

如果指定了 tools 参数,则只会启用列出的工具或类别,不会包含任何默认工具。

默认情况下会提供 report-problem(受上方脚注中的门控机制限制),但它属于 dev 类别,因此显式指定 tools=dev 也会选择它。若要禁用它,请传入不包含它的显式 tools= 列表(例如 tools=actors,docs)。

轻松配置:

使用 UI 配置器 配置服务,然后将配置复制到客户端。

配置托管服务:

可以使用 URL 中的查询参数配置托管服务。例如,若要加载默认工具,请使用:

https://mcp.apify.com?tools=actors,docs,apify/rag-web-browser,apify/web-fetch

若要进行最简配置,只使用单个 Actor 工具,而不使用任何发现工具或通用调用工具,可按如下方式配置服务:

https://mcp.apify.com?tools=apify/my-actor

此设置只会将指定的 Actor(apify/my-actor)作为工具提供。不会提供其他工具。

配置 CLI:

可以使用命令行标志配置 CLI。例如,若要加载与托管服务配置中相同的工具,请使用:

npx @apify/actors-mcp-server --tools actors,docs,apify/rag-web-browser,apify/web-fetch

最简配置与托管服务配置类似:

npx @apify/actors-mcp-server --tools apify/my-actor

与上文相同,此设置只会将指定的 Actor(apify/my-actor)作为工具提供。不会提供其他工具。

⚠️ 重要建议

默认工具配置可能会在未来版本中发生变化。 未指定 tools 参数时,服务目前会加载默认工具,但此行为可能会改变。

在生产环境中使用并需要稳定接口时,请务必显式指定 tools 参数,确保配置在更新后保持一致。

UI 模式配置

ui 参数可在工具响应中启用 MCP Apps 小组件渲染。启用后,search-actors 等工具会返回交互式 MCP App 响应。

配置托管服务:

使用 ui 查询参数启用 UI 模式:

https://mcp.apify.com?ui=true

你可以将其与其他参数组合使用:

https://mcp.apify.com?tools=actors,docs&ui=true

配置 CLI:

可以使用命令行标志配置 CLI。例如,启用 UI 模式:

npx @apify/actors-mcp-server --ui true

你也可以通过 UI_MODE 环境变量进行设置:

export UI_MODE=true
npx @apify/actors-mcp-server
向后兼容性

v2 配置保留了与 v1 用法的向后兼容性。注意:

  • 仍支持 actors 参数(URL)和 --actors 标志(CLI)。
    • 内部会将它们合并到 tools 选择器中。
    • 示例:?actors=apify/rag-web-browser ≡ ?tools=apify/rag-web-browser;--actors apify/rag-web-browser ≡ --tools apify/rag-web-browser。
  • enableAddingActors(URL)、enable-adding-actors(CLI)和旧版别名 enableActorAutoLoading 已移除。要动态调用 Actors,请使用 tools=call-actor(默认通过 actors 类别包含)。任何残留的原始值都会被忽略。
  • 默认行为保持兼容:未指定 tools 时,服务会加载 actors、docs、apify/rag-web-browser 和 apify/web-fetch。
    • 如果指定了任何 tools,则不会添加默认项(与 v1 显式选择时的设计意图相同)。
  • call-actor 现在默认通过 actors 类别包含(新增行为)。若要排除它,请指定一个不含 actors 的显式 tools 列表。
  • tools=add-actor、tools=experimental 和 tools=preview 已停用:它们会被忽略且不会加载任何工具。请改用 tools=call-actor(或默认的 actors 类别)。
  • tools=get-actor-log 已停用:该工具已重命名为 get-actor-run-log。旧选择器会被忽略且不会加载任何工具。请改用 tools=get-actor-run-log(或 runs 类别)。
  • tools=source 已停用:该类别已重命名为 versions。旧选择器会被忽略且不会加载任何工具。请改用 tools=versions。

现有使用 ?actors=... 或 --actors 的 URL 和命令仍可照常使用。

提示词

服务声明了 prompts 能力,但目前未注册任何提示词——prompts/list 会返回空列表。

资源

你的 Apify 数据不会在 resources/list 中枚举——读取按需进行:将任意 Apify API GET URL(https://api.apify.com/v2/...)传递给 resources/read,服务便会注入会话的 Apify 令牌并返回响应正文。resources/templates/list 会列出常见结构——数据集条目、键值存储记录和键、运行元数据、运行日志——及其分页参数。响应正文不超过 256 KB 时会直接内嵌;超过此大小时则返回简短提示和下载 URL,而非正文。API 读取需要 Apify 令牌,因此仅使用付款方式的会话(x402 或 Skyfire)会收到 JSON-RPC 错误。

💬 使用示例

下面是一些真实示例,展示 AI 助手如何使用 Apify MCP Server 工具。

示例 1:使用 RAG Web Browser 搜索网页

用户提示词:

查找有关自主 AI Agent 的最新消息,并总结主要进展。

AI 助手调用预配置的 apify--rag-web-browser Actor 工具搜索网页,并返回排名靠前的结果内容。 该工具会返回排名前 3 的搜索结果的 Markdown 内容,随后 AI 助手会为用户总结这些内容。

示例 2:从 Apify Store 中发现并运行 Actor

用户提示词:

使用 Google Maps 抓取布拉格排名前 10 的餐厅及其联系方式。

AI 助手会先搜索合适的 Actor,检查其输入架构,然后执行它。 该工具会返回抓取数据的预览,包括餐厅名称、地址、评分、电话号码和网站。

示例 3:检索 Actor 运行结果并分页浏览

用户提示:

显示该抓取任务的接下来 10 条结果。

AI 助手使用上一次 Actor 运行返回的数据集 ID 来获取更多条目。 预期输出:工具从 Actor 的输出数据集中返回下一页结构化数据条目。

📡 遥测

Apify MCP 服务会收集工具调用的遥测数据,以帮助 Apify 了解使用模式并改进服务。 默认情况下,所有工具调用均启用遥测。 启用遥测后,在 Apify Store 中搜索 Actor 时会将 MCP 会话 ID 作为 _traceId 发送,工具调用事件则会携带该 ID 作为 trace_id。 search-actors 还接受可选的 useCase:由模型撰写的一句话,说明用户进行搜索的原因。它会随 Store 搜索请求以 _useCase 的形式发送,Apify 会在 Store 搜索分析中记录该信息,以改进搜索结果。 选择退出遥测后,以上所有功能都会禁用。

stdio 传输还会使用 Sentry 跟踪错误,帮助我们更快地发现并修复问题。 选择退出遥测后,Sentry 会自动禁用。

选择退出遥测

你可以将 --telemetry-enabled CLI 标志或 TELEMETRY_ENABLED 环境变量设置为 false,以选择退出遥测(包括 Sentry 错误跟踪)。 CLI 标志的优先级高于环境变量。

示例

远程服务(mcp.apify.com):

# Disable via URL parameter
https://mcp.apify.com?telemetry-enabled=false

本地 stdio 服务:

# Disable via CLI flag
npx @apify/actors-mcp-server --telemetry-enabled=false

# Or set environment variable
export TELEMETRY_ENABLED=false
npx @apify/actors-mcp-server

⚙️ 开发

有关贡献指南和提交消息规范,请参阅 CONTRIBUTING.md。

有关详细的开发环境设置、项目结构和本地测试说明,请参阅 DEVELOPMENT.md。

先决条件

创建环境文件 .env,并写入以下内容:

APIFY_TOKEN="your-apify-token"

构建 actors-mcp-server 包:

pnpm run build

启动 HTTP 流式 MCP 服务

使用 Apify CLI 运行:

export APIFY_TOKEN="your-apify-token"
export APIFY_META_ORIGIN=STANDBY
apify run -p

服务启动后,你可以使用 MCP Inspector 调试通过 http://localhost:3001 暴露的服务。

启动标准输入/输出(stdio)MCP 服务

你可以使用以下命令启动 MCP Inspector:

export APIFY_TOKEN="your-apify-token"
npx @modelcontextprotocol/inspector node ./dist/stdio.js

启动后,Inspector 会显示一个 URL,你可以在浏览器中打开该 URL 开始调试。

未经身份验证的访问

当 tools 查询参数仅包含明确允许未经身份验证即可使用的工具时,托管服务允许不使用 API 令牌进行访问。 当前允许的工具:search-actors、fetch-actor-details、search-apify-docs、fetch-apify-docs、apify-api-search、apify-api-details。 示例:https://mcp.apify.com?tools=search-actors。

🐦 Canary PR 版本

Apify MCP 分为两个仓库:本仓库负责核心 MCP 逻辑,私有仓库 apify-mcp-server-internal 负责托管服务。 两者的更改必须保持同步。

要创建 Canary 版本,请为你的拉取请求添加 beta 标签。 这会将包发布到 pkg.pr.new,以便在合并前进行预发布和测试。 详情请参阅工作流文件。

🐋 Docker Hub 集成

Apify MCP Server 也可在 Docker Hub 上获取,并通过 mcp-registry 仓库注册。Docker Hub MCP 注册表应会自动部署 servers/apify-mcp-server/server.yaml 中的条目(部署频率未知)。对 stdio 服务版本进行重大更改前,请先在本地测试,确保 Docker 构建通过。 测试方法:将 source.branch 改为你的 PR 分支,然后运行 task build -- apify-mcp-server。更多详情请参阅 CONTRIBUTING.md。

🐛 故障排除

分步故障排除说明,请参阅 Apify 文档中的 Claude Desktop 集成指南。

💡 限制

Actor 输入架构经过处理,以兼容大多数 MCP 客户端,同时遵循 JSON Schema 标准。处理内容包括:

  • 描述:超过 500 个字符(由 ACTOR_MAX_DESCRIPTION_LENGTH 定义)的描述会截断至该范围内最后一个完整句子;如果没有句子分隔,则截断至最后一个完整单词,并标记为 [Description truncated]。
  • 枚举字段:合计不超过 2000 个字符(由 ACTOR_ENUM_MAX_LENGTH 定义)的枚举会完整保留;较大的枚举则会省略,并在描述中添加简短说明和几个示例值。
  • 必填字段:描述中会明确添加 REQUIRED 前缀,以兼容可能无法正确处理 JSON 架构的框架。
  • 嵌套属性:针对代理配置和请求列表来源等特殊情况构建,以确保输入结构正确。
  • 数组项类型:如果架构中未明确指定,则按优先级推断类型:items 中的显式类型 > 预填类型 > 默认值类型 > 编辑器类型。
  • 枚举值和示例:会添加到属性描述中,以确保可见,即使客户端不完全支持 JSON 架构也一样。
  • 租用型 Actor:仅可通过托管 MCP 服务 https://mcp.apify.com 使用。在本地通过 stdio 运行服务时,只能访问已添加到本地工具集的 Actor。若要动态搜索并使用 Apify Store 中的任意 Actor(包括租用型 Actor),请连接到托管端点。

🔒 隐私政策

使用此服务时,你的请求和 Actor 输入会发送至 Apify API 执行。 除运行所请求的 Actor 所必需的数据外,不会与第三方共享数据。 有关数据收集、使用、共享和保留的完整详情,请参阅 Apify 法律条款。

🤝 贡献

欢迎提交错误报告、功能请求和文档修正。请告诉我们问题,而不是提交补丁——附有复现步骤的清晰问题,比拉取请求更有帮助。

  • 🐛 报告错误:提交问题并附上复现步骤。这是你能提供的最有帮助的信息。
  • 💡 提出功能建议:提交问题——说明问题以及受影响的用户,而不是实现方案。
  • 🔧 代码:仅处理维护者邀请的议题。公开议题不代表邀请你着手处理;未经邀请的拉取请求会被关闭。
  • 📚 文档:拼写错误、失效链接和错误命令可直接提交 PR。

完整规则(包括 AI 辅助贡献):CONTRIBUTING.md。

📚 了解更多

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。