Apify
官方Apify 官方 MCP 服务器,供 AI 代理运行 Actors、提取网站数据,并自动化网页抓取与爬取工作流。
你可以用 Apify MCP 做什么?
- 搜索并运行爬虫 — 让您的助手在 Apify Store 中查找 Actor 并运行它,通过
search-actors和call-actor从社交媒体、地图或电商网站提取数据。 - 浏览网页 — 让您的助手使用预配置的
apify--web-fetchActor 工具获取任何 URL,并将内容返回为 Markdown 或纯文本。 - 使用 RAG 进行研究 — 让您的助手使用
apify--rag-web-browserActor 工具搜索网页并总结最相关的结果。 - 管理 Actor 运行 — 使用
get-actor-run和get-dataset-items等工具检索运行结果、分页浏览数据集或中止正在运行的任务。 - 无需 API 令牌即可支付 — 通过 AGI、直接 x402 或 Skyfire 使用代理支付来运行 Actor,而无需
APIFY_TOKEN。
文档
mcp.apify.com
位于 mcp.apify.com 的 Apify 模型上下文协议(MCP)服务器使您的 AI 代理能够使用 Apify Store 中数千个现成的抓取器、爬虫和自动化工具,从社交媒体、搜索引擎、地图、电子商务网站以及任何其他网站提取数据。它支持 OAuth,允许您仅通过 URL 从 Claude.ai 或 Visual Studio Code 等客户端连接。
🚀 使用托管的 Apify MCP 服务器!
为了获得最佳体验,请将您的 AI 助手连接到我们的托管服务器
https://mcp.apify.com。托管服务器支持最新功能——包括结构化 Actor 结果的输出模式推断——这些功能在通过 stdio 本地运行时不可用。
⚠️ 旧版 SSE 传输已移除。
https://mcp.apify.com/sse端点已被移除,取而代之的是 Streamable HTTP。请将您的客户端迁移至https://mcp.apify.com——从您的配置中删除/sse后缀。
💰 该服务器还支持 代理支付:从 AGI 购买令牌以运行任何 Actor,或通过 直接 x402(仅限按事件付费 Actor)或 Skyfire 按请求付费。
Apify MCP 服务器与 Claude Code, Claude.ai, Cursor, VS Code 以及任何遵循模型上下文协议的客户端兼容。
有关更多详细信息,请参阅 MCP 客户端部分 或访问 MCP 配置页面。

目录
- 🌐 Apify MCP 服务器简介
- 🚀 快速入门
- 🤖 MCP 客户端
- 🪄 立即试用 Apify MCP
- 💰 代理支付
- 🛠️ 工具、资源和提示
- 📊 遥测
- 💬 使用示例
- 🐛 故障排除
- ⚙️ 开发
- 🔒 隐私政策
- 🤝 贡献
- 📚 了解更多
🌐 Apify MCP 服务器简介
Apify MCP 服务器允许 AI 助手将任何 Apify Actor 用作工具来执行特定任务。 例如,它可以:
- 使用 Facebook 帖子抓取器 从多个页面/个人资料中提取 Facebook 帖子的数据。
- 使用 Google 地图邮箱提取器 从 Google 地图中提取联系信息。
- 使用 Google 搜索结果抓取器 抓取 Google 搜索引擎结果页面(SERPs)。
- 使用 Instagram 抓取器 抓取 Instagram 帖子、个人资料、地点、照片和评论。
- 使用 RAG 网页浏览器 搜索网页、抓取前 N 个 URL 并返回其内容。
- 使用 网页抓取 获取任何 URL 并将其内容返回为 Markdown、纯文本、HTML 或链接——支持 JavaScript 渲染和反机器人保护。
视频教程:将 8,000+ 个 Apify Actor 和代理与 Claude 集成
🚀 快速入门
您可以通过两种方式使用 Apify MCP 服务器:
HTTPS 端点(mcp.apify.com):通过 OAuth 或包含 Authorization: Bearer <APIFY_TOKEN> 标头从您的 MCP 客户端连接。这是大多数用例的推荐方法。由于它支持 OAuth,您可以使用 URL 从 Claude.ai 或 Visual Studio Code 等客户端连接: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。
您可以在 Apify 文档 中找到设置 MCP 服务器的详细说明。
🤖 MCP 客户端
Apify MCP 服务器与任何遵循 模型上下文协议 的 MCP 客户端兼容,但动态工具发现和其他功能的支持水平可能因客户端而异。
要与 Apify MCP 服务器交互,您可以使用 Claude Desktop、Visual Studio Code 或 Apify Tester MCP 客户端 等客户端。
访问 mcp.apify.com 为您偏好的客户端配置服务器。

