
Actors Server
Model Context Protocol (MCP) 服务器用于 Apify 的 Actors
Apify 模型上下文协议 (MCP) 服务器
这是为所有 Apify Actors 实现的 MCP 服务器。
该服务器允许与一个或多个在 MCP 服务器配置中定义的 Apify Actors 进行交互。
服务器有两种使用方式:
- 🇦 MCP Server Actor – 可通过服务器发送事件 (SSE) 访问的 HTTP 服务器,参见 指南
- ⾕ MCP Server Stdio – 可通过标准输入/输出 (stdio) 在本地主机上使用的服务器,参见 指南
您还可以使用类似聊天界面的 💬 Tester MCP Client 与 MCP 服务器进行交互。
🎯 Apify MCP 服务器能做什么?
MCP Server Actor 允许 AI 助手将任何 Apify Actor 作为一种工具来执行特定任务。
例如,它可以:
- 使用 Facebook Posts Scraper 从多个页面/个人资料中提取 Facebook 帖子的数据
- 使用 Google Maps Email Extractor 提取 Google 地图联系信息
- 使用 Google Search Results Scraper 抓取 Google 搜索引擎结果页面 (SERPs)
- 使用 Instagram Scraper 抓取 Instagram 帖子、个人资料、地点、照片和评论
- 使用 RAG Web Browser 搜索网络、抓取前 N 个 URL 并返回其内容
MCP 客户端
要与 Apify MCP 服务器交互,您可以使用以下 MCP 客户端:
- Claude Desktop(仅支持 Stdio)
- Visual Studio Code(支持 Stdio 和 SSE)
- LibreChat(支持 Stdio 和 SSE,但不支持 Authorization 标头)
- Apify Tester MCP Client(支持带有 Authorization 标头的 SSE)
- 其他客户端请访问 https://modelcontextprotocol.io/clients
- 更多客户端请访问 https://glama.ai/mcp/clients
当您将 Actors 集成到 MCP 服务器后,您可以询问:
- “搜索网络并总结关于 AI Agents 的最新趋势”
- “找出旧金山最好的 10 家意大利餐厅”
- “查找并分析 The Rock 的 Instagram 个人资料”
- “提供使用模型上下文协议的分步指南及源 URL”
- “我可以使用哪些 Apify Actors?”
下图展示了 Apify MCP 服务器如何与 Apify 平台和 AI 客户端交互:

