AI代理数据提取服务

Apify MCP Server 是一个允许AI代理通过数千个现成的爬虫、抓取工具和自动化工具从社交媒体、搜索引擎、地图、电子商务网站等提取数据的服务,支持OAuth连接和Skyfire代理支付。

  • by charles-future
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 charles-future/apify-mcp-server

使用说明


mcp.apify.com

Apify模型上下文协议(MCP)服务器 mcp.apify.com 使您的AI代理能够使用数千个现成的抓取器、爬虫和自动化工具从社交媒体、搜索引擎、地图、电子商务网站和任何其他网站中提取数据 Apify商店。它支持OAuth,允许您仅使用URL从Claude.ai或Visual Studio Code等客户端连接。

🚀 使用托管的Apify MCP服务器!

为了获得最佳体验,请将您的AI助手连接到我们的托管服务器,网址为 **https://mcp.apify.com**托管服务器支持最新功能,包括结构化Actor结果的输出模式推理,这些功能在通过stdio本地运行时不可用。

💰 服务器还支持 天火代理付款,允许人工智能代理在没有API令牌的情况下为Actor运行付费。

Apify MCP服务器与 Claude Code, Claude.ai, Cursor, VS Code 以及遵守模型上下文协议的任何客户端。 看看 MCP客户端部分 如需了解更多详情,请访问 MCP配置页面.

目录

🌐 Apify MCP服务器介绍

Apify MCP服务器允许AI助手使用任何 Apify演员 作为执行特定任务的工具。 例如,它可以:

视频教程:与Claude集成8000多名Apify演员和代理

🚀 快速入门

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

HTTPS端点(mcp.apify.com):通过OAuth或包含以下内容从您的MCP客户端连接 Authorization: Bearer <APIFY_TOKEN> 请求中的标题。这是大多数用例的推荐方法。因为它支持OAuth,你可以从客户端连接,比如 Claude.ai 或 Visual Studio Code 仅使用URL: https://mcp.apify.com.

  • 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服务器的详细说明 规范文档.

⚠️ 2026年4月1日苏格兰和南方能源公司运输弃用

在2026年4月1日之前更新您的MCP客户端配置。 Apify MCP服务器正在放弃服务器发送事件(SSE)传输,转而支持流式HTTP,这符合官方MCP规范。

首选 mcp.apify.com 使用有效的终结点更新所选客户端的安装。

🤖 MCP客户端

Apify MCP服务器与任何遵守 模型上下文协议,但对动态工具发现和其他功能的支持级别可能因客户端而异。

要与Apify MCP服务器交互,您可以使用以下客户端 克劳德桌面版, Visual Studio Code,或 Apify测试器MCP客户端.

访问 mcp.apify.com 为您的首选客户端配置服务器。

支持的客户矩阵

下表概述了经过测试的MCP客户端及其对关键功能的支持级别。

客户端 动态工具发现 注释
Claude.ai(网络) 🟡 部分 可能需要在客户端手动重新加载工具
克劳德桌面版 🟡 部分 可能需要在客户端手动重新加载工具
VS代码(精灵) ✅ 已满
光标 ✅ 已满
Apify测试器MCP客户端 ✅ 完整 专为测试Apify MCP服务器而设计
OpenCode ✅ 已满

基于客户能力的智能工具选择:

当时 actors 如果请求了工具类别,服务器将根据客户端的能力智能地选择最合适的Actor相关工具:

  • 具有动态工具支持的客户端 (例如,Claude.ai web、VS Code Genie):服务器提供 add-actor 工具而不是 call-actor这允许更好的用户体验,用户可以在对话过程中动态发现和添加新的Actor作为工具。

  • 动态工具支持有限的客户端 (例如,Claude Desktop):服务器提供标准 call-actor 该工具与其他Actor类别工具一起使用,在保持功能的同时确保兼容性。

🪄 立即尝试激活MCP

想在不进行任何设置的情况下尝试Apify MCP吗?

结账 Apify测试器MCP客户端

这种交互式、聊天式界面提供了一种无需任何本地设置即可探索Apify MCP功能的简单方法。 只需使用您的Apify帐户登录,即可开始尝试网络抓取、数据提取和自动化工具!

或者使用MCP捆绑包文件(以前称为Anthropic Desktop扩展文件或DXT)进行一键安装: 指定MCP服务器MCPB文件

💰 天火代理付款

