Actors 微云服务器

@apify/actors-mcp-server
0 Stars 440 次浏览 apify 更新于 2026-08-23

使用 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) 服务器

Actors MCP Server
smithery badge

为所有 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 作为工具来执行特定任务。例如它可以:

MCP 客户端

要与 Apify MCP 服务器交互,可以使用以下 MCP 客户端:

此外,您还可以使用 examples 目录中的简单示例客户端。

当您的 Actors 与 MCP 服务器集成后,您可以询问:

  • "搜索网络并总结关于 AI 代理的最新趋势"
  • "找到旧金山排名前十的最佳意大利餐厅"
  • "查找并分析 The Rock 的 Instagram 个人资料"
  • "提供使用 Model Context Protocol 并附带源 URL 的分步指南。"
  • "我可以使用哪些 Apify Actors?"

下图展示了 Apify MCP 服务器如何与 Apify 平台和 AI 客户端进行交互:

Actors-MCP-server

使用 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 命令测试服务器。</>

  1. 通过向以下URL发送GET请求来启动服务器发送事件(SSE):

    curl https://actors-mcp-server.apify.actor/sse?token=<APIFY_TOKEN>
    

    服务器将响应一个sessionId,您可以使用它向服务器发送消息:

    event: endpoint
    data: /message?sessionId=a1b
    
  2. 使用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
    
  3. 接收响应。服务器会根据提供的查询参数调用指定的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用户指南

  1. 下载桌面版 Claude

    • 支持 Windows 和 macOS。
    • 对于 Linux 用户,可以使用此 非官方构建脚本 构建 Debian 包。
  2. 打开 Claude 桌面应用程序,并从左上角的菜单栏启用 开发者模式

  3. 启用后,打开 设置(同样从左上角的菜单栏),然后导航到 开发者选项,在那里你会找到 编辑配置 按钮。

  4. 打开配置文件并编辑以下文件:

    • 在 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"
        }
      }
    }
    }
    
  5. 重启 Claude 桌面

    • 完全退出 Claude 桌面(确保它不是最小化或关闭)。
    • 重新启动 Claude 桌面。
    • 查找 🔌 图标以确认 Exa 服务器已连接。
  6. 打开 Claude 桌面聊天并询问 "我可以使用哪些 Apify Actors?"

    Claude-desktop-with-Actors-MCP-server

  7. 示例

    你可以要求 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) 与服务器交互的客户端:

  1. clientStdio.ts
    该客户端脚本启动了MCP服务器,并指定了两个Actor。
    然后它使用一个查询调用apify/rag-web-browser工具并打印结果。
    它演示了如何通过stdio传输连接到MCP服务器、列出可用工具以及调用特定工具。

    node dist/examples/clientStdio.js
    
  2. 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 运行。

📚 了解更多

相关 MCP 服务