🚀 Apify模型上下文协议(MCP)服务器
Apify模型上下文协议(MCP)服务器 mcp.apify.com 可让您的AI代理使用 Apify Store 中的数千个现成的抓取器、爬虫和自动化工具,从社交媒体、搜索引擎、地图、电子商务网站和任何其他网站提取数据。它支持OAuth,允许您仅使用URL从Claude.ai或Visual Studio Code等客户端进行连接。
🚀 使用托管的Apify MCP服务器!
为获得最佳体验,请将您的AI助手连接到我们的托管服务器 https://mcp.apify.com。托管服务器支持最新功能,包括结构化Actor结果的输出模式推断,而通过标准输入输出(stdio)本地运行时则无法使用这些功能。
💰 该服务器还支持 Skyfire代理支付,允许AI代理在无需API令牌的情况下为Actor运行付费。
Apify MCP服务器与 Claude Code、Claude.ai、Cursor、VS Code 以及任何遵循模型上下文协议的客户端兼容。有关更多详细信息,请查看 MCP客户端部分,或访问 MCP配置页面。

🚀 快速开始
您可以通过以下两种方式使用Apify MCP服务器:
HTTPS端点(mcp.apify.com):通过OAuth从您的MCP客户端进行连接,或者在请求中包含 Authorization: Bearer <APIFY_TOKEN> 标头。对于大多数用例,这是推荐的方法。由于它支持OAuth,您可以仅使用URL https://mcp.apify.com 从 Claude.ai 或 Visual Studio Code 等客户端进行连接。
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服务器的详细说明。
✨ 主要特性
丰富的工具支持
Apify MCP服务器允许AI助手使用任何 Apify Actor 作为工具来执行特定任务,例如:
视频教程
视频教程:将8000多个Apify Actors和Agents与Claude集成

