# Crevio

> An AI agent that runs your online business: products, orders, customers, email, and sites.

- name: co.crevio/crevio
- version: 2.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 84/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/co.crevio%2Fcrevio
- tools: https://api.protogrid.dev/v1/servers/co.crevio%2Fcrevio/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "crevio": {
      "type": "http",
      "url": "https://mcp.crevio.co/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% ~updated-59d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 84/100 (good)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 300000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 18 of 18 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,576 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 34 tool changes in 30 days
- fail `stability.rug_pull`: 1 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 18, about 3,576 tokens to load them all
- tool set hash: d5298f040c768408d971e48be5991ae0
- tools last changed: 2026-10-10T04:09:27.151Z
- badge: [![protogrid quality](https://protogrid.dev/badge/co.crevio/crevio.svg)](https://protogrid.dev/servers/co.crevio/crevio)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-10 `cancel_script_run` changed (outputSchema)
- 2026-10-10 `get_script_run` changed (outputSchema)
- 2026-10-10 `wait_for_script_run` changed (outputSchema)
- 2026-10-10 `run_script` changed (outputSchema)
- 2026-10-10 `list_integration_tools` changed (inputSchema)
- 2026-09-30 `cancel_run` changed (annotations)
- 2026-09-30 `resolve_approvals` changed (annotations)
- 2026-09-30 `send_message` changed (annotations)
- 2026-09-30 `start_chat` changed (annotations)
- 2026-09-30 `ask_crevio` changed (description, annotations)
  - before: 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. To read or change data directly, run_script is much faster. If the run is still going when the wait ends, the reply has wait_timed_out: true — 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.
  - after: 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 — 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.

Full history: https://api.protogrid.dev/v1/servers/co.crevio%2Fcrevio/changes

## Remotes

- https://mcp.crevio.co/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (18)

- `ask_crevio`: 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 — 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.
- `cancel_run`: Stop a run that is pending, running, or waiting for input. The run is finalized as failed with 'Cancelled by the caller'.
- `cancel_script_run`: Cancel a script run that has not started yet. A running script runs to its end or its timeout.
- `get_chat`: Get a chat's title, kind, and latest run.
- `get_run`: Fetch a run's current status, summary, pending approvals, and (once settled) the agent's final reply.
- `get_script_run`: Read a script run's status, and its result once it has finished.
- `list_chats`: List the account's chats, newest first.
- `list_integrations`: 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.
- `list_integration_tools`: List one namespace's functions — 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`.
- `list_messages`: Read a chat's messages, oldest first. Returns the most recent `limit` messages; page back through older ones with starting_after.
- `list_runs`: List the account's task runs, newest first — delegated jobs and scheduled tasks alike. Filter by status or task.
- `resolve_approvals`: 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.
- `run_script`: Run JavaScript on the account's computer with bun — no agent turn — 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 — 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.
- `send_message`: Continue a chat with follow-up instructions or answers — 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.
- `start_chat`: Open a chat with the Crevio agent and queue a run, without waiting. Returns the run immediately — its `chat_id` is the conversation to continue with send_message. Follow the run with wait_for_run or get_run.
- `wait_for_run`: 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 — call wait_for_run again.
- `wait_for_script_run`: 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 — call again.
- `whoami`: 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 — other tools already act on this account.
