Card snapshot
crevio.co
·
2026-10-01 08:55:23 UTC
·
610d25ae8cc118ef3505a76ec6aa27bfa1d467469605fff1b0f85307b386c214
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"name": "crevio",
"title": "Crevio MCP Server",
"description": "Delegate work to the Crevio agent or run scripts on your Crevio computer against the Crevio API and your integrations \u2014 products, customers, orders, and more",
"version": "2.0.0",
"url": "https://mcp.crevio.co/mcp",
"serverUrl": "https://mcp.crevio.co/mcp",
"serverInfo": {
"name": "crevio",
"version": "2.0.0"
},
"transport": {
"type": "streamable-http",
"endpoint": "https://mcp.crevio.co/mcp"
},
"protocol": "MCP Streamable HTTP",
"protocolVersion": "2026-07-28",
"supportedVersions": [
"2026-07-28"
],
"capabilities": {
"tools": {}
},
"tools": [
{
"name": "whoami",
"description": "Identify the account, user, and credential behind this connection, with plan, credit balance, rate limits, and the tools available. Only needed to troubleshoot the connection or check credits and limits \u2014 other tools already act on this account.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "list_integrations",
"description": "List what a script can call: the Crevio API (crevioApi), Crevio's own tools (platform), and every integration you can use, each as a namespace under `tools`, plus the account's other connected apps and their status. Then list a namespace's functions with list_integration_tools.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "list_integration_tools",
"description": "List one namespace's functions \u2014 the name a script calls, its parameters, whether it only reads, whether it needs approval, and a snippet run_script accepts. crevioApi has hundreds of operations: narrow it with `search`.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "run_script",
"description": "Run JavaScript on the account's computer with bun \u2014 no agent turn \u2014 and wait for its result. `tools.<namespace>.<function>(args)` calls anything list_integration_tools shows (every call returns its result and throws on failure; top-level await works), and the script's last expression is its result. Chain calls and transform data in one run, e.g. `const { data } = await tools.crevioApi.listOrders({ status: \"succeeded\" }); data.length`. Runs as you, and only for account admins. If the wait ends first the reply has wait_timed_out: true and the run id: continue with wait_for_script_run \u2014 calling run_script again runs it twice unless you reuse the idempotency_key. Run ids do not expire, and only the user who started a run can read it. At most 4 runs in flight per user.",
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
}
},
{
"name": "wait_for_script_run",
"description": "Wait for a script run to finish and return its result. If it is still running when the wait ends, the reply has wait_timed_out: true \u2014 call again.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "get_script_run",
"description": "Read a script run's status, and its result once it has finished.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "cancel_script_run",
"description": "Cancel a script run that has not started yet. A running script runs to its end or its timeout.",
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
}
},
{
"name": "ask_crevio",
"description": "Delegate a job to the Crevio agent and wait for the result. The agent works your account through the Crevio API and every connected integration (products, customers, orders, email, socials, sites, research) and replies in `result`. Each job is a full agent run that takes from half a minute to several minutes, so use it for work that needs judgement or writing. If the run is still going when the wait ends, the reply has wait_timed_out: true \u2014 then call wait_for_run with its id and never call ask_crevio again, which would do the job twice. Run ids do not expire, and only the user who started a run can read it.",
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
}
},
{
"name": "start_chat",
"description": "Open a chat with the Crevio agent and queue a run, without waiting. Returns the run immediately \u2014 its `chat_id` is the conversation to continue with send_message. Follow the run with wait_for_run or get_run.",
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
}
},
{
"name": "list_chats",
"description": "List the account's chats, newest first.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "get_chat",
"description": "Get a chat's title, kind, and latest run.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "send_message",
"description": "Continue a chat with follow-up instructions or answers \u2014 the agent keeps its context. Resumes a run waiting in needs_input, or queues a new run when the last one finished. Returns run_busy while a run is still in progress. Optionally waits for the reply.",
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
}
},
{
"name": "list_messages",
"description": "Read a chat's messages, oldest first. Returns the most recent `limit` messages; page back through older ones with starting_after.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "wait_for_run",
"description": "Wait for a run to settle (completed, failed, or needs_input) and return it with the agent's final reply. If it is still running when the wait ends, the reply has wait_timed_out: true \u2014 call wait_for_run again.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "get_run",
"description": "Fetch a run's current status, summary, pending approvals, and (once settled) the agent's final reply.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "list_runs",
"description": "List the account's task runs, newest first \u2014 delegated jobs and scheduled tasks alike. Filter by status or task.",
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
}
},
{
"name": "resolve_approvals",
"description": "Approve or deny the integration actions a run is paused on (status needs_input with pending_approval_ids). Submit a decision for every pending id at once; the run resumes in the background.",
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
}
},
{
"name": "cancel_run",
"description": "Stop a run that is pending, running, or waiting for input. The run is finalized as failed with 'Cancelled by the caller'.",
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
}
}
],
"auth": {
"type": "oauth2",
"protected_resource_metadata": "https://mcp.crevio.co/.well-known/oauth-protected-resource/mcp"
}
}