Crevio
官方将工作委派给一个运营你小型企业(产品、订单、客户、电子邮件、网站)的 AI 智能体,或针对 Crevio API 和 3,000 多个已连接的应用运行脚本。
你可以用 Crevio MCP 做什么?
- 用通俗英语委派任务 — 通过
ask_crevio把诸如“给 jane@… 的最后一笔订单退款”这样的任务交给 Crevio 代理,并获取该次运行的最终回复。 - 跟踪长时间运行的工作 — 以非阻塞方式启动任务,然后检查状态、继续对话,并在运行结束时响应审批环节。
- 针对 Crevio API 运行脚本 — 使用
run_script在你账户的计算机上执行 JavaScript,串联 API 调用和已连接的集成,并返回转换后的数据。 - 发现可调用的集成 — 在编写脚本之前,使用
list_integrations和list_integration_tools列出可用的命名空间及其函数。 - 订阅账户事件 — 为
order.paid等事件注册 webhook 订阅,接收带签名的推送,而不是轮询。
托管 MCP 服务器
npx add-mcp 'https://mcp.crevio.co/mcp'可安装到 Claude Code、Codex、Cursor 等客户端
文档
MCP 服务器
将 Claude、Cursor 或任何兼容 MCP 的智能体连接到你的 Crevio 账户:通过 ask_crevio 将工作委派给 Crevio 智能体,跟踪并继续运行,并针对整个 Crevio API 和你的集成运行脚本。
Crevio MCP 服务器让任何兼容 MCP 的智能体都能将工作委派给 Crevio——并且,当它想要自己掌控时,可以针对整个 Crevio API 和你的集成运行脚本。 一个服务器,两种界面:
- 委派 —
ask_crevio用自然语言将一项工作交给 Crevio 智能体(“退款 jane@… 的最后一笔订单”、“撰写并安排本周的帖子”),并返回结果。较长的任务在后台运行;你可以以运行的形式跟踪它们、继续对话、回答审批关卡,并阅读记录。 - 脚本 —
list_integrations和list_integration_tools展示脚本可以调用什么,run_script在你账户的 Crevio 计算机上针对每个 REST 端点和已连接的集成运行 JavaScript,并具有与 API 相同的授权和验证。
| URL | https://mcp.crevio.co/mcp |
| 传输 | Streamable HTTP(无状态——每个请求都是自包含的) |
| 身份验证 | Authorization: Bearer <API token> — 与你用于 REST 的相同 API 令牌 — 或 X-Api-Key: <API token>,用于只能设置自定义标头的客户端。也支持 OAuth 2.1;参见连接。 |
| 发现 | https://mcp.crevio.co/mcp/server-card |
[!NOTE]
初次接触 Crevio 的智能体模型?请先阅读 AI 与智能体概览,了解 MCP、任务和事件如何协同工作。在底层,委派的工作就是一个带单次运行的任务,因此这里的一切也会在你的仪表板中以及通过
/v1/tasks和/v1/task_runs可见。
设置
1. 创建 API 令牌
在 Crevio 中前往 设置 → 开发者 → API 令牌 并创建一个。MCP 连接拥有其背后令牌的确切权限——即账户能做的一切。
2. 配置你的客户端
Claude Code
claude mcp add --transport http crevio https://mcp.crevio.co/mcp \
--header "Authorization: Bearer $CREVIO_API_TOKEN"
Claude Desktop / Cursor / 其他客户端 — 添加到客户端的 MCP 配置中(claude_desktop_config.json、~/.cursor/mcp.json、……):
{
"mcpServers": {
"crevio": {
"url": "https://mcp.crevio.co/mcp",
"headers": {
"Authorization": "Bearer <CREVIO_API_TOKEN>"
}
}
}
}
客户端特定的步骤、OAuth 以及原始 curl 示例见连接页面。
3. 使用 whoami 验证
让已连接的智能体调用 whoami。它会返回令牌背后的账户和用户、凭据、套餐、积分余额、速率限制、等待限制以及工具列表——无参数、无副作用。如果 whoami 可用,其他一切都会可用。
{
"object": "whoami",
"account": { "id": "acct_7k2m…", "name": "Jane's Studio", "slug": "janes-studio" },
"user": { "id": "user_9qx…", "email": "jane@example.com", "name": "Jane Doe" },
"credential": { "type": "api_key", "id": "token_3fa…", "name": "Claude Desktop", "expires_at": null },
"plan": "Pro",
"credits": 1840,
"rate_limit": { "limit": 600, "window_seconds": 60 },
"limits": { "ask_timeout_default_seconds": 300, "ask_timeout_max_seconds": 300, "message_max_chars": 10000 },
"tools": ["whoami", "ask_crevio", "start_chat", "wait_for_run", "get_run", "list_chats", "get_chat", "send_message", "resolve_approvals", "cancel_run", "list_runs", "list_messages", "list_integrations", "list_integration_tools", "run_script", "wait_for_script_run", "get_script_run", "cancel_script_run"]
}
推荐工作流
一次性任务:ask_crevio
适用于需要判断或写作的工作。一次调用启动一次运行、等待它,并返回运行结果,智能体的最终回复位于 result 中。每个任务都是一次完整的智能体运行,从半分钟到几分钟不等——要直接读取或更改数据,脚本只需几秒钟。
{
"name": "ask_crevio",
"arguments": {
"message": "Which three products made the most revenue this month, and how does that compare to last month?",
"idempotency_key": "monthly-top-products-2026-08"
}
}
{
"object": "task_run",
"id": "trun_8d1k…",
"task_id": "task_2nq…",
"task_name": "Which three products made the most revenue this month, and how does that…",
"chat_id": "aichat_5pz…",
"status": "completed",
"summary": "Top three by revenue this month: …",
"result": "Top three by revenue this month:\n1. Lightroom Presets Vol. 2 — $2,140 (+18% vs July)\n2. …",
"error_message": null,
"pending_approval_ids": [],
"credits_consumed": 4,
"started_at": "2026-08-20T09:14:02Z",
"completed_at": "2026-08-20T09:14:31Z",
"created_at": "2026-08-20T09:14:01Z"
}
- 当你的客户端接受流式回复时(
Accept: text/event-stream,MCP 客户端默认发送),等待时间默认为并上限为 300 秒,否则为 90 秒。流式回复在等待期间每 10 秒发送一次进度通知——在_meta中传入progressToken以接收它们。传入timeout_seconds可减少等待时间。 - 如果等待结束时运行仍在进行,回复不是错误:它是带有
wait_timed_out: true的运行。使用其id调用wait_for_run以继续等待,并且不要再次调用ask_crevio——那会第二次启动该任务。不会丢失任何内容;运行会在 Crevio 一侧继续。 idempotency_key使重试安全:相同的键会返回第一次调用启动的运行,而不是启动(并支付)另一次运行。请始终传入一个。speed: "faster"让智能体减少思考,适用于简单任务,其中更快的答案比深度更重要。默认值为smarter。- 当你的程序需要对象而不是文字时,
response_format接受 JSON Schema(或 OpenAI 的{type: "json_schema", json_schema: {schema}})。智能体会被告知该 schema,已完成的运行会在json中携带经过验证的解析值,或在json_error中携带失败原因。start_chat和send_message也接受它。 - 智能体在运行期间交付的文件会在
artifacts中返回。使用get_file_download_url将工件的id兑换为下载链接。 approval_mode默认为autonomous。supervised使运行在每次受控写入之前暂停于needs_input,直到你回答其pending_approval_ids(没有需要批准内容的运行会以其提案完成;回复send_message以对其采取行动);read_only禁止写入。
长时间运行的任务:start_chat → wait_for_run → send_message
适用于任何你不想阻塞等待的事情——站点构建、研究任务、批量迁移:
start_chat将工作排队并立即返回运行。wait_for_run(有界)或get_run(即时)直到status为completed、failed或needs_input。send_message继续对话——后续指令、更正、回答智能体提出的问题。智能体会保留其上下文。在已完成的运行上,这会在同一对话中启动新的运行;在needs_input运行上,它会恢复该运行。传入timeout_seconds以在同一次调用中等待回复,并传入idempotency_key,以便重试的调用返回第一次调用启动的运行(reused: true),而不是发送两次消息。- 当运行因集成操作而暂停时(
needs_input带有pending_approval_ids),使用resolve_approvals——一次性批准或拒绝所有待处理的 id,运行会恢复。 cancel_run用于停止处于待处理、运行中或等待中的运行。
聊天是对话,运行是其中一轮工作。list_runs 显示账户上的每次运行(传入 chat_id 仅查看一个对话的运行)——包括委派的任务和你计划的任务——而 list_chats 和 get_chat 浏览对话本身,list_messages 读取聊天的完整记录,而不仅仅是最终回复。
脚本:run_script
当已连接的智能体想要自己操作 Crevio 而不是委派——或需要精确的数据返回——它会编写脚本。run_script 在你账户的 Crevio 计算机上使用 bun 运行 JavaScript,无需智能体回合。脚本可以调用 Crevio API 和你账户已连接的每个集成,链接任意数量的调用,并在数据返回之前对其进行转换。
发现
list_integrations 列出脚本可以调用的每个命名空间:crevioApi(整个 Crevio API,每个操作一个函数)、platform(Crevio 自己的工具),以及每个已连接集成一个(pdGmail、mcpLinear、……)。list_integration_tools 列出一个命名空间的函数,每个函数都带有其参数(作为 TypeScript 类型)、是否只读、是否需要批准,以及一个在你填写后 run_script 可接受的片段。crevioApi 有数百个操作,因此用 search 缩小范围:
{ "namespace": "crevioApi", "search": "price variant create" }
运行
tools.<namespace>.<function>(args) 发起调用。顶层 await 可用,每次调用都返回其结果并在失败时抛出异常,脚本的最后一个表达式就是其结果。
const product = await tools.crevioApi.createProduct({ body: { name: "My Course", slug: "my-course" } });
await tools.crevioApi.createPriceVariant({
body: { product: product.id, name: "Standard", amount_type: "fixed", amount: 4900, currency: "usd", billing_type: "one_time" },
});
await tools.crevioApi.updateProduct({ id_or_slug: product.id, body: { status: "active" } });
product.id
读取操作直接接受其参数(listOrders({ status: "succeeded" }));写入操作在 body 下传递请求体,路径参数放在其旁边。
使用 args 传递值(最多 16 个字符串);脚本从全局 args 读取它们。写入由全局 outputDir 命名的目录中的文件会作为运行上的 artifacts 返回:
const { data } = await tools.crevioApi.listOrders({ status: "succeeded", limit: Number(args[0]) });
await Bun.write(`${outputDir}/orders.csv`, data.map((o) => o.id).join("\n"));
data.length
一次运行返回一个脚本运行(srun_…):其 status(queued → in_progress → completed、failed、cancelled 或 timed_out)、result、脚本在 output 中打印的内容、其 error,以及 calls——它进行的每次工具调用及其 HTTP 状态,因此即使脚本捕获了错误,也仍会显示哪个调用失败。run_script 会等待 ask_crevio 允许的时长(流式回复为 300 秒,否则为 90 秒;传入 wait_seconds 可减少等待时间)。耗时更长的运行会返回 wait_timed_out: true 及其 id——这不是错误:使用 wait_for_script_run 继续等待。再次调用 run_script 会运行脚本两次,除非你传入相同的 idempotency_key。
crevioApi 调用经过与 api.crevio.co 相同的控制器,因此 API 约定原样适用:关联是带前缀 id 的裸名称(product: "prod_abc",而不是 product_id),金额以分为单位,列表端点返回 {object: "list", data: [...]},并且产品在可以 active 之前需要一个价格变体。课程和其他内容是体验(listExperiences),而不是产品。
限制:
- 谁: 仅账户管理员。脚本以你的身份运行——包括你的个人集成——在你整个团队共享的计算机上。
- 超时:
timeout_seconds从 1 到 600(默认 300)。计算机可能需要先唤醒,这可能会增加最多约 20 秒。 - 并发: 每个用户最多 4 个运行在进行中,每个账户最多 8 个。
- 批准: 脚本无法停止并请求批准。需要批准的调用(列表中的
requires_approval)会失败并返回approval_required:在 设置 → 集成 中将该操作设置为自动运行,或改用ask_crevio委派该任务。 - 取消: 只有
queued运行可以被取消。正在运行的脚本会运行到结束或超时。 - 输出文件: 每次运行最多 20 个,每个最多 50 MB。更大的文件会被排除。
完整工具参考
| 工具 | 用途 | 参数 |
|---|---|---|
whoami | 识别账户、用户、凭据、套餐、积分、限制和工具 | — |
ask_crevio | 委派任务并等待结果 | message(必填)、timeout_seconds、approval_mode、speed、response_format、idempotency_key |
start_chat | 委派任务但不等待 | message(必填)、approval_mode、speed、response_format、idempotency_key |
wait_for_run | 等待(有上限)运行结束 | run_id(必填)、timeout_seconds |
get_run | 获取运行的状态、摘要、待审批项和最终回复 | run_id(必填) |
list_chats | 列出账户的聊天,最新的在前 | search、limit、starting_after、ending_before |
get_chat | 获取聊天的标题、类型和最新运行 | chat_id(必填) |
send_message | 继续聊天;可选择等待回复 | chat_id、message(必填)、timeout_seconds、response_format、idempotency_key |
resolve_approvals | 批准/拒绝运行暂停等待的集成操作 | run_id、approvals: [{id, approved, reason}](必填) |
cancel_run | 停止待处理、运行中或等待中的运行 | run_id(必填) |
list_runs | 列出账户的运行,最新的在前 | status、task_id、chat_id、limit、starting_after、ending_before |
list_messages | 读取聊天的消息,最早的在前 | chat_id(必填)、limit、ending_before |
list_integrations | 列出脚本可以调用的所有命名空间 | — |
list_integration_tools | 列出命名空间的函数及其参数和代码片段 | namespace(必填)、search、limit、offset |
run_script | 在账户的计算机上运行 JavaScript 并等待其完成 | code(必填)、args、timeout_seconds、wait_seconds、idempotency_key |
wait_for_script_run | 等待(有上限)脚本运行完成 | run_id(必填)、wait_seconds |
get_script_run | 读取脚本运行的状态和结果 | run_id(必填) |
cancel_script_run | 取消尚未开始的脚本运行 | run_id(必填) |
get_file_download_url | 用制品 ID(art_…)换取有效期 15 分钟的下载链接 | file_id(必填) |
list_audit_events | 列出账户的审计事件,最新的在前。仅限企业版套餐。需要 audit:read 作用域,且当凭据以个人身份操作时需要管理员权限 | action、actor_type、entity_type、entity_id、after、limit、starting_after、ending_before |
连接能看到哪些工具取决于其凭据:
API 密钥和 OAuth 令牌共享相同的作用域,连接只能看到其凭据作用域允许的工具:
- 读取类工具需要
read,其余工具需要write,除非该工具需要下列某个作用域。 ask_crevio、start_chat、send_message和cancel_run需要agent:run,resolve_approvals还需要write。没有write时,委派的工作以只读方式运行。run_script、wait_for_script_run、get_script_run和cancel_script_run需要scripts:run。团队密钥永远看不到这些工具,且没有write时脚本无法更改任何内容。get_file_download_url需要files:read,list_audit_events需要audit:read。whoami不需要任何作用域。
被授予 read_only 的 OAuth 令牌(客户端未请求任何作用域时的默认值)持有 read;被授予 read_write 的令牌持有所有作用域并能看到所有工具。在作用域机制出现之前创建的 API 密钥也是如此。
令牌无法使用的工具不会出现在 tools/list 中,调用它会返回“Tool not found”。除了作用域之外,还可以通过以下方式限制代理能做什么:给它一个属于你愿意让其接触数据的账户的令牌,并在委派任务时选择 approval_mode。
运行对象
委派工具返回一个 run(trun_…),与 GET /v1/task_runs/:id 是同一个对象,外加 result 和 chat_id:
| 字段 | 含义 |
|---|---|
status | pending → running → completed / failed,或当代理在等待你时是 needs_input |
result | 代理的最终回复,最多 24,000 个字符(运行结束后出现) |
json、json_error | 使用 response_format 时:解析并验证后的回复,或说明为何它不是符合 schema 的有效 JSON |
artifacts | 运行交付的文件,每个为 {id, filename, content_type, size};用 get_file_download_url 下载 |
summary | 回复的前 500 个字符——仪表盘和 webhook 显示的内容 |
pending_approval_ids | 当 needs_input 时:阻塞运行的集成审批项,用于 resolve_approvals |
error_message | failed 运行失败的原因(cancel_run 之后的 "Cancelled by the caller") |
wait_timed_out、next_step | 当等待在运行结束前结束时出现——它仍在运行;next_step 说明如何跟进 |
credits_consumed | 运行消耗的 AI 积分 |
task_id、chat_id | 底层的 Task 和对话,供 REST API 和仪表盘使用 |
运行还会触发 task_run.completed、task_run.failed 和 task_run.needs_input webhook,并可通过 SSE 在 GET /v1/task_runs/:id/stream 上流式传输。
MCP Tasks 与 elicitation
这些是你的 MCP 客户端的协议特性,与 Crevio 自己的 Tasks 不同。借助它们,客户端可以跟进长时间任务并自行回答审批,而无需调用 wait_for_run 和 resolve_approvals。两者都需要 2026-07-28 协议,由你的客户端选择。没有它们时,每个工具的行为如上所述。
异步工具调用
服务器实现了 MCP Tasks 扩展(io.modelcontextprotocol/tasks),在 /mcp 和 /chatgpt 上的 server/discover 中声明。当请求在 _meta["io.modelcontextprotocol/clientCapabilities"].extensions 中声明它时,这些工具最多等待 5 秒,然后返回任务句柄("resultType": "task"),而不是保持请求打开:ask_crevio、wait_for_run、带 timeout_seconds 的 send_message、run_script 和 wait_for_script_run。在这 5 秒内完成的运行会就地返回结果。
tasks/get返回任务的status。working表示运行仍在进行。一旦为completed,result就包含该工具在没有 tasks 时会返回的确切内容。轮询间隔为pollIntervalMs:代理运行 3 秒,脚本 1 秒。tasks/update回答任务的inputRequests(见下文)。tasks/cancel停止运行,类似cancel_run或cancel_script_run。
任务就是运行本身,因此其持续时间与运行相同(ttlMs 为 null)。以 failed 结束的运行仍会完成任务:在 result 中读取其 status 和 error_message。任务自身的 failed 状态保留用于协议错误。任务 ID 无法猜测,只有启动运行的账户和用户才能读取。未知或外来的 ID 返回 -32602,未声明该扩展的请求返回 -32021。
审批与问题
当客户端声明表单 elicitation(_meta["io.modelcontextprotocol/clientCapabilities"].elicitation)时,暂停在 needs_input 的运行会直接询问用户:
| 运行正在等待 | 询问客户端 | 接受 | 拒绝或关闭 |
|---|---|---|---|
| 集成操作的审批 | 每个操作一个表单,以其审批 ID(apr_…)为键,描述将要发送的内容 | 批准 | 拒绝 |
| 对代理问题的回答 | 一个带 reply 字段的表单 | 发送回复,运行继续 | 将运行关闭为已完成 |
关闭的审批视为拒绝,因此没有明确的同意就不会执行任何操作。你可以按任意顺序回答表单,也可以一次回答几个。一旦每个表单都有答案,运行就会恢复,代理会一起收到所有决定。
- 有 tasks 时: 任务转为
input_required,表单在inputRequests中。用tasks/update回答它们。 - 无 tasks 时: 工具返回带表单的
"resultType": "input_required"和requestState。用相同的参数再次调用同一工具,并加上inputResponses和那个确切的requestState。状态是密封的,绑定到工具及其参数,一小时后过期。 - 无表单 elicitation 时: 没有任何变化。运行以
needs_input返回,pending_approval_ids用于resolve_approvals,包括作为已完成的任务。
事件
服务器实现了草案版 MCP Events 扩展(io.modelcontextprotocol/events),因此客户端可以订阅账户中发生的事情,例如 order.paid 或 email_message.received,并做出反应而无需轮询。它在 /mcp 和 /chatgpt 上的 server/discover 中声明。
事件类型与 webhook 相同,负载也相同:data.object 就是其 API 端点返回的资源本身。events/list 列出每种类型及其 payloadSchema。
订阅
{
"jsonrpc": "2.0", "id": 2, "method": "events/subscribe",
"params": {
"name": "order.paid",
"arguments": {},
"delivery": { "mode": "webhook", "url": "https://hooks.example.com/crevio", "secret": "whsec_<base64 of 24–64 random bytes>" },
"cursor": null,
"ttlMs": 86400000
}
}
响应包含订阅 id(mcpsub_…,对于相同的凭据、URL、事件和参数保持稳定)以及 refreshBefore。在 refreshBefore 之前用相同的值再次调用 events/subscribe 以保持订阅;用 name、arguments 和 delivery.url 调用 events/unsubscribe 可立即结束订阅。
- 验证。 在首次向某个 URL 投递之前,Crevio 会向其 POST
{"type":"verification","challenge":"<nonce>"}。请在 5 秒内以2xx和{"challenge":"<nonce>"}应答。每个凭据对每个 URL 验证一次。 - 有效期。 没有
ttlMs时,订阅持续一天。建议的ttlMs会被保留在一分钟到一天之间。"ttlMs": null请求永不过期,Crevio 会予以批准。 - 轮换密钥。 在刷新时发送新的
delivery.secret。在 10 分钟内,投递会同时携带两个密钥的签名。 - 限制。 每个账户最多 100 个活动订阅。订阅只涉及读取,因此
read_only令牌也可以执行。
投递
每个事件都是一次 {"eventId", "name", "timestamp", "data"} 的 POST,按 Standard Webhooks 用你的密钥签名(webhook-id、webhook-timestamp、webhook-signature),并携带 X-MCP-Subscription-Id。在信任正文之前验证签名,并按 eventId 去重。
| 你的端点行为 | 结果 |
|---|---|
返回 2xx | 已投递 |
返回 410 或 413 | 丢弃,不重试 |
| 失败或超时(5 秒) | 在约 12 分钟内最多重试 4 次,然后丢弃 |
| 持续失败一小时 | 投递停止,直到你下次刷新重新开启 |
| 在无过期订阅上持续失败 3 天 | Crevio POST {"type":"terminated",…} 并删除订阅 |
如果凭据失去对账户的访问权限(密钥被删除或过期、OAuth 访问被撤销、用户被移出账户),下一个事件会以携带错误 -32024 的 terminated 信封结束订阅。
它不能做什么
- 目前按设计仅支持 Webhook 投递。
events/poll和events/stream会返回-32026。当你无法接收 POST 请求时,请使用 webhooks API 或list_runs以及 REST 端点。 - 不支持重放。
cursor始终为null:订阅失效期间发生的事件不会在之后补发。出现中断后,请通过工具读取当前状态。 - 不支持过滤器。 事件类型不接受
arguments。一个订阅会收到该账户中该类型的所有事件。
错误使用该扩展的错误码:-32602 表示参数无效(URL、密钥或参数有误),-32023 表示未知事件或订阅,-32024 表示没有已认证的主体或访问权限丢失,-32025 表示订阅数量达到上限,-32026 表示不提供该投递模式,-32027 表示回调验证失败,其中 data.reason 为 connection_refused、timeout、tls_error、http_4xx、http_5xx 或 challenge_failed 之一。
错误
认证失败会在请求本身上返回 HTTP 401/403(WWW-Authenticate 指向 OAuth 元数据)。工具失败会作为工具结果返回,带有 isError: true 和 JSON 正文:
{ "error": "run_busy", "message": "Run trun_8d1k… is still in progress; wait for it to settle before sending more.", "http_status": 409 }
error | 含义 | 处理方式 |
|---|---|---|
run_busy | 此对话中仍有运行正在进行 | 等待其完成,然后调用 send_message |
account_at_capacity | 该账户已有 5 个运行正在进行(http_status: 429) | 在 retry_after_seconds 之后重试 |
idempotency_error | 一个 idempotency_key 被复用于不同的消息 | 为新消息传入新的键 |
run_not_active | 对已完成的运行调用 cancel_run | 无需操作——读取其 result |
run_not_resumable | 该运行没有可继续的对话 | 使用 ask_crevio 启动新任务 |
approvals_pending | 对因审批而阻塞的运行调用 send_message | 先调用 resolve_approvals |
stale_resolution | 你提交的审批与待处理集合不匹配 | 调用 get_run,然后重新提交每个 pending_approval_ids 条目 |
insufficient_credits | 该账户已无剩余 AI 额度 | 在 Crevio 中添加额度 |
resource_missing | 此账户上不存在该 id 的运行/任务 | 检查 id——运行按账户隔离 |
validation_failed | 参数有误(例如未知的 approval_mode) | 修正该参数 |
rate_limit_exceeded | 每个所有者每分钟 600 次请求,与 REST API 共享——或同时运行的脚本过多 | 退避直到 X-RateLimit-Reset(速率限制),或等待某个脚本运行完成 |
forbidden | 由非账户管理员调用 run_script | 请管理员操作,或使用 ask_crevio 进行委派 |
run_not_cancellable | 对已启动的运行调用 cancel_script_run | 使用 wait_for_script_run 等待其完成 |
抛出异常的脚本仍会作为脚本运行返回,带有 status: "failed"、其 error 以及它产生的 calls——run_script 本身仅在运行无法启动或等待结束时出错。
安全
每个工具都在你账户的租户边界内运行。委派任务以你账户已有的权限运行 Crevio 代理。run_script 以调用管理员的身份在你账户的 Crevio 计算机上运行;其 tools 调用会经过代理所遵守的相同审批设置,并使用与 api.crevio.co 相同的 API 控制器,因此授权、校验和错误消息与直接 API 调用完全一致。令牌的权限与你的账户相同:只连接你信任的代理,并从 Settings → Developers 撤销令牌以立即切断连接。
后续步骤
按客户端逐一设置、OAuth 以及 curl 示例。
每个委派任务所基于的 Task / Task Run 模型——以及如何安排周期性工作。
MCP、Tasks 和 Events 如何构成 Crevio 的代理模型。
crevioApi与 REST 共享的结构、前缀和注意事项。
本文档构建并托管于 Mintlify,一个开发者文档平台。