多客户端兼容
Apify MCP服务器与任何遵循 模型上下文协议 的MCP客户端兼容,但不同客户端对动态工具发现和其他功能的支持程度可能有所不同。您可以使用以下客户端与Apify MCP服务器进行交互:Claude Desktop、Visual Studio Code 或 Apify Tester MCP Client。
动态工具发现
MCP服务器提供了一种动态发现和使用新Actors的方法,允许AI代理根据需要找到新工具(Actors)并将其纳入使用。
智能工具选择
当请求 actors 工具类别时,服务器会根据客户端的功能智能选择最合适的与Actor相关的工具:
- 支持动态工具的客户端(例如Claude.ai网页版、VS Code Genie):服务器提供
add-actor 工具而不是 call-actor,这允许用户在对话过程中动态发现并添加新的Actors作为工具,提供更好的用户体验。
- 动态工具支持有限的客户端(例如Claude Desktop):服务器提供标准的
call-actor 工具以及其他Actor类别工具,确保兼容性的同时保持功能。
Skyfire代理支付集成
Apify MCP服务器与 Skyfire 集成,实现代理支付功能,AI代理可以在无需Apify API令牌的情况下自动为Actor运行付费。
工具配置灵活
可以通过URL查询参数或命令行标志来配置服务器加载的工具,支持指定工具类别或特定工具,还可以启用UI模式以在工具响应中渲染 MCP Apps 小部件。
遥测数据收集
Apify MCP服务器收集工具调用的遥测数据,以帮助Apify了解使用模式并改进服务。默认情况下,所有工具调用的遥测功能均已启用。
📦 安装指南
开发环境准备
创建一个环境文件 .env,内容如下:
APIFY_TOKEN="your-apify-token"
构建 actor-mcp-server 包
npm 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。例如:https://mcp.apify.com?tools=search-actors。
💻 使用示例
基础用法
以下是使用 apify/rag-web-browser Actor的示例输入参数:
{
"query": "restaurants in San Francisco",
"maxResults": 3
}
您无需手动指定要调用的Actor或其输入参数,大语言模型(LLM)会自动处理这些。当调用工具时,参数会由LLM自动传递给Actor。您可以参考特定Actor的文档以获取可用参数列表。
高级用法
使用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模式时,代理将自动处理完整的支付流程:
- 代理通过
search-actors 或 fetch-actor-details 发现相关Actors(这些操作免费)。
- 在执行Actor之前,代理使用Skyfire MCP服务器的
create-pay-token 工具创建一个PAY令牌(最低5美元)。
- 代理在调用Actor工具时,在
skyfire-pay-id 输入属性中传递PAY令牌。
- 结果照常返回。令牌上未使用的资金可用于未来运行,或在过期时返还。
📚 详细文档
MCP客户端
Apify MCP服务器与任何遵循 模型上下文协议 的MCP客户端兼容,但不同客户端对动态工具发现和其他功能的支持程度可能有所不同。
支持的客户端矩阵
| 客户端 |
动态工具发现 |
注意事项 |
| Claude.ai(网页版) |
🟡 部分支持 |
可能需要在客户端手动重新加载工具 |
| Claude Desktop |
🟡 部分支持 |
可能需要在客户端手动重新加载工具 |
| VS Code(Genie) |
✅ 完全支持 |
|
| Cursor |
✅ 完全支持 |
|
| Apify Tester MCP Client |
✅ 完全支持 |
专为测试Apify MCP服务器设计 |
| OpenCode |
✅ 完全支持 |
|
工具、资源和提示
Actors
任何 Apify Actor 都可以用作工具。默认情况下,服务器预配置了一个Actor apify/rag-web-browser 和几个辅助工具。MCP服务器会加载Actor的输入模式并创建相应的MCP工具,使AI代理能够确切知道要传递给Actor的参数以及预期的返回结果。
辅助工具
使用MCP与Apify的最强大功能之一是动态工具发现,它允许AI代理根据需要找到新工具(Actors)并将其纳入使用。以下是一些特殊的MCP操作以及Apify MCP服务器的支持方式:
- Apify Actors:搜索Actors,查看其详细信息,并将其用作AI的工具。
- Apify文档:搜索Apify文档并获取特定文档,为AI提供上下文。
- Actor运行:获取您的Actor运行列表,检查其详细信息并检索日志。
- Apify存储:访问您的数据集中的数据和键值存储。
可用工具概述
| 工具名称 |
类别 |
描述 |
默认启用 |
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-actor-output* |
- |
检索Actor调用的输出,该输出不包含在Actor工具的输出预览中。 |
✅ |
search-apify-docs |
docs |
在Apify文档中搜索相关页面。 |
✅ |
fetch-apify-docs |
docs |
根据URL获取Apify文档页面的完整内容。 |
✅ |
apify-slash-rag-web-browser |
Actor(请参阅 工具配置) |
用于浏览网页的Actor工具。 |
✅ |
get-actor-run-list |
runs |
获取Actor的运行列表,可按状态过滤。 |
|
get-actor-log |
runs |
检索特定Actor运行的日志。 |
|
get-dataset |
storage |
获取特定数据集的元数据。 |
|
get-dataset-items |
storage |
从数据集中检索项目,支持过滤和分页。 |
|
get-dataset-schema |
storage |
根据数据集项目生成JSON模式。 |
|
get-key-value-store |
storage |
获取特定键值存储的元数据。 |
|
get-key-value-store-keys |
storage |
列出特定键值存储中的键。 |
|
get-key-value-store-record |
storage |
获取键值存储中特定键关联的值。 |
|
get-dataset-list |
storage |
列出用户的所有可用数据集。 |
|
get-key-value-store-list |
storage |
列出用户的所有可用键值存储。 |
|
add-actor* |
experimental |
将Actor添加为用户可调用的新工具。 |
❔ |
注意:
使用 actors 工具类别时,支持动态工具发现的客户端(如Claude.ai网页版和VS Code)会自动接收 add-actor 工具而不是 call-actor,以增强Actor发现功能。
get-actor-output 工具会自动包含在任何与Actor相关的工具中,如 call-actor、add-actor 或任何特定的Actor工具(如 apify-slash-rag-web-browser)。当您调用Actor时,无论是通过 call-actor 工具还是直接通过Actor工具(如 apify-slash-rag-web-browser),都会收到输出预览。预览取决于Actor的输出格式和长度;对于某些Actors和运行,可能会包含整个输出,而对于其他Actors,只返回有限版本以避免使LLM过载。要检索Actor运行的完整输出,请使用 get-actor-output 工具(支持限制、偏移和字段过滤),并使用Actor调用提供的 datasetId。
工具注释
所有工具都包含元数据注释,以帮助MCP客户端和LLM理解工具的行为:
title:工具的简短显示名称(例如,“Search Actors”、“Call Actor”、“apify/rag-web-browser”)
readOnlyHint:对于仅读取数据而不修改状态的工具为 true(例如,get-dataset、fetch-actor-details)
openWorldHint:对于访问Apify平台之外的外部资源的工具为 true(例如,call-actor 执行外部Actors,get-html-skeleton 抓取外部网站)。仅与Apify平台交互的工具(如 search-actors 或 fetch-apify-docs)没有此提示。
工具配置
tools 配置参数用于指定要加载的工具,可以是类别或特定工具,也可以是Apify Actors。例如,tools=storage,runs 加载两个类别;tools=add-actor 仅加载一个工具。
如果未提供查询参数,MCP服务器默认加载以下 tools:
actors
docs
apify/rag-web-browser
如果指定了 tools 参数,则仅启用列出的工具或类别,不会包含默认工具。
轻松配置:
使用 UI配置器 配置您的服务器,然后将配置复制到您的客户端。
配置托管服务器
可以使用URL中的查询参数配置托管服务器。例如,要加载默认工具,请使用:
https://mcp.apify.com?tools=actors,docs,apify/rag-web-browser
如果您只想使用单个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
最小配置与托管服务器配置类似:
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。
enable-adding-actors(CLI)和 enableAddingActors(URL)支持但已弃用。
- 建议使用
tools=experimental 或包含特定工具 tools=add-actor。
- 行为保持不变:当启用但未指定
tools 时,服务器仅公开 add-actor;当选择类别/工具时,也会包含 add-actor。
enableActorAutoLoading 仍然作为 enableAddingActors 的旧别名存在,并会自动映射。
- 默认值保持兼容:当未指定
tools 时,服务器加载 actors、docs 和 apify/rag-web-browser。
- 如果指定了任何
tools,则不会添加默认值(与v1显式选择的意图相同)。
call-actor 现在通过 actors 类别默认包含(增量更改)。要排除它,请指定不包含 actors 的显式 tools 列表。
preview 类别已弃用并移除。请使用特定工具名称代替。
使用 ?actors=... 或 --actors 的现有URL和命令将继续正常工作。
提示
服务器提供了一组预定义的示例提示,帮助您开始通过MCP与Apify进行交互。例如,有一个 GetLatestNewsOnTopic 提示,允许您使用 RAG Web Browser Actor轻松检索特定主题的最新新闻。
资源
服务器目前尚未提供任何资源。
🔧 技术细节
遥测
Apify MCP服务器收集工具调用的遥测数据,以帮助Apify了解使用模式并改进服务。默认情况下,所有工具调用的遥测功能均已启用。
标准输入输出传输还使用 Sentry 进行错误跟踪,这有助于我们更快地识别和修复问题。当选择退出遥测时,Sentry会自动禁用。
选择退出遥测
您可以通过将 --telemetry-enabled CLI标志设置为 false 或将 TELEMETRY_ENABLED 环境变量设置为 false 来选择退出遥测(包括Sentry错误跟踪)。CLI标志优先于环境变量。
示例
对于远程服务器(mcp.apify.com):
# 通过URL参数禁用
https://mcp.apify.com?telemetry-enabled=false
对于本地标准输入输出服务器:
npx @apify/actors-mcp-server --telemetry-enabled=false
export TELEMETRY_ENABLED=false
npx @apify/actors-mcp-server
开发
请参阅 CONTRIBUTING.md 指南,了解贡献准则和提交消息约定。
有关详细的开发设置、项目结构和本地测试说明,请参阅 DEVELOPMENT.md 指南。
限制
Actor输入模式经过处理以与大多数MCP客户端兼容,同时遵循 JSON Schema 标准。处理包括:
- 描述 截断为500个字符(由
MAX_DESCRIPTION_LENGTH 定义)。
- 枚举字段 截断为所有元素的最大组合长度为2000个字符(由
ACTOR_ENUM_MAX_LENGTH 定义)。
- 必需字段 在其描述中明确标记为
REQUIRED 前缀,以确保与可能无法正确处理JSON模式的框架兼容。
- 嵌套属性 为特殊情况(如代理配置和请求列表源)构建,以确保正确的输入结构。
- 数组项类型 在模式中未明确定义时进行推断,使用优先级顺序:项中的显式类型 > 预填充类型 > 默认值类型 > 编辑器类型。
- 枚举值和示例 添加到属性描述中,以确保即使客户端不完全支持JSON模式也能看到这些信息。
- 租赁Actors 仅可在托管的MCP服务器
https://mcp.apify.com 上使用。通过标准输入输出本地运行服务器时,您只能访问已添加到本地工具集的Actors。要动态搜索并使用Apify Store中的任何Actor(包括租赁Actors),请连接到托管端点。
🐛 故障排除(本地MCP服务器)
- 运行
node -v 确保已安装 node。
- 确保已设置
APIFY_TOKEN 环境变量。
- 始终使用
@apify/actors-mcp-server@latest 以使用MCP服务器的最新版本。
调试NPM包
要调试服务器,请使用 MCP Inspector 工具:
export APIFY_TOKEN="your-apify-token"
npx @modelcontextprotocol/inspector npx -y @apify/actors-mcp-server
🤝 贡献
我们欢迎您为改进Apify MCP服务器做出贡献!您可以通过以下方式提供帮助:
- 🐛 报告问题:发现错误或有功能请求?打开一个问题。
- 🔧 提交拉取请求:分叉仓库并提交包含增强或修复的拉取请求。
- 📚 文档:欢迎对文档和示例进行改进。
- 💡 分享用例:贡献示例以帮助其他用户。
对于重大更改,请先打开一个问题,讨论您的提案,确保其符合项目目标。
📚 了解更多