Actor交互服务器

Apify MCP服务器是一个实现Model Context Protocol(MCP)的服务,允许AI助手通过MCP协议与Apify Actors进行交互,执行数据提取、网页搜索等任务。适用于AI代理开发、数据抓取和自动化任务场景。

  • by ampcome-mcps
  • TypeScript
  • 混合部署
  • 更新于
在 GitHub 查看 ampcome-mcps/apify-mcp

使用说明

指定模型上下文协议(MCP)服务器

为所有人实施MCP服务器 优化演员. 此服务器允许与MCP服务器配置中定义的一个或多个Apify Actor进行交互。

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

  • 🇦 MCP服务器执行器 –可通过服务器发送事件(SSE)访问HTTP服务器,请参阅 指南
  • ⾕ MCP服务器标准 –本地服务器可通过标准输入/输出(stdio)访问,请参阅 指南

您还可以使用类似聊天的UI与MCP服务器进行交互💬 测试仪MCP客户端

🎯 Apify MCP服务器做什么?

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

MCP客户端

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

当您将Actor与MCP服务器集成时,您可以问:

  • “搜索网络并总结人工智能代理的最新趋势”
  • “查找旧金山十大最好的意大利餐厅”
  • “查找并分析the Rock的Instagram个人资料”
  • “提供关于使用源URL的模型上下文协议的分步指南”
  • “我可以使用哪些Apify演员?”

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

使用MCP Tester客户端,您可以动态加载Actor,但其他MCP客户端尚不支持。 我们还计划添加更多功能,请参阅 路线图 了解更多详情。

🔄 什么是模型上下文协议?

模型上下文协议(MCP)允许人工智能应用程序(和人工智能代理)(如Claude Desktop)连接到外部工具和数据源。 MCP是一种开放协议,可在AI应用程序、AI代理和本地或远程资源之间实现安全、受控的交互。

有关更多信息,请参阅 模型上下文协议 网站或博客文章 什么是MCP,为什么它很重要?.

🤖 MCP服务器与AI代理有什么关系?

Apify MCP服务器通过MCP协议公开Apify的Actor,允许实现MCP协议的AI代理或框架访问所有Apify Actor作为数据提取、网络搜索和其他任务的工具。

要了解有关AI代理的更多信息,请浏览我们的博客文章: 什么是AI代理? 浏览Apify的精选 AI代理集合. 有兴趣在Apify上构建自己的AI代理并将其货币化吗?查看我们的 分步指南 用于在Apify平台上创建、发布和货币化AI代理。

🧱 组件

工具

演员

任何 Apify演员 可以用作工具。 默认情况下,服务器预先配置了下面指定的Actor,但可以通过提供Actor输入来覆盖。

'apify/rag-web-browser'

MCP服务器加载Actor输入模式,并创建与Actor对应的MCP工具。 请参阅此输入模式示例 RAG网络浏览器.

工具名称必须始终是完整的Actor名称,例如 apify/rag-web-browser. MCP工具的参数表示Actor的输入参数。 例如,对于 apify/rag-web-browser 演员,论点是:

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

您不需要指定输入参数或调用哪个Actor;一切都由LLM管理。 当调用工具时,LLM会自动将参数传递给Actor。 您可以参考特定Actor的文档以获取可用参数的列表。

辅助工具

MCP与Apify的强大功能之一是动态参与者工具——AI代理根据需要找到新工具(参与者)并将其整合的能力。以下是一些特殊的MCP操作以及Apify MCP Server如何支持它们:

  • 演员发现和管理:寻找演员(search-actors),查看详细信息(get-actor-details),并动态添加它们(add-actor).
  • Apify文档:搜索Apify文档(search-apify-docs)并获取特定文档(fetch-apify-docs).
  • 内置帮助工具:静态助手(apify-actor-help-tool)它返回Apify MCP服务器的使用信息。

提示和资源

服务器不提供任何资源和提示。 我们计划添加 Apify的数据集 和 键值存储 作为未来的资源。

⚙️ 用法

Apify MCP服务器有两种使用方式: 作为Apify演员 在Apify平台上运行 或作为a 本地服务器 在你的机器上运行。

🇦 MCP服务器执行器

备用web服务器

演员跑了进来 待机模式 具有接收和处理请求的HTTP web服务器。

要使用默认Actor启动服务器,请使用您的 Apify API令牌 转到以下URL:

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商店.

💬 通过SSE与MCP服务器交互

服务器运行后,您可以与服务器发送事件(SSE)交互,向服务器发送消息并接收响应。 最简单的方法是使用 测试仪MCP客户端 关于Apify。

克劳德桌面 目前缺乏SSE支持,但您可以将其与Stdio传输一起使用;看见 本地主机上的MCP服务器 了解更多详情。 注意:免费版的Claude Desktop可能会遇到与服务器的间歇性连接问题。

