🚀 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服務器做出貢獻!您可以通過以下方式提供幫助:
- 🐛 報告問題:發現錯誤或有功能請求?打開一個問題。
- 🔧 提交拉取請求:分叉倉庫並提交包含增強或修復的拉取請求。
- 📚 文檔:歡迎對文檔和示例進行改進。
- 💡 分享用例:貢獻示例以幫助其他用戶。
對於重大更改,請先打開一個問題,討論您的提案,確保其符合項目目標。
📚 瞭解更多