使用说明
运行web抓取器,自动化数据提取,并通过AI管理Actor管道。
一个模型上下文协议(MCP)服务器,公开Apify的API,用于运行Actors、管理运行和检索抓取的数据集。
概述
Apify MCP服务器通过AI提供对Apify自动化平台的端到端控制:
- 使用自定义输入和资源限制从您的Apify帐户中发现并运行Actor
- 监控运行状态并从数据集中检索抓取的输出
- 浏览和管理预配置的Actor任务
非常适合:
- 从对话式AI界面触发网络抓取管道
- 在不离开聊天的情况下轮询运行结果并显示结构化数据集输出
- 通过自然语言管理Actor任务库和监控运行历史
工具
apify_health_check — Check server readiness
返回一个状态对象,确认服务器正在运行且可访问。
输入: (无)
输出:
{
"status": "ok",
"server": "CL Apify MCP Server"
}
apify_list_actors — List Actors in your account
返回Apify帐户中Actor的分页列表,包括ID、名称和用户名。
输入:
- `my_only` (boolean, optional) — Only return Actors owned by you (default: true)
- `limit` (integer, optional) — Maximum number of Actors to return, 1–1000 (default: 100)
- `offset` (integer, optional) — Number of Actors to skip for pagination (default: 0)
输出:
{
"success": true,
"total": 12,
"count": 12,
"actors": [
{ "id": "abc123", "name": "web-scraper", "username": "myuser" }
]
}
apify_run_actor — Run an Actor
使用提供的输入和可选资源约束启动Actor运行。返回轮询结果的运行ID和默认数据集ID。
输入:
- `actor_id` (string, required) — Actor ID to run (e.g. 'username~actor-name' or Actor ID)
- `input_data` (string, optional) — JSON string of input data for the Actor (default: '{}')
- `timeout_secs` (integer, optional) — Run timeout in seconds
- `memory_mbytes` (integer, optional) — Memory limit in MB (min 128)
- `build` (string, optional) — Build tag or number (default: 'latest')
输出:
{
"success": true,
"run_id": "run_XXXXXXXXXX",
"status": "RUNNING",
"started_at": "2024-01-01T00:00:00.000Z",
"default_dataset_id": "dataset_XXXXXXXXXX",
"default_key_value_store_id": "kvs_XXXXXXXXXX"
}
apify_get_run — Get Actor run details
检索特定Actor运行的状态和元数据。可选择等待长达60秒的跑步结束。
输入:
- `run_id` (string, required) — Actor run ID
- `wait_for_finish` (integer, optional) — Seconds to wait for run completion, 0–60 (default: 0)
输出:
{
"success": true,
"run_id": "run_XXXXXXXXXX",
"actor_id": "abc123",
"status": "SUCCEEDED",
"started_at": "2024-01-01T00:00:00.000Z",
"finished_at": "2024-01-01T00:01:30.000Z",
"default_dataset_id": "dataset_XXXXXXXXXX",
"usage_total_usd": 0.012
}
apify_list_runs — List recent Actor runs
返回您帐户中Actor运行的分页列表,按最新顺序排列。可选择按运行状态进行筛选。
输入:
- `status` (string, optional) — Filter by status: 'SUCCEEDED', 'FAILED', 'RUNNING', 'ABORTED', etc.
- `limit` (integer, optional) — Maximum number of runs to return, 1–1000 (default: 100)
- `offset` (integer, optional) — Number of runs to skip for pagination (default: 0)
输出:
{
"success": true,
"total": 42,
"count": 10,
"runs": [
{
"id": "run_XXXXXXXXXX",
"actor_id": "abc123",
"status": "SUCCEEDED",
"started_at": "2024-01-01T00:00:00.000Z",
"finished_at": "2024-01-01T00:01:30.000Z"
}
]
}
apify_get_dataset_items — Retrieve dataset output
从Actor运行的默认数据集中获取抓取的项目。这是在运行完成后读取Actor输出的主要方式。
输入:
- `dataset_id` (string, required) — Dataset ID (returned in the Actor run response)
- `limit` (integer, optional) — Maximum number of items to return, 1–10000 (default: 100)
- `offset` (integer, optional) — Number of items to skip for pagination (default: 0)
- `clean` (boolean, optional) — Remove hidden fields starting with '#' (default: true)
输出:
{
"success": true,
"count": 25,
"items": [
{ "url": "https://example.com", "title": "Example Page", "price": 29.99 }
]
}
apify_list_tasks — List Actor tasks
返回帐户中Actor任务的分页列表。任务是预先配置的Actor运行,使用已保存的输入。
输入:
- `limit` (integer, optional) — Maximum number of tasks to return, 1–1000 (default: 100)
- `offset` (integer, optional) — Number of tasks to skip for pagination (default: 0)
输出:
{
"success": true,
"total": 5,
"count": 5,
"tasks": [
{
"id": "task_XXXXXXXXXX",
"name": "my-scraper-task",
"actor_id": "abc123",
"username": "myuser",
"created_at": "2024-01-01T00:00:00.000Z"
}
]
}
API参数参考
Common Parameters
limit--每个请求返回的最大记录数(最大值因端点而异)offset--要跳过的记录数;与...一起使用limit用于分页desc--排序顺序;默认情况下,列表端点首先返回最新结果
Resource ID Formats
演员:
{username}~{actor-name} or {actorId}
Example: apify~web-scraper or BwFbCCmwYxNqHr7TB
跑:
{runId}
Example: HG7ML7M8z78YcAPEB
数据集:
{datasetId}
Example: rHuMdwm6xCFt6WiEz
任务:
{taskId}
Example: KoJgnDhzbtGnuH5md
Run Status Values
READY--排队等待开始RUNNING--当前正在执行SUCCEEDED--已成功完成FAILED--因错误终止ABORTING--中止正在进行中ABORTED--已被用户停止或超时TIMED-OUT--超过超时限制
获取Apify API代币
Steps
- 去 Apify控制台
- 点击您的个人资料头像→ 设置 → 集成
- 在...之下 API令牌,单击 +添加新令牌
- 为令牌命名并单击 创建 --立即复制令牌值,它只显示一次
个人API令牌具有与您的帐户相同的权限。对于生产集成,创建一个具有所需最小权限的作用域令牌。
故障排除
Missing or Invalid Headers
- 原因: 请求头中未提供API令牌或格式不正确
- 解决方案:
- 验证
Authorization: Bearer YOUR_API_KEY和X-Mewcp-Credential-Id: CREDENTIAL-ID标题存在 - 检查API令牌在您的MewCP帐户中是否处于活动状态
- 验证
Insufficient Credits
- 原因: API调用已超出您的请求限制
- 解决方案:
- 在您的Curious Layer仪表板中检查信用使用情况
- 升级到付费计划或为更高的限额添加积分
- 联系支持部门进行信用调整
Credential Not Connected
- 原因: 没有链接到您帐户的Apify凭据
- 解决方案:
- 首选 凭证 在您的MewCP仪表板中
- 添加Apify API令牌
- 使用正确的重试请求
X-Mewcp-Credential-Id头球
Malformed Request Payload
- 原因: JSON负载无效或缺少必填字段
- 解决方案:
- 发送前验证JSON语法
- 确保包括所有必需的工具参数
- 使用时
apify_run_actor,通过input_data作为JSON 字符串,不是对象
Server Not Found
- 原因: API终结点中的服务器名称不正确
- 解决方案:
- 验证端点格式:
{server-name}/mcp/{tool-name} - 使用文档中正确的服务器名称
- 检查您的Curious Layer帐户中的可用服务器
- 验证端点格式:
Apify API Error
- 原因: 上游Apify API返回错误
- 解决方案:
- 检查Apify服务状态 优化状态页面
- 验证您的API令牌是否具有操作所需的权限
- 查看错误消息以了解具体细节(例如,未找到Actor、计算单元不足)
Resources
- Apify API文档 -API官方参考
- Apify控制台 --管理参与者、运行和数据集
- FastMCP文档 --FastMCP规范
- FastMCP凭据 --用于凭证处理的FastMCP凭证包