Apify MCP服务器与 天火 启用代理支付-AI代理可以自主支付Actor运行,而无需Apify API令牌。而不是通过进行身份验证 APIFY_TOKEN,代理使用Skyfire PAY代币来支付每次工具调用的账单。

先决条件:

  • A. Skyfire帐户 有一个资金钱包
  • 支持多个服务器的MCP客户端(例如,Claude Desktop、OpenCode、VS Code)

设置:

在MCP客户端中配置Skyfire MCP服务器和Apify MCP服务器。通过添加以下内容启用支付模式 payment=skyfire Apify服务器URL的查询参数:

{
  "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模式后,代理将自主处理全部支付流程:

  1. 代理人通过以下方式发现相关参与者 search-actors 或 fetch-actor-details (这些仍然是免费的)。
  2. 在执行Actor之前,代理使用 create-pay-token Skyfire MCP服务器上的工具(最低5.00美元)。
  3. 代理将PAY令牌传递到 skyfire-pay-id 调用Actor工具时的输入属性。
  4. 结果照常返回。代币上未使用的资金仍可用于未来的运行,或在到期时退还。

要了解更多信息,请参阅 Skyfire集成文档 和那个 Skyfire代理支付 博客文章。

🛠️ 工具、资源和提示

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

演员

任何 Apify演员 可以用作工具。 默认情况下服务器预先配置了一个Actor, apify/rag-web-browser,以及几个辅助工具。 MCP服务器加载Actor的输入模式并创建相应的MCP工具。 这允许AI代理确切地知道要传递给Actor的参数以及预期的回报。

例如,对于 apify/rag-web-browser Actor,输入参数为:

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

您不需要手动指定要调用哪个Actor或其输入参数;LLM会自动处理这个问题。 当调用工具时,LLM会自动将参数传递给Actor。 您可以参考特定Actor的文档以获取可用参数的列表。

辅助工具

将MCP与Apify结合使用的最强大功能之一是动态工具发现。 它允许AI代理根据需要找到新的工具(Actor)并将其合并。 以下是一些特殊的MCP操作以及Apify MCP服务器如何支持它们:

  • 优化演员搜索演员,查看他们的详细信息,并将其用作人工智能的工具。
  • 规范文档:搜索Apify文档并获取特定文档,为AI提供上下文。
  • 演员奔跑:获取Actor运行列表,检查其详细信息,并检索日志。
  • 优化存储:从数据集和键值存储中访问数据。

可用工具概述

以下是Apify MCP服务器提供的所有工具的概述列表。

工具名称 类别 描述 默认启用
search-actors 演员 在Apify商店中搜索演员。 ✅
fetch-actor-details actors 检索特定Actor的详细信息,包括其输入模式、README(可用时为摘要,否则为完整)、定价和Actor输出模式。 ✅
call-actor* actors 呼叫Actor并获取其运行结果。首先使用fetch actor details获取actor的输入模式。 ❔
get-actor-run runs 获取特定Actor运行的详细信息。
get-actor-output* - 检索Actor调用的输出,该调用未包含在Actor工具的输出预览中。 ✅
search-apify-docs docs 在Apify文档中搜索相关页面。 ✅
fetch-apify-docs docs 通过URL获取Apify文档页面的完整内容。 ✅
apify-slash-rag-web-browser 演员(见 工具配置) 浏览网页的Actor工具。 ✅
get-actor-run-list runs 获取Actor的跑步列表,可按状态过滤。
get-actor-log runs 检索特定Actor运行的日志。
get-dataset storage 获取特定数据集的元数据。
get-dataset-items storage 从支持过滤和分页的数据集中检索项目。
get-dataset-schema storage 从数据集项生成JSON模式。
get-key-value-store storage 获取特定键值存储的元数据。
get-key-value-store-keys storage 列出特定键值存储中的键。
get-key-value-store-record storage 获取键值存储中与特定键关联的值。
get-dataset-list storage 列出用户的所有可用数据集。
get-key-value-store-list storage 列出用户的所有可用键值存储。
add-actor* 实验 添加一个Actor作为用户调用的新工具。 ❔

注:

使用时 actors 工具类别,支持动态工具发现的客户端(如Claude.ai web和VS Code)会自动接收 add-actor 工具而不是 call-actor 以增强Actor发现功能。

这 get-actor-output 该工具会自动包含在任何与Actor相关的工具中,例如 call-actor, add-actor,或任何特定的Actor工具,如 apify-slash-rag-web-browser.当你给演员打电话时——无论是通过 call-actor 工具或直接通过Actor工具(例如。, apify-slash-rag-web-browser)-您将收到输出的预览。预览取决于Actor的输出格式和长度;对于某些Actor和run,它可能包括整个输出,而对于其他Actor和runs,只返回有限的版本,以避免淹没LLM。要检索Actor运行的完整输出,请使用 get-actor-output 工具(支持限制、偏移和字段过滤) datasetId 由Actor电话提供。

工具注释

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

  • title:工具的简短显示名称(例如,“搜索演员”、“呼叫演员”和“apify/rag网络浏览器”)
  • readOnlyHint: true 对于仅读取数据而不修改状态的工具(例如。, get-dataset, fetch-actor-details)
  • openWorldHint: true 对于访问Apify平台之外的外部资源的工具(例如。, call-actor 执行外部Actor)。仅与Apify平台交互的工具(如 search-actors 或 fetch-apify-docs)不要有这个暗示。

工具配置

这 tools 配置参数用于指定加载的工具——直接指定类别或特定工具,以及Apify Actor。例如, tools=storage,runs 加载两类; tools=add-actor 只加载一个工具。

当没有提供查询参数时,MCP服务器会加载以下内容 tools 默认情况下:

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

如果指定了工具参数,则仅启用列出的工具或类别,不包括默认工具。

配置简单:

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

配置托管服务器:

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

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

对于最小配置,如果您只想使用单个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

最小配置类似于托管服务器配置:

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

如上所述,这只暴露了指定的Actor(apify/my-actor)作为一种工具。没有其他工具可用。

⚠️ 重要建议

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

对于生产使用和稳定的接口,始终明确指定 tools 参数 以确保您的配置在更新中保持一致。

UI模式配置

这 ui 参数启用 MCP应用程序 工具响应中的小部件渲染。启用后,工具如 search-actors 返回交互式MCP应用程序响应。

配置托管服务器:

使用启用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.
  • enable-adding-actors (CLI)和 enableAddingActors (URL)受支持,但已弃用。
    • 更喜欢 tools=experimental 或包括特定工具 tools=add-actor.
    • 行为仍然存在:启用时没有 tools 指定后,服务器仅公开 add-actor当选择类别/工具时, add-actor 也包括在内。
  • enableActorAutoLoading 仍然是的旧别名 enableAddingActors 并自动映射。
  • 默认值保持兼容:当否时 tools 如果指定了,服务器将加载 actors, docs,以及 apify/rag-web-browser.
    • 若有 tools 如果指定了,则不添加默认值(与显式选择的v1意图相同)。
  • call-actor 现在默认情况下通过 actors 类别(附加变化)。要排除它,请指定一个显式 tools 列表无 actors.
  • preview 该类别已被弃用并删除。请改用特定的工具名称。

使用的现有URL和命令 ?actors=... 或 --actors 继续不变地工作。

提示

服务器提供了一组预定义的示例提示,以帮助您开始通过MCP与Apify交互。例如,有一个 GetLatestNewsOnTopic 提示,允许您使用 RAG网络浏览器 男演员

资源

服务器尚未提供任何资源。

📡 遥测

Apify MCP服务器收集有关工具调用的遥测数据,以帮助Apify了解使用模式并改进服务。 默认情况下,遥测为 启用 用于所有工具调用。

stdio传输还使用 哨兵 用于错误跟踪,这有助于我们更快地识别和解决问题。 当选择退出遥测时,哨兵会自动禁用。

选择退出遥测

您可以通过设置退出遥测(包括哨兵错误跟踪) --telemetry-enabled CLI标志 false 或 TELEMETRY_ENABLED 环境变量 false. 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

⚙️ 发展

请查看 贡献.md 贡献指南和提交消息约定指南。

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

先决条件

创建环境文件, .env,内容如下:

APIFY_TOKEN="your-apify-token"

构建 actors-mcp-server 包裹:

npm run build

启动HTTP流式MCP服务器

使用Apify CLI运行:

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

服务器运行后,您可以使用 MCP检查员 调试在以下位置公开的服务器 http://localhost:3001.

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

您可以使用以下命令启动MCP检查器:

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

启动后,检查器将显示一个URL,您可以在浏览器中打开该URL以开始调试。

未经身份验证的访问

当时 tools 查询参数仅包括明确启用的未经验证使用的工具,托管服务器允许在没有API令牌的情况下访问。 目前允许的工具: search-actors, fetch-actor-details, search-apify-docs, fetch-apify-docs. 例子: https://mcp.apify.com?tools=search-actors.

🐦 Canary公关发布

Apify MCP分为两个存储库:一个用于核心MCP逻辑,另一个用于私有MCP逻辑 apify-mcp-server-internal 对于托管服务器。 两者之间的更改必须同步。

要创建金丝雀版本,请添加 beta 标记到您的公关部门。 这会将包发布到 pkg.pr.new 用于合并前的暂存和测试。 看 工作流文件 了解详情。

🐋 Docker Hub集成

Apify MCP服务器也可在 Docker Hub,通过注册 mcp注册表 存储库。进入 servers/apify-mcp-server/server.yaml 应该由Docker Hub MCP注册表自动部署(部署频率未知)。 在对 stdio 服务器版本,请务必在本地进行测试,以确保Docker构建通过。 要进行测试,请更改 source.branch 前往您的公关部门并运行 task build -- apify-mcp-server。有关更多详细信息,请参阅 贡献.md.

🐛 故障排除(本地MCP服务器)

  • 确保你有 node (v18或更高版本)通过运行安装 node -v.
  • 确保 APIFY_TOKEN 设置环境变量。
  • 始终使用最新版本的MCP服务器 @apify/actors-mcp-server@latest.

常见问题

“无法连接到扩展服务器”或工具未加载

这最常见的原因是 损坏的npx缓存。通过清除缓存并重试来修复它:

# Clear the npx cache
rm -rf ~/.npm/_npx

# Retry
npx -y @apify/actors-mcp-server@latest

“文件未定义”或“ReadableStream未定义”等错误

你正在运行一个 过时的Node.js版本Apify MCP服务器需要Node.js 18或更高版本:

node -v  # Check your version

如果你的版本低于18,请从以下位置更新Node.js nodejs.org.

“找不到模块”错误

这通常表示已损坏 npx 缓存(见上文)。用清除它 rm -rf ~/.npm/_npx 然后重试。

服务器在Claude Desktop聊天中工作,但在协作模式下不工作

这是我们正在调查的一个已知问题。作为解决方法,请尝试使用托管服务器 mcp.apify.com 而不是本地stdio服务器。

检查日志

如果遇到问题,请查看Claude Desktop日志以了解错误详细信息:

  • macOS: ~/Library/Logs/Claude/
  • 视窗: %APPDATA%\Claude\logs\
  • Linux: ~/.config/Claude/logs/

调试NPM包

要调试服务器,请使用 MCP检查员 工具:

export APIFY_TOKEN="your-apify-token"
npx @modelcontextprotocol/inspector npx -y @apify/actors-mcp-server

💡 局限性

Actor输入模式被处理为与大多数MCP客户端兼容,同时遵守 JSON 模式 标准。处理包括:

  • 描述 被截断为500个字符(如中所定义 MAX_DESCRIPTION_LENGTH).
  • 枚举字段 所有元素的最大组合长度被截断为2000个字符(如中所定义 ACTOR_ENUM_MAX_LENGTH).
  • 必填字段 用a明确标记 REQUIRED 在它们的描述中添加前缀,以与可能无法正确处理JSON模式的框架兼容。
  • 嵌套属性 为代理配置和请求列表源等特殊情况而构建,以确保正确的输入结构。
  • 数组项类型 当模式中没有明确定义时,使用优先级顺序推断:项目中的显式类型>预填充类型>默认值类型>编辑器类型。
  • 枚举值和示例 添加到属性描述中以确保可见性,即使客户端不完全支持JSON模式。
  • 租赁演员 仅可与位于的托管MCP服务器一起使用https://mcp.apify.com.通过stdio在本地运行服务器时,您只能访问已添加到本地工具集中的Actor。要动态搜索和使用Apify Store中的任何Actor(包括租用的Actor),请连接到托管端点。

🤝 贡献

我们欢迎为改进Apify MCP服务器做出贡献!以下是您可以提供帮助的方式:

  • 🐛 报告问题:发现错误或有功能请求? 打开一个问题.
  • 🔧 提交拉取请求:分叉仓库并提交带有增强或修复的pull请求。
  • 📚 文档:文档和示例的改进总是受欢迎的。
  • 💡 共享用例:提供示例以帮助其他用户。

对于重大更改,请先打开一个问题来讨论您的提案,并确保它与项目的目标保持一致。

📚 了解更多