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 相同的授权和验证。
URLhttps://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

适用于任何你不想阻塞等待的事情——站点构建、研究任务、批量迁移:

  1. start_chat 将工作排队并立即返回运行。
  2. wait_for_run(有界)或 get_run(即时)直到 status 为 completed、failed 或 needs_input。
  3. send_message 继续对话——后续指令、更正、回答智能体提出的问题。智能体会保留其上下文。在已完成的运行上,这会在同一对话中启动新的运行;在 needs_input 运行上,它会恢复该运行。传入 timeout_seconds 以在同一次调用中等待回复,并传入 idempotency_key,以便重试的调用返回第一次调用启动的运行(reused: true),而不是发送两次消息。
  4. 当运行因集成操作而暂停时(needs_input 带有 pending_approval_ids),使用 resolve_approvals——一次性批准或拒绝所有待处理的 id,运行会恢复。
  5. 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:

字段含义
statuspending → 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_messagefailed 运行失败的原因(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 示例。

任务(你的 AI 工作团队)

每个委派任务所基于的 Task / Task Run 模型——以及如何安排周期性工作。

AI 与代理概览

MCP、Tasks 和 Events 如何构成 Crevio 的代理模型。

API 约定

crevioApi 与 REST 共享的结构、前缀和注意事项。

本文档构建并托管于 Mintlify,一个开发者文档平台。