Actors 微云服务器
使用 Apify 提供的 3,000 多种预构建云工具(称为 Actors),从网站、电子商务平台、社交媒体、搜索引擎、地图等提取数据。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"actors-mcp-server": {
"args": [
"-y",
"@apify/actors-mcp-server",
"--actors",
"lukaskrivka/google-maps-with-contact-details,apify/instagram-scraper"
],
"command": "npx",
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
该服务需要配置环境变量:ANTHROPIC_API_KEY、APIFY_TOKEN
服务介绍
Apify Model Context Protocol (MCP) 服务器
为所有 Apify Actors 实现的 MCP 服务器。
此服务器允许与一个或多个在 MCP 服务器配置中定义的 Apify Actors 进行交互。
服务器可以通过两种方式使用:
- 🇦 MCP 服务器 Actor – 通过 Server-Sent Events (SSE) 可访问的 HTTP 服务器,参见 指南
- ⾕ MCP 服务器 Stdio – 通过标准输入/输出 (stdio) 可用的本地服务器,参见 指南
还可以使用类似聊天界面的 💬 Tester MCP Client 与 MCP 服务器进行交互。
🎯 Apify MCP 服务器的作用是什么?
MCP 服务器 Actor 允许 AI 助手将任何 Apify Actor 作为工具来执行特定任务。例如它可以:
- 使用 Facebook 帖子抓取器 从多个页面/个人资料中提取 Facebook 帖子的数据
- 使用 Google 地图电子邮件提取器 提取 Google 地图联系信息
- 使用 Google 搜索结果抓取器 抓取 Google 搜索引擎结果页 (SERPs)
- 使用 Instagram 抓取器 抓取 Instagram 帖子、个人资料、地点、照片和评论
- 使用 RAG 网页浏览器 搜索网络,抓取前 N 个 URL,并返回其内容
MCP 客户端
要与 Apify MCP 服务器交互,可以使用以下 MCP 客户端:
- Claude Desktop(仅支持 Stdio)
- LibreChat(支持 stdio 和 SSE(但尚不支持 Authorization 头))
- Apify Tester MCP Client(支持带有 Authorization 头的 SSE)
- 其他客户端请访问 https://modelcontextprotocol.io/clients
- 更多客户端请访问 https://glama.ai/mcp/clients
此外,您还可以使用 examples 目录中的简单示例客户端。
当您的 Actors 与 MCP 服务器集成后,您可以询问:
- "搜索网络并总结关于 AI 代理的最新趋势"
- "找到旧金山排名前十的最佳意大利餐厅"
- "查找并分析 The Rock 的 Instagram 个人资料"
- "提供使用 Model Context Protocol 并附带源 URL 的分步指南。"
- "我可以使用哪些 Apify Actors?"
下图展示了 Apify MCP 服务器如何与 Apify 平台和 AI 客户端进行交互:

使用 MCP 测试客户端,您可以动态加载 Actors,但其他 MCP 客户端尚不支持此功能。
我们还计划添加更多功能,详情请参见 路线图。
🔄 什么是模型上下文协议?
模型上下文协议(MCP)允许 AI 应用程序(和 AI 代理),如 Claude Desktop,连接到外部工具和数据源。
MCP 是一种开放协议,可实现 AI 应用程序、AI 代理与本地或远程资源之间安全可控的交互。
欲了解更多信息,请访问 模型上下文协议 网站或博客文章 什么是 MCP 以及它为什么重要?。
🤖 MCP 服务器与 AI 代理有何关系?
Apify MCP 服务器通过 MCP 协议暴露了 Apify 的 Actors,使实现 MCP 协议的 AI 代理或框架能够将所有 Apify Actors 作为数据提取、网络搜索等任务的工具来使用。
要了解更多关于 AI 代理的信息,请探索我们的博客文章:什么是 AI 代理? 并浏览 Apify 策划的 AI 代理集合。
有兴趣在 Apify 上构建并货币化您自己的 AI 代理吗?请查看我们在 Apify 平台上创建、发布和货币化 AI 代理的 分步指南。
🧱 组件
工具
Actors
任何 Apify Actor 都可以用作工具。
默认情况下,服务器预配置了以下指定的 Actors,但可以通过提供 Actor 输入来覆盖。
'apify/instagram-scraper'
'apify/rag-web-browser'
'lukaskrivka/google-maps-with-contact-details'
MCP 服务器加载 Actor 输入模式,并根据 Actors 创建相应的 MCP 工具。
请参阅 RAG Web Browser 的输入模式示例。
工具名称必须始终是完整的 Actor 名称,例如 apify/rag-web-browser。
MCP 工具的参数代表 Actor 的输入参数。
例如,对于 apify/rag-web-browser Actor,其参数为:
{
"query": "restaurants in San Francisco",
"maxResults": 3
}
您无需指定输入参数或调用哪个 Actor,一切均由 LLM 管理。
当调用工具时,LLM 会自动将参数传递给 Actor。
您可以参考特定 Actor 的文档以获取可用参数列表。
辅助工具
服务器提供了一组辅助工具来发现可用的 Actors 并检索它们的详细信息:
get-actor-details:检索特定 Actor 的文档、输入模式及详细信息。discover-actors:使用关键词搜索相关 Actors 并返回它们的详细信息。
还有一些工具可以管理可用工具列表。然而,动态添加和删除工具需要 MCP 客户端具备更新工具列表的能力(处理 ToolListChangedNotificationSchema),这通常是不受支持的。
您可以使用 Apify Tester MCP Client Actor 来尝试这一功能。
要启用该功能,请设置 enableActorAutoLoading 参数。
add-actor-as-tool: 按名称将一个 Actor 添加到可用工具列表中,但不执行它,需要用户同意才能在稍后运行。remove-actor-from-tool: 当不再需要某个 Actor 时,按名称从可用工具列表中移除。
提示与资源
服务器不提供任何资源和提示。
我们计划在未来添加 Apify 的数据集 和 键值存储 作为资源。
⚙️ 使用方法
Apify MCP 服务器可以通过两种方式使用:作为 Apify 平台上的 Apify Actor 或作为在您的机器上运行的 本地服务器。
🇦 MCP 服务器 Actor
待机 Web 服务器
Actor 以带有 HTTP Web 服务器的 待机模式 运行,该服务器接收并处理请求。
使用默认 Actor 启动服务器。要使用一组默认 Actor 来使用 Apify MCP 服务器,请向以下 URL 发送带有 Apify API 令牌 的 HTTP GET 请求。
https://actors-mcp-server.apify.actor?token=<APIFY_TOKEN>
也可以使用不同的 Actor 集合来启动 MCP 服务器。为此,创建一个 任务 并指定您想要使用的 Actor 列表。
然后,在待机模式下使用选定的 Actor 运行任务。
https://USERNAME--actors-mcp-server-task.apify.actor?token=<APIFY_TOKEN>
您可以在 Apify Store 中找到所有可用 Actor 的列表。
💬 通过 SSE 与 MCP 服务器交互
一旦服务器运行起来,您可以使用 Server-Sent Events (SSE) 与服务器进行交互,发送消息并接收响应。最简单的方法是在 Apify 上使用 Tester MCP 客户端。
大多数 MCP 客户端目前(截至 2025 年 3 月)还不支持 SSE,但这可能会改变。Claude Desktop 尚不支持 SEE,但您可以使用 Stdio 传输方式,详情请参阅 本地主机上的 MCP 服务器。
在客户端设置中,您需要提供服务器配置:
{
"mcpServers": {
"apify": {
"type": "sse",
"url": "https://actors-mcp-server.apify.actor/sse",
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
或者,您可以使用简单的 Python client_see.py 客户端或使用 curl 命令测试服务器。</>
-
通过向以下URL发送GET请求来启动服务器发送事件(SSE):
curl https://actors-mcp-server.apify.actor/sse?token=<APIFY_TOKEN>服务器将响应一个
sessionId,您可以使用它向服务器发送消息:event: endpoint data: /message?sessionId=a1b -
使用
sessionId发送POST请求以向服务器发送消息:curl -X POST "https://actors-mcp-server.apify.actor/message?token=<APIFY_TOKEN>&session_id=a1b" -H "Content-Type: application/json" -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "arguments": { "searchStringsArray": ["restaurants in San Francisco"], "maxCrawledPlacesPerSearch": 3 }, "name": "lukaskrivka/google-maps-with-contact-details" } }'MCP服务器将以提供的参数作为输入参数启动Actor
lukaskrivka/google-maps-with-contact-details。
对于此POST请求,服务器将响应:Accepted -
接收响应。服务器会根据提供的查询参数调用指定的Actor作为工具,并通过SSE将响应流式传输回客户端。
响应将以JSON文本形式返回。event: message data: {"result":{"content":[{"type":"text","text":"{\"searchString\":\"restaurants in San Francisco\",\"rank\":1,\"title\":\"Gary Danko\",\"description\":\"Renowned chef Gary Danko's fixed-price menus of American cuisine ... \",\"price\":\"$100+\"...}}]}}
在本地主机上运行MCP服务器
您可以通过Claude Desktop或其他任何MCP客户端配置,在您的本地机器上运行Apify MCP Server。
您也可以使用Smithery自动安装服务器。
先决条件
- MacOS或Windows
- 必须安装最新版本的Claude Desktop(或另一个MCP客户端)
- Node.js(v18或更高版本)
- Apify API令牌 (
APIFY_TOKEN)
Claude Desktop
要配置Claude Desktop与MCP服务器协同工作,请按照以下步骤操作。有关详细指南,请参阅Claude Desktop用户指南。
-
下载桌面版 Claude
- 支持 Windows 和 macOS。
- 对于 Linux 用户,可以使用此 非官方构建脚本 构建 Debian 包。
-
打开 Claude 桌面应用程序,并从左上角的菜单栏启用 开发者模式。
-
启用后,打开 设置(同样从左上角的菜单栏),然后导航到 开发者选项,在那里你会找到 编辑配置 按钮。
-
打开配置文件并编辑以下文件:
- 在 macOS 上:
~/Library/Application\ Support/Claude/claude_desktop_config.json - 在 Windows 上:
%APPDATA%/Claude/claude_desktop_config.json - 在 Linux 上:
~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "actors-mcp-server": { "command": "npx", "args": ["-y", "@apify/actors-mcp-server"], "env": { "APIFY_TOKEN": "your-apify-token" } } } }或者,你可以使用
actors参数来选择一个或多个 Apify Actors:{ "mcpServers": { "actors-mcp-server": { "command": "npx", "args": [ "-y", "@apify/actors-mcp-server", "--actors", "lukaskrivka/google-maps-with-contact-details,apify/instagram-scraper" ], "env": { "APIFY_TOKEN": "your-apify-token" } } } } - 在 macOS 上:
-
重启 Claude 桌面
- 完全退出 Claude 桌面(确保它不是最小化或关闭)。
- 重新启动 Claude 桌面。
- 查找 🔌 图标以确认 Exa 服务器已连接。
-
打开 Claude 桌面聊天并询问 "我可以使用哪些 Apify Actors?"

-
示例
你可以要求 Claude 执行任务,例如:
查找并分析关于 LLMs 的最新研究论文。 查找旧金山排名前十的最佳意大利餐厅。 查找并分析 The Rock 的 Instagram 资料。
使用 @modelcontextprotocol/inspector 调试 NPM 包 @apify/actors-mcp-server
要调试服务器,请使用 MCP Inspector 工具:
export APIFY_TOKEN=your-apify-token
npx @modelcontextprotocol/inspector npx -y @apify/actors-mcp-server
通过 Smithery 安装
要通过 Smithery 自动安装适用于 Claude 桌面的 Apify Actors MCP 服务器:
npx -y @smithery/cli install @apify/actors-mcp-server --client claude
标准输入输出客户端
创建环境文件 .env,内容如下:
APIFY_TOKEN=your-apify-token
# ANTHROPIC_API_KEY is only required when you want to run examples/clientStdioChat.js
ANTHROPIC_API_KEY=your-anthropic-api-token
在 examples 目录中,你可以找到两个通过标准输入/输出 (stdio) 与服务器交互的客户端:
-
clientStdio.ts
该客户端脚本启动了MCP服务器,并指定了两个Actor。
然后它使用一个查询调用apify/rag-web-browser工具并打印结果。
它演示了如何通过stdio传输连接到MCP服务器、列出可用工具以及调用特定工具。node dist/examples/clientStdio.js -
clientStdioChat.ts
该客户端脚本也启动了MCP服务器,但提供了一个交互式的命令行聊天界面。
它提示用户与服务器进行交互,允许动态调用工具和响应。
此示例对于以对话方式测试和调试与MCP服务器的交互非常有用。node dist/examples/clientStdioChat.js
👷🏼 开发
前提条件
- Node.js (v18或更高版本)
- Python 3.9或更高版本
创建环境文件.env,内容如下:
APIFY_TOKEN=your-apify-token
# ANTHROPIC_API_KEY is only required when you want to run examples/clientStdioChat.js
ANTHROPIC_API_KEY=your-anthropic-api-key
本地客户端(SSE)
要使用SSE传输测试服务器,您可以使用python脚本examples/clientSse.ts:
目前,node.js客户端不支持带有自定义头部建立远程服务器连接。您需要在脚本中将URL更改为您的本地服务器URL。
node dist/examples/clientSse.js
调试
由于MCP服务器通过标准输入/输出(stdio)运行,因此调试可能会比较困难。
为了获得最佳调试体验,请使用MCP Inspector。
构建actor-mcp-server包:
npm run build
您可以通过npm使用以下命令启动MCP Inspector:
export APIFY_TOKEN=your-apify-token
npx @modelcontextprotocol/inspector node ./dist/index.js
启动后,Inspector会显示一个URL,您可以在浏览器中访问该URL开始调试。
ⓘ 限制和反馈
Actor输入模式被处理为与大多数MCP客户端兼容,同时遵循JSON Schema标准。处理包括:
- 描述被截断至500个字符(如
MAX_DESCRIPTION_LENGTH所定义)。 - 枚举字段的所有元素组合长度被截断至最多200个字符(如
ACTOR_ENUM_MAX_LENGTH所定义)。 - 必填字段在其描述中明确标记有"REQUIRED"前缀,以确保与可能无法正确处理JSON模式的框架兼容。
- 嵌套属性针对诸如代理配置和请求列表源等特殊情况构建,以确保正确的输入结构。
- 当模式中未明确定义时,数组项类型根据优先级顺序推断:items中的显式类型 > 预填充类型 > 默认值类型 > 编辑器类型。
- 即使客户端不完全支持JSON模式,枚举值和示例也被添加到属性描述中以确保可见性。
每个 Actor 的内存限制为 4GB。
免费用户有 8GB 的限制,其中 128MB 需要分配给运行 Actors-MCP-Server。
如果您需要其他功能或有任何反馈,请在 Apify 控制台中提交一个问题让我们知道。
🚀 路线图(2025年3月)
- 添加 Apify 的数据集和键值存储作为资源。
- 添加用于调试的工具,例如 Actor 日志和 Actor 运行。