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@… 的最後一筆訂單」、「撰寫並排程本週的貼文」)並回傳結果。較長的工作會在背景執行;你可以透過 runs 追蹤它們、繼續對話、回應核准關卡,並閱讀逐字稿。
  • 指令碼 — list_integrations 與 list_integration_tools 顯示指令碼可以呼叫哪些功能,而 run_script 會在你帳戶的 Crevio 電腦上執行 JavaScript,對每個 REST 端點與已連接的整合進行操作,並具備與 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、Tasks 與 Events 如何相互配合。在底層,委派的工作就是一個帶有單次執行的 Task,因此這裡的一切也會顯示在你的儀表板中,並可透過 /v1/tasks 與 /v1/task_runs 檢視。

設定

1. 建立 API 權杖

在 Crevio 中前往 Settings → Developers → API tokens 並建立一個。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}})。代理會被告知該結構描述,而完成的執行會在 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 用於停止處於待處理、執行中或等待中的執行。

chat 是對話,而 run 是其中一輪工作。list_runs 顯示帳戶上的每一次執行(傳入 chat_id 則只顯示單一對話的執行)——包括委派的工作與你排程的 Tasks——而 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

一次執行會回傳一個 script run(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 失敗:請在 Settings → Integrations 中將該動作設為自動執行,或改用 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列出帳戶的稽核事件,最新的在前。僅限 Enterprise 方案。需要 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 中,呼叫它會回應「找不到工具」。除了範圍之外,若要限制代理能做的事,可以給它一個其資料是你樂意讓它存取的帳戶上的權杖,並在委派的工作上選擇 approval_mode。

執行物件

委派工具會傳回一個 執行(trun_…),與 GET /v1/task_runs/:id 是相同的物件,再加上 result 與 chat_id:

欄位意義
statuspending → running → completed / failed,或當代理正在等待你時為 needs_input
result代理的最終回覆,最多 24,000 個字元(執行結束後才會出現)
json、json_error搭配 response_format 時:解析並驗證過的回覆,或說明為何它不符合結構描述的 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 與引導詢問

這些是你 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。

核准與問題

當用戶端宣告表單引導詢問(_meta["io.modelcontextprotocol/clientCapabilities"].elicitation)時,暫停於 needs_input 的執行會直接詢問使用者:

執行正在等待用戶端會被要求接受拒絕或關閉
整合動作的核准每個動作一份表單,以其核准 ID(apr_…)為鍵,描述將要傳送的內容核准它拒絕它
代理問題的答案一份帶有 reply 欄位的表單傳送回覆,執行繼續將執行關閉為已完成

被關閉的核准即為拒絕,因此沒有明確的同意就不會執行任何事。你可以任意順序回答表單,也可以一次回答幾份。一旦每份表單都有答案,執行就會繼續,代理會一併得知所有決定。

  • 有 tasks 時: 任務會移至 input_required,表單位於 inputRequests 中。使用 tasks/update 回答它們。
  • 沒有 tasks 時: 工具會傳回 "resultType": "input_required",其中包含表單與 requestState。以相同的參數再次呼叫同一個工具,並加上 inputResponses 與該確切的 requestState。該狀態經過密封、繫結至工具及其參數,並在一小時後過期。
  • 沒有表單引導詢問時: 不會有任何改變。執行會以 needs_input 傳回,並為 resolve_approvals 提供 pending_approval_ids,包括作為已完成的任務。

事件

伺服器實作了草擬中的 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 會保留在 1 分鐘至 1 天之間。"ttlMs": null 要求永不過期,Crevio 會予以核准。
  • 輪換密鑰。 在重新整理時傳送新的 delivery.secret。在 10 分鐘內,傳遞會同時帶有兩個密鑰的簽章。
  • 限制。 每個帳戶 100 個有效訂閱。訂閱僅會讀取,因此 read_only 權杖也能執行。

傳遞

每個事件都是一次 POST,內容為 {"eventId", "name", "timestamp", "data"},依 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 撤銷權杖以立即切斷連線。

後續步驟

Connecting

各用戶端的設定方式、OAuth 與 curl 範例。

Tasks (your AI workforce)

每個委派作業所依據的 Task / Task Run 模型 — 以及如何排定週期性工作。

AI & Agents overview

MCP、Tasks 與 Events 如何構成 Crevio 的代理式模型。

API conventions

crevioApi 與 REST 共用的結構、前綴與注意事項。

本文件建置並託管於 Mintlify,一個開發者文件平台。