在客户端设置中,您需要提供服务器配置:

{
    "mcpServers": {
        "apify": {
            "type": "sse",
            "url": "https://actors-mcp-server.apify.actor/sse",
            "env": {
                "APIFY_TOKEN": "your-apify-token"
            }
        }
    }
}

⾕ 本地主机上的MCP服务器

您可以通过使用Claude Desktop或任何其他配置在本地计算机上运行Apify MCP服务器 MCP客户端. 您还可以使用 史密瑟里 自动安装服务器。

先决条件

  • MacOS或Windows
  • 必须安装最新版本的Claude Desktop(或其他MCP客户端)
  • Node.js (v18或更高版本)
  • Apify API代币 (APIFY_TOKEN)

确保你有 node 和 npx 正确安装:

node -v
npx -v

如果没有,请按照以下指南安装Node.js: 下载并安装Node.js和npm.

克劳德桌面

要配置Claude Desktop以与MCP服务器一起工作,请执行以下步骤。有关详细指南,请参阅 克劳德桌面用户指南 或观看 视频教程.

  1. 下载克劳德桌面版

    • 适用于Windows和macOS。
    • 对于Linux用户,您可以使用以下命令构建Debian软件包 非官方构建脚本.
  2. 打开Claude Desktop应用程序并启用 开发人员模式 从左上角的菜单栏。

  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 Actor的参数:

    {
    "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 Desktop(确保它不是最小化或关闭的)。
    • 重新启动克劳德桌面。
    • 寻找🔌 图标确认Actors MCP服务器已连接。
  6. 打开克劳德桌面聊天,问“我可以使用哪些Apify Actor?”

  7. 例子

    您可以要求Claude执行以下任务:

    Find and analyze recent research papers about LLMs.
    Find the top 10 best Italian restaurants in San Francisco.
    Find and analyze the Instagram profile of The Rock.
    

要了解如何在Claude上设置和运行MCP服务器,您可以观看此短视频教程▷ 在YouTube上:

Apify MCP服务器教程:将5000多个Apify Actor和Agent集成到Claude中

VS代码

对于一键安装,请单击下面的安装按钮之一:

手动安装

您可以在VS Code中手动安装Apify MCP服务器。首先,单击本节顶部的安装按钮之一进行一键安装。

或者,将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open User Settings (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 {} 钥匙。这将允许您与他人共享配置。

如果要指定要加载的Actor,可以添加 --actors 论点:

{
  "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代码

对于一键安装,请单击下面的安装按钮之一:

手动安装

您可以在VS Code中手动安装Apify MCP服务器。首先,单击本节顶部的安装按钮之一进行一键安装。

或者,将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open User Settings (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 {} 钥匙。这将允许您与他人共享配置。

如果要指定要加载的Actor,可以添加 --actors 论点:

{
  "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服务器

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

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

👷🏼 发展

先决条件

  • Node.js (v18或更高版本)
  • Python 3.9或更高版本

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

APIFY_TOKEN=your-apify-token

构建actor-mcp服务器包:

npm run build

本地客户(SSE)

要使用SSE传输测试服务器,可以使用以下脚本 examples/clientSse.ts: 目前,Node.js客户端不支持使用自定义标头建立与远程服务器的连接。 您需要在脚本中将URL更改为本地服务器URL。

node dist/examples/clientSse.js

调试

由于MCP服务器在标准输入/输出(stdio)上运行,调试可能具有挑战性。 为了获得最佳的调试体验,请使用 MCP检查员.

您可以通过以下方式启动MCP检查器 npm 使用此命令:

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

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

ⓘ 限制和反馈

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

  • 描述 被截断为500个字符(如中所定义 MAX_DESCRIPTION_LENGTH).
  • 枚举字段 所有元素的最大组合长度被截断为200个字符(如中所定义 ACTOR_ENUM_MAX_LENGTH).
  • 必填字段 在其描述中明确标记为“REQUIRED”前缀,以与可能无法正确处理JSON模式的框架兼容。
  • 嵌套属性 为代理配置和请求列表源等特殊情况而构建,以确保正确的输入结构。
  • 数组项类型 当模式中没有明确定义时,使用优先级顺序推断:项目中的显式类型>预填充类型>默认值类型>编辑器类型。
  • 枚举值和示例 添加到属性描述中以确保可见性,即使客户端不完全支持JSON模式。

每个Actor的内存限制为4GB。 免费用户有8GB的限制,需要分配128MB才能运行 Actors-MCP-Server.

如果您需要其他功能或有任何反馈, 提交问题 在Apify Console中让我们知道。

🚀 路线图(2025年3月)

  • 添加Apify的数据集和键值存储作为资源。
  • 添加Actor日志和Actor运行等工具进行调试。

🐛 故障排除

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

📚 了解更多