已测试的客户端
- Claude Desktop
- Claude.ai(网页版)
- ChatGPT
- VS Code(Genie)
- Cursor
- OpenCode
- Kiro
- Apify Tester MCP 客户端 — 专为测试 Apify MCP 服务器而设计
🪄 立即试用 Apify MCP
想无需任何设置就试用 Apify MCP?
这个交互式、类似聊天的界面提供了一种无需任何本地设置即可探索 Apify MCP 功能的简便方式。 使用您的 Apify 账户登录,开始体验网页抓取、数据提取和自动化工具!
或者使用 MCP 捆绑文件(以前称为 Anthropic Desktop 扩展文件或 DXT)进行一键安装:Apify MCP 服务器 MCPB 文件
💰 代理支付
您可以使用 AGI、直接 x402 或 Skyfire 支付 Actor 运行费用,而无需 Apify API 令牌。
- AGI(agi.apify.com)通过 x402 或 MPP 支付铸造预付的 Apify API 令牌。像普通 API 令牌一样使用它来访问
mcp.apify.com和api.apify.com——适用于任何 Actor,而不仅仅是按事件付费的 Actor。推荐用于新集成;请参阅下面的 AGI(推荐)。 - 直接 x402 在 Base 上按请求使用 USDC 支付,无需单独的平台账户。它完全受
mcpc(brew install apify/tap/mcpc或npm install -g @apify/mcpc)支持。我们使用mcpc,因为它是少数原生支持最新功能和 x402 协议的 MCP 客户端之一。 - Skyfire 使用 PAY 令牌支付,需要拥有资金钱包的 Skyfire 账户。它不需要特殊的 MCP 客户端;整个支付流程直接通过 MCP 工具调用参数处理。
ℹ️ 范围: 直接 x402 和 Skyfire 都仅限于按事件付费 Actor,不支持 Standby Actor,并且按运行结算而不是铸造令牌。
代理支付如何运作
Actor 运行成本各不相同,因此两种支付方式都使用预付余额模型。支付流程分四个步骤进行:
- 发现:代理通过
search-actors或fetch-actor-details发现 Actor。这些调用是免费的。 - 预付:在运行付费 Actor 工具之前,代理为预付余额充值。
- 直接 x402:
mcpc自动签署一笔 $1.00 USDC 交易。 - Skyfire:代理使用 Skyfire 的
create-pay-token工具创建 PAY 令牌(最低 $5.00)。
- 直接 x402:
- 执行:代理调用 Actor 工具。
- 直接 x402:由
mcpc使用预付余额自动处理。 - Skyfire:代理在
skyfire-pay-id输入属性中显式传递 PAY 令牌。
- 直接 x402:由
- 结算:工具返回 Actor 结果。未使用的资金保留供后续运行使用。
- 直接 x402:在 Base 上不活动 60 分钟后,服务器将任何未使用的余额退还到钱包。
- Skyfire:Skyfire 在令牌过期时退还未使用的资金。
🪙 AGI(推荐)
AGI(Apify 代理通用接口)是自主代理无需账户即可支付 Apify 使用费用的推荐方式。通过 x402 或 MPP 支付一次,即可收到预付、有消费上限的 Apify API 令牌,并直接用于 mcp.apify.com 和 api.apify.com(Authorization: Bearer <token>)——适用于任何 Actor。
完整协议、支持的支付方式以及当前条款(最低金额、令牌有效期、退款政策)记录在 agi.apify.com/AGENTS.md——请将其视为唯一权威来源。
💸 直接 x402
x402 协议 支持直接的机器对机器支付。您的 MCP 客户端可以使用它在 Base 区块链 上使用 USDC 支付 Actor 运行费用,完全无需 Apify API 令牌。
前提条件
- 在 Base 主网上拥有包含 USDC 的钱包。
设置
创建或导入钱包:
# Create a new wallet
mcpc x402 init
# Import an existing wallet
mcpc x402 import <private-key>
# Show the wallet address and a funding QR code, so you can fund it with USDC on Base (https://base.org)
mcpc x402
启用 x402 连接到服务器:
mcpc connect "mcp.apify.com?payment=x402" @apify --x402
您现在可以调用付费工具:
mcpc @apify tools-call call-actor actor:="apify/rag-web-browser" input:='{"query": "latest AI news"}'
🔥 Skyfire
Skyfire 为 AI 代理提供托管支付基础设施。您的代理无需使用 Apify API 令牌进行身份验证,而是传递 Skyfire 支付令牌以使用 PAY 令牌支付每次工具调用的费用。
前提条件
- 拥有资金钱包的 Skyfire 账户。
- 支持多个服务器的 MCP 客户端,如 Claude Desktop、OpenCode 或 VS Code。
设置
在您的客户端中配置 Skyfire MCP 服务器和 Apify MCP 服务器。在 Apify 服务器 URL 中添加 payment=skyfire:
{
"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 集成文档。使用 Skyfire 进行代理支付 一文提供了更多背景信息。
🛠️ 工具、资源和提示
MCP 服务器提供一组用于与 Apify Actor 交互的工具。 由于 Apify Store 规模庞大且增长迅速,MCP 服务器提供了一种动态发现和使用新 Actor 的方式。
Actor
任何 Apify Actor 都可以用作工具。
默认情况下,服务器预配置了两个 Actor,apify/rag-web-browser 和 apify/web-fetch,以及几个辅助工具。
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 Actors:搜索 Actors,列出您账户中的 Actors,查看其详细信息,将其用作 AI 的工具,并删除您自己的 Actors。
- Apify 文档:搜索 Apify 文档并获取特定文档以向 AI 提供上下文。
- Actor 运行:获取您的 Actor 运行列表,检查其详细信息,并检索日志。
- Apify 存储:访问数据集和键值存储中的数据。
- Actor 任务:创建、检查和更新您保存的 Actor 任务,并发布或取消发布其公共落地页。
- 计划:创建、检查、更新和删除自动运行您的 Actors 和任务的计划。
- 构建:构建 Actor 版本,列出构建,检查构建状态,并检索其构建日志。
- Actor 源代码:读取 Actor 版本的文件,包含每个文件的哈希值和整个文件集的修订号。
- Apify API:搜索 Apify API 参考,检查操作,并向 API 发送请求以读取或更改数据。
可用工具概述
以下是 Apify MCP 服务器提供的所有工具的概述列表。
默认启用列的图例:
- ✅ — 在默认工具集中。
- ⚡ — 当存在
call-actor、Actor 工具或get-actor-run时自动注入(在默认配置中为真)。 - ✅¹ — 默认提供,但仅在遥测启用且客户端未被排除时:Anthropic 界面(Claude.ai / Claude Desktop / Claude Code)或
local-agent-mode-apify。要禁用,请传递一个省略它的显式tools=列表。显式选择它(tools=report-problem或tools=dev)会无论客户端如何都提供服务——遥测仍然必须启用。
| 工具名称 | 类别 | 描述 | 默认启用 |
|---|---|---|---|
search-actors | actors | 在 Apify Store 中搜索 Actors。 | ✅ |
fetch-actor-details | actors | 检索特定 Actor 的详细信息,包括其输入模式、README(有摘要时提供摘要,否则提供全文)、定价和 Actor 输出模式。 | ✅ |
call-actor | actors | 调用 Actor 并获取其运行结果。请先使用 fetch-actor-details 获取 Actor 的输入模式。 | ✅ |
get-actor-run | runs | 获取特定 Actor 运行的详细信息。 | ⚡ |
get-dataset-items | storage | 从数据集检索项目,支持过滤和分页。 | ⚡ |
get-key-value-store-record | storage | 获取键值存储中特定键关联的值。 | ⚡ |
abort-actor-run | runs | 中止正在运行的 Actor 运行,可选择优雅中止。 | ⚡ |
delete-actor | none (按名称选择:tools=delete-actor) | 从您的账户永久删除 Actor。公共 Actors 必须先取消发布。 | |
search-apify-docs | docs | 搜索 Apify 文档以查找相关页面。 | ✅ |
fetch-apify-docs | docs | 通过 URL 获取 Apify 文档页面的完整内容。 | ✅ |
apify--rag-web-browser | Actor (参见 工具配置) | 用于浏览网页的 Actor 工具。 | ✅ |
apify--web-fetch | Actor (参见 工具配置) | 用于获取 URL 并返回其内容的 Actor 工具。 | ✅ |
report-problem | dev | 向 Apify 团队报告 Apify 工具或 Actor 的问题。 | ✅¹ |
get-actor-list | none (按名称选择:tools=get-actor-list) | 列出您拥有的 Actors 以及与您共享的 Actors,包括私有的。 | |
get-actor-run-list | runs | 获取 Actor 运行列表,可按 Actor 和状态过滤。 | |
get-actor-run-log | runs | 检索特定 Actor 运行的日志。 | |
get-dataset | storage | 获取特定数据集的元数据。 | |
get-dataset-schema | storage | 从数据集项目生成 JSON 模式。 | |
get-key-value-store | storage | 获取特定键值存储的元数据。 | |
get-key-value-store-keys | storage | 列出特定键值存储中的键。 | |
get-dataset-list | storage | 列出用户所有可用的数据集。 | |
get-key-value-store-list | storage | 列出用户所有可用的键值存储。 | |
create-actor-task | tasks | 创建保存的 Actor 任务(一个命名的、可重用的 Actor 配置)。 | |
get-actor-task | tasks | 获取保存的 Actor 任务、其发布状态和公共显示配置。 | |
update-actor-task | tasks | 更新任务的输入、运行选项或公共显示配置。 | |
publish-actor-task | tasks | 在任务的公共落地页上发布任务。 | |
unpublish-actor-task | tasks | 从任务的公共落地页取消发布任务。 | |
create-schedule | schedules | 创建按 cron 节奏运行 Actors 或任务的计划。 | |
get-schedule | schedules | 获取计划、其 cron 表达式、状态及其运行的操作。 | |
update-schedule | schedules | 更新计划:cron 表达式、时区、启用状态或操作。 | |
delete-schedule | schedules | 删除计划。 | |
get-actor-build | builds | 获取 Actor 构建的状态。 | |
get-actor-build-log | builds | 检索特定 Actor 构建的日志。 | |
get-actor-build-list | builds | 列出账户的构建,或某个 Actor 的构建,按所有状态,最新的在前。 | |
build-actor | builds | 构建 Actor 版本并等待有限时间让构建完成。 | |
get-actor-version | source | 获取 Actor 版本的文件列表(含哈希值)以及您请求的文件内容。 | |
apify-api-search | api | 按关键字搜索 Apify API 参考中的操作。返回每个操作的方法、路径和文档页面。 | |
apify-api-details | api | 获取路径上 Apify API 操作的参数和请求体模式。 | |
apify-api-read | api | 向任何 Apify API 路径发送 GET 请求,例如 actor-runs 或 /v2/actor-runs,类似于 Apify CLI 中的 apify api。它拒绝 method 查询参数。 | |
apify-api-write | none (按名称选择:tools=apify-api-write) | 向任何 Apify API 路径发送 POST、PUT、PATCH 或 DELETE 请求,带有 JSON 请求体,类似于 Apify CLI 中的 apify api。它拒绝 method 查询参数。 |
注意:
当存在
call-actor、Actor 工具或get-actor-run时,服务器会自动注入get-actor-run、get-dataset-items、get-key-value-store-record和abort-actor-run。当您调用 Actor 时——通过
call-actor或直接通过 Actor 工具(例如apify--rag-web-browser)——响应包含运行元数据、存储 ID 以及summary+nextStep,但不包含数据集项目。要获取项目,请遵循nextStep并调用get-dataset-items(自动注入),传递调用返回的datasetId。
工具注解
所有工具都包含元数据注解,以帮助 MCP 客户端和 LLM 理解工具行为:
title:工具的简短显示名称(例如“搜索 Actors”、“调用 Actor”、“apify/rag-web-browser”)readOnlyHint:对于仅读取数据而不修改状态的工具为true(例如get-dataset、fetch-actor-details)。Actor 工具仅对 Apify 维护的、权限有限且没有秘密、可写存储、MCP 连接器或代码输入的 Actors 获得此注解(例如apify--web-fetch);其他 Actor 工具被标记为破坏性。openWorldHint:对于访问 Apify 平台外部资源的工具为true(例如call-actor执行外部 Actors)。仅与 Apify 平台交互的工具(如search-actors或fetch-apify-docs)没有此提示。
工具配置
tools 配置参数用于指定加载的工具——直接指定类别或特定工具,以及 Apify Actors。例如,tools=storage,runs 加载两个类别;tools=call-actor 仅加载一个工具。
当未提供查询参数时,MCP 服务器默认加载以下 tools:
actorsdocsapify/rag-web-browserapify/web-fetch
如果指定了 tools 参数,则仅启用列出的工具或类别——不会包含默认工具。
report-problem 默认提供(受上述脚注中的门控限制),但位于 dev 类别中,因此显式的 tools=dev 也会选择它。要禁用它,请传递一个省略它的显式 tools= 列表(例如 tools=actors,docs)。
简易配置:
使用 UI 配置器 配置您的服务器,然后将配置复制到您的客户端。
配置托管服务器:
托管服务器可以使用 URL 中的查询参数进行配置。例如,要加载默认工具,请使用:
https://mcp.apify.com?tools=actors,docs,apify/rag-web-browser,apify/web-fetch
对于最小配置,如果您只想使用单个 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,apify/web-fetch
最小配置与托管服务器配置类似:
npx @apify/actors-mcp-server --tools apify/my-actor
如上所述,这仅将指定的 Actor(apify/my-actor)作为工具暴露。没有其他工具可用。
⚠️ 重要建议
默认工具配置可能在将来版本中更改。 当未指定
tools参数时,服务器当前会加载默认工具,但此行为可能会更改。对于生产使用和稳定接口,请始终显式指定
tools参数,以确保您的配置在更新中保持一致。
UI 模式配置
ui 参数启用工具响应中的 MCP Apps 小部件渲染。启用后,像 search-actors 这样的工具会返回交互式 MCP App 响应。
配置托管服务器:
使用 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。
- 在内部它们被合并到
enableAddingActors(URL)、enable-adding-actors(CLI)和旧的enableActorAutoLoading别名已被移除。要动态调用 Actors,请使用tools=call-actor(默认通过actors类别包含)。任何遗留的原始值都会被忽略。- 默认值保持兼容:当未指定
tools时,服务器加载actors、docs、apify/rag-web-browser和apify/web-fetch。- 如果指定了任何
tools,则不会添加默认值(与 v1 显式选择的意图相同)。
- 如果指定了任何
call-actor现在默认通过actors类别包含(增量更改)。要排除它,请指定一个不包含actors的显式tools列表。tools=add-actor、tools=experimental和tools=preview已退役:它们被忽略且不加载任何工具。请改用tools=call-actor(或默认的actors类别)。tools=get-actor-log已退役:该工具已重命名为get-actor-run-log。旧的选择器被忽略且不加载任何工具。请改用tools=get-actor-run-log(或runs类别)。 使用?actors=...或--actors的现有 URL 和命令将继续正常工作,无需更改。
提示(Prompts)
服务器声明了 prompts 能力,但目前未注册任何提示——prompts/list 返回空列表。
资源(Resources)
您的 Apify 数据不会在 resources/list 中枚举——读取是按需进行的:将任何 Apify API GET URL(https://api.apify.com/v2/...)传递给 resources/read,服务器会注入会话的 Apify 令牌并返回响应体。resources/templates/list 枚举常见的数据形态——数据集条目、键值存储记录和键、运行元数据、运行日志——及其分页参数。响应内联最多 256 KB;更大的内容将返回一条简短通知及下载 URL,而非响应体。API 读取需要 Apify 令牌,因此仅限付费的会话(x402 或 Skyfire)会收到 JSON-RPC 错误。
💬 使用示例
以下是展示 AI 助手如何使用 Apify MCP 服务器工具的真实示例。
示例 1:使用 RAG Web Browser 搜索网络
用户提示:
查找关于自主 AI 代理的最新新闻,并总结关键进展。
AI 助手调用预配置的 apify--rag-web-browser Actor 工具来搜索网络,并返回顶级结果的内容。
该工具返回前 3 个搜索结果的 Markdown 内容,AI 助手随后为用户进行总结。
示例 2:从 Apify Store 发现并运行 Actor
用户提示:
从 Google Maps 抓取布拉格排名前 10 的餐厅及其联系方式。
AI 助手首先搜索合适的 Actor,检查其输入模式,然后执行它。 该工具返回抓取数据的预览,包括餐厅名称、地址、评分、电话号码和网站。
示例 3:检索并分页浏览 Actor 运行结果
用户提示:
显示该次抓取运行的下 10 条结果。
AI 助手使用之前 Actor 运行的数据集 ID 来获取更多条目。 预期输出:该工具从 Actor 的输出数据集中返回下一页的结构化数据条目。
📡 遥测
Apify MCP 服务器收集有关工具调用的遥测数据,以帮助 Apify 了解使用模式并改进服务。 默认情况下,所有工具调用均启用遥测。
stdio 传输还使用 Sentry 进行错误跟踪,这有助于我们更快地识别和修复问题。 当选择退出遥测时,Sentry 会自动禁用。
选择退出遥测
您可以通过将 --telemetry-enabled CLI 标志设置为 false,或将 TELEMETRY_ENABLED 环境变量设置为 false 来选择退出遥测(包括 Sentry 错误跟踪)。
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
⚙️ 开发
请参阅 CONTRIBUTING.md 指南,了解贡献指南和提交消息约定。
有关详细的开发设置、项目结构和本地测试说明,请参阅 DEVELOPMENT.md 指南。
先决条件
- Node.js(v22 或更高版本)
创建环境文件 .env,内容如下:
APIFY_TOKEN="your-apify-token"
构建 actors-mcp-server 包:
pnpm run build
启动 HTTP 可流式 MCP 服务器
使用 Apify CLI 运行:
export APIFY_TOKEN="your-apify-token"
export APIFY_META_ORIGIN=STANDBY
apify run -p
服务器运行后,您可以使用 MCP Inspector 调试暴露在 http://localhost:3001 的服务器。
启动标准输入/输出(stdio)MCP 服务器
您可以使用以下命令启动 MCP Inspector:
export APIFY_TOKEN="your-apify-token"
npx @modelcontextprotocol/inspector node ./dist/stdio.js
启动后,Inspector 将显示一个 URL,您可以在浏览器中打开该 URL 开始调试。
未认证访问
当 tools 查询参数仅包含明确为未认证使用启用的工具时,托管服务器允许无需 API 令牌即可访问。
当前允许的工具:search-actors、fetch-actor-details、search-apify-docs、fetch-apify-docs、apify-api-search、apify-api-details。
示例:https://mcp.apify.com?tools=search-actors。
🐦 Canary PR 发布
Apify MCP 分布在两个仓库中:本仓库用于核心 MCP 逻辑,私有仓库 apify-mcp-server-internal 用于托管服务器。
两者之间的更改必须同步。
要创建 canary 发布,请为您的拉取请求添加 beta 标签。
这会将包发布到 pkg.pr.new,以便在合并前进行暂存和测试。
有关详细信息,请参阅工作流文件。
🐋 Docker Hub 集成
Apify MCP 服务器也可在 Docker Hub 上获取,通过 mcp-registry 仓库注册。servers/apify-mcp-server/server.yaml 中的条目应由 Docker Hub MCP 注册表自动部署(部署频率未知)。在对 stdio 服务器版本进行重大更改之前,请在本地测试以确保 Docker 构建通过。 要进行测试,请将 source.branch 更改为您的 PR 分支并运行 task build -- apify-mcp-server。更多详细信息,请参阅 CONTRIBUTING.md。
🐛 故障排除
有关分步故障排除,请参阅 Apify 文档中的 Claude Desktop 集成指南。
💡 限制
Actor 输入模式经过处理,以兼容大多数 MCP 客户端,同时遵循 JSON Schema 标准。处理包括:
- 描述超过 500 个字符(如
ACTOR_MAX_DESCRIPTION_LENGTH中所定义)时,会在该窗口内的最后一个完整句子处截断,如果没有句子断点则在最后一个完整单词处截断,并标记为[Description truncated]。 - 枚举字段在 2000 个组合字符以内(如
ACTOR_ENUM_MAX_LENGTH中所定义)时完整保留;更大的枚举将被省略,并在描述中附上简短说明和几个示例值。 - 必填字段在其描述中明确标记
REQUIRED前缀,以兼容可能无法正确处理 JSON 模式的框架。 - 嵌套属性针对代理配置和请求列表来源等特殊情况构建,以确保正确的输入结构。
- 数组项类型在模式中未明确定义时进行推断,优先级顺序为:items 中的显式类型 > 预填充类型 > 默认值类型 > 编辑器类型。
- 枚举值和示例会添加到属性描述中以确保可见性,即使客户端不完全支持 JSON 模式。
- 租赁 Actor 仅可通过 https://mcp.apify.com. 的托管 MCP 服务器使用。通过 stdio 在本地运行服务器时,您只能访问已添加到本地工具集中的 Actor。要动态搜索和使用 Apify Store 中的任何 Actor(包括租赁 Actor),请连接到托管端点。
🔒 隐私政策
当您使用此服务器时,您的请求和 Actor 输入会发送到 Apify API 执行。 除运行所请求的 Actor 所必需的信息外,数据不会与第三方共享。 有关数据收集、使用、共享和保留的完整详细信息,请参阅 Apify Legal。
🤝 贡献
我们欢迎错误报告、功能请求和文档修复。请向我们发送问题,而不是补丁——带有复现步骤的精确问题比拉取请求更有用。
- 🐛 报告错误:打开一个问题并附上复现步骤。这是您能发送的最有用的内容。
- 💡 提议功能:打开一个问题——描述问题和受影响人群,而非实现方案。
- 🔧 代码:仅处理维护者邀请的问题。开放的问题并非邀请您接手;未经请求的拉取请求将被关闭。
- 📚 文档:拼写错误、损坏的链接和错误的命令可直接提交 PR。
完整规则,包括 AI 辅助贡献:CONTRIBUTING.md。