使用 MCP Tester 客户端可以动态加载 Actors,但其他 MCP 客户端尚不支持此功能。
我们还计划添加更多功能,请参阅 路线图 以获取更多详细信息。
🔄 什么是模型上下文协议?
模型上下文协议 (MCP) 允许 AI 应用程序(如 Claude Desktop)连接到外部工具和数据源。
MCP 是一种开放协议,可实现 AI 应用程序、AI 代理与本地或远程资源之间的安全、受控交互。
更多信息,请访问 Model Context Protocol 网站或博客文章 什么是 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 输入来覆盖此配置。
text
'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,参数如下:
json
{
"query": "restaurants in San Francisco",
"maxResults": 3
}
您无需指定输入参数或调用哪个 Actor;一切由 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 Actor 在 Apify 平台上运行,
或者作为在您机器上运行的 本地服务器。
🇦 MCP Server Actor
待机 Web 服务器
Actor 在 待机模式 下运行,并带有一个接收和处理请求的 HTTP Web 服务器。
要使用默认 Actors 启动服务器,请将您的 Apify API 令牌 发送到以下 URL 的 HTTP GET 请求:
https://actors-mcp-server.apify.actor?token=<APIFY_TOKEN>
也可以使用不同的 Actors 集合启动 MCP 服务器。
为此,请创建一个 任务 并指定您要使用的 Actors 列表。
然后,在待机模式下运行选定的 Actors 任务:
shell
https://USERNAME--actors-mcp-server-task.apify.actor?token=<APIFY_TOKEN>
您可以在 Apify Store 中找到所有可用的 Actors 列表。
💬 通过 SSE 与 MCP 服务器交互
一旦服务器运行起来,您可以使用服务器发送事件 (SSE) 向服务器发送消息并接收响应。
最简单的方法是在 Apify 上使用 Tester MCP Client。
Claude Desktop 目前不支持 SSE,但您可以使用 Stdio 传输方式;详见 本地主机上的 MCP 服务器。
注意:Claude Desktop 的免费版本可能会间歇性地出现与服务器的连接问题。
在客户端设置中,您需要提供服务器配置:
json
{
"mcpServers": {
"apify": {
"type": "sse",
"url": "https://actors-mcp-server.apify.actor/sse",
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
或者,您可以使用 clientSse.ts 脚本或使用 curl
</> 命令测试服务器。
-
通过向以下 URL 发送 GET 请求来启动服务器发送事件 (SSE):
curl https://actors-mcp-server.apify.actor/sse?token=<APIFY_TOKEN>
服务器将返回一个
sessionId
,您可以使用它向服务器发送消息:shellevent: endpoint data: /message?sessionId=a1b
-
通过使用
sessionId
发送 POST 请求向服务器发送消息:shellcurl -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 请求,服务器将返回:textAccepted
-
接收响应。服务器将使用提供的查询参数调用指定的 Actor 作为工具,并通过 SSE 将响应流式传输回客户端。
响应将以 JSON 文本形式返回。textevent: 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 服务器。
您还可以使用 Smithery 自动安装服务器。
先决条件
- MacOS 或 Windows
- 必须安装最新版本的 Claude Desktop(或其他 MCP 客户端)
- Node.js(v18 或更高版本)
- Apify API Token (
APIFY_TOKEN
)
确保正确安装了 node
和 npx
:
bash
node -v
npx -v
如果未安装,请按照此指南安装 Node.js:下载和安装 Node.js 和 npm。
Claude Desktop
要配置 Claude Desktop 以使其与 MCP 服务器一起工作,请按照以下步骤操作。欲了解详细指南,请参阅 Claude Desktop 用户指南。
-
下载桌面版 Claude
- 可用于 Windows 和 macOS。
- Linux 用户可以使用此 非官方构建脚本 构建 Debian 包。
-
打开 Claude Desktop 应用程序并从左上角菜单栏启用 开发者模式。
-
启用后,打开 设置(同样从左上角菜单栏),导航至 开发者选项,您将在其中找到 编辑配置 按钮。
-
打开配置文件并编辑以下文件:
- 在 macOS 上:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- 在 Windows 上:
%APPDATA%/Claude/claude_desktop_config.json
- 在 Linux 上:
~/.config/Claude/claude_desktop_config.json
json{ "mcpServers": { "actors-mcp-server": { "command": "npx", "args": ["-y", "@apify/actors-mcp-server"], "env": { "APIFY_TOKEN": "your-apify-token" } } } }
或者,您可以使用
actors
参数选择一个或多个 Apify Actors:json{ "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 Desktop
- 完全退出 Claude Desktop(确保它不只是最小化或关闭)。
- 重新启动 Claude Desktop。
- 查找 🔌 图标以确认 Actors MCP 服务器已连接。
-
打开 Claude Desktop 聊天并询问“我可以使用哪些 Apify Actors?”
-
示例
您可以要求 Claude 执行任务,例如:
text查找并分析关于 LLMs 的最新研究论文。 找出旧金山最好的 10 家意大利餐厅。 查找并分析 The Rock 的 Instagram 个人资料。
VS Code
一键安装,请点击以下安装按钮之一:
手动安装
您可以手动在 VS Code 中安装 Apify MCP 服务器。首先,点击本节顶部的一键安装按钮之一进行一键安装。
或者,将以下 JSON 块添加到 VS Code 的用户设置 (JSON) 文件中。您可以通过按下 Ctrl + Shift + P
并输入 Preferences: Open User Settings (JSON)
来完成此操作。
json
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "apify_token",
"description": "Apify API Token",
"password": true
}
],
"servers": {
"actors-mcp-server": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server"],
"env": {
"APIFY_TOKEN": "${input:apify_token}"
}
}
}
}
}
可选地,您可以将其添加到工作区中的 .vscode/mcp.json
文件中——只需省略顶层的 mcp {}
键即可。这将允许您与他人共享配置。
如果您想指定要加载的 Actors,可以添加 --actors
参数:
json
{
"servers": {
"actors-mcp-server": {
"command": "npx",
"args": [
"-y", "@apify/actors-mcp-server",
"--actors", "lukaskrivka/google-maps-with-contact-details,apify/instagram-scraper"
],
"env": {
"APIFY_TOKEN": "${input:apify_token}"
}
}
}
}
VS Code
一键安装,请点击以下安装按钮之一:
手动安装
您可以手动在 VS Code 中安装 Apify MCP 服务器。首先,点击本节顶部的一键安装按钮之一进行一键安装。
或者,将以下 JSON 块添加到 VS Code 的用户设置 (JSON) 文件中。您可以通过按下 Ctrl + Shift + P
并输入 Preferences: Open User Settings (JSON)
来完成此操作。
json
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "apify_token",
"description": "Apify API Token",
"password": true
}
],
"servers": {
"actors-mcp-server": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server"],
"env": {
"APIFY_TOKEN": "${input:apify_token}"
}
}
}
}
}
可选地,您可以将其添加到工作区中的 .vscode/mcp.json
文件中——只需省略顶层的 mcp {}
键即可。这将允许您与他人共享配置。
如果您想指定要加载的 Actors,可以添加 --actors
参数:
json
{
"servers": {
"actors-mcp-server": {
"command": "npx",
"args": [
"-y", "@apify/actors-mcp-server",
"--actors", "lukaskrivka/google-maps-with-contact-details,apify/instagram-scraper"
],
"env": {
"APIFY_TOKEN": "${input:apify_token}"
}
}
}
}
使用 @modelcontextprotocol/inspector 调试 NPM 包 @apify/actors-mcp-server
要调试服务器,请使用 MCP Inspector 工具:
shell
export APIFY_TOKEN=your-apify-token
npx @modelcontextprotocol/inspector npx -y @apify/actors-mcp-server
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 Apify Actors MCP 服务器:
bash
npx -y @smithery/cli install @apify/actors-mcp-server --client claude
Stdio 客户端
创建一个名为 .env
的环境文件,内容如下:
text
APIFY_TOKEN=your-apify-token
在 examples
目录中,您可以找到一个示例客户端,通过标准输入/输出 (stdio) 与服务器交互:
clientStdio.ts
此客户端脚本启动包含两个指定 Actors 的 MCP 服务器。
然后,它调用apify/rag-web-browser
工具并打印结果。
它演示了如何连接到 MCP 服务器、列出可用工具并使用 stdio 传输调用特定工具。bashnode dist/examples/clientStdio.js
👷🏼 开发
先决条件
- Node.js(v18 或更高版本)
- Python 3.9 或更高版本
创建一个名为 .env
的环境文件,内容如下:
text
APIFY_TOKEN=your-apify-token
构建 actor-mcp-server 包:
bash
npm run build
本地客户端 (SSE)
要使用 SSE 传输测试服务器,您可以使用脚本 examples/clientSse.ts
:
目前,Node.js 客户端不支持建立带有自定义标头的远程服务器连接。
您需要在脚本中将 URL 更改为您的本地服务器 URL。
bash
node dist/examples/clientSse.js
调试
由于 MCP 服务器通过标准输入/输出 (stdio) 运行,因此调试可能会很困难。
为了获得最佳调试体验,请使用 MCP Inspector。
您可以通过 npm
使用以下命令启动 MCP Inspector:
bash
export APIFY_TOKEN=your-apify-token
npx @modelcontextprotocol/inspector node ./dist/stdio.js
启动后,Inspector 将显示一个 URL,您可以在浏览器中访问该 URL 开始调试。
ⓘ 限制和反馈
Actor 输入模式经过处理以兼容大多数 MCP 客户端,同时遵守 JSON Schema 标准。处理包括:
- 描述 截断为 500 个字符(在
MAX_DESCRIPTION_LENGTH
中定义)。 - 枚举字段 截断为所有元素的最大组合长度为 200 个字符(在
ACTOR_ENUM_MAX_LENGTH
中定义)。 - 必填字段 明确标记为“REQUIRED”前缀在其描述中,以兼容可能无法正确处理 JSON 模式的框架。
- 嵌套属性 为特殊情况(如代理配置和请求列表来源)构建,以确保正确的输入结构。
- 数组项类型 在未在模式中明确定义时推断,使用优先级顺序:items 中的显式类型 > 预填充类型 > 默认值类型 > 编辑器类型。
- 枚举值和示例 添加到属性描述中,以确保即使客户端不完全支持 JSON 模式也能可见。
每个 Actor 的内存限制为 4GB。
免费用户有 8GB 的限制,需要为运行 Actors-MCP-Server
分配 128MB。
如果您需要其他功能或有任何反馈,请在 Apify 控制台中 提交问题 告知我们。
🚀 路线图(2025 年 3 月)
- 添加 Apify 的数据集和键值存储作为资源。
- 添加调试工具,如 Actor 日志和 Actor 运行记录。
🐛 故障排除
- 确保通过运行
node -v
安装了node
- 确保设置了
APIFY_TOKEN
环境变量 - 始终通过设置
@apify/actors-mcp-server@latest
使用最新版本的 MCP 服务器