Skip to main content
Glama

Server Details

Crevio's MCP server lets an agent run a real online business, not just read from one. It exposes a delegation surface (ask_crevio, start_task, wait_for_run, send_message, resolve_approvals) plus code_search and code_execute for calling the full Crevio REST API - products, customers, orders, email, socials, and sites.

Ownership verified
Status
Healthy
Uptime
99.7% over 41 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 18 tools

Disambiguation4/5

The set cleanly splits into an agent-run family (ask_crevio, start_chat, send_message, get_run, wait_for_run, list_runs, cancel_run) and a script-run family (run_script, get_script_run, wait_for_script_run, cancel_script_run), which keeps boundaries clear. The main overlap is between ask_crevio, start_chat, and send_message, but the descriptions explicitly distinguish waiting vs. queuing vs. continuing a chat, so misselection risk is low.

Naming Consistency5/5

Nearly every name follows a clean verb_noun snake_case pattern (ask_crevio, cancel_run, get_chat, list_runs, run_script, wait_for_script_run). The only deviation is whoami, which is a well-understood idiom rather than an inconsistency.

Tool Count4/5

18 tools is on the heavier side but justified by the need to cover two parallel execution models (agent runs and script runs) plus chats, integrations, and approvals. Each tool maps to a distinct lifecycle step rather than being redundant.

Completeness4/5

Chat, run, script-run, integration, and approval lifecycles are all covered, including cancellation and waiting semantics. Minor gaps exist, e.g. no delete/archive for chats or runs and no explicit scheduling tool despite scheduled tasks being referenced in list_runs.

Available Tools

18 tools
ask_crevioA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
speedNofaster thinks less, for simple jobs where latency matters more than depth; smarter (default) thinks it through.
messageYesWhat you want done, in natural language, with all the context needed — the agent does not see your conversation.
approval_modeNoautonomous (default) acts without review; supervised pauses in needs_input for your approval before each gated write (pending_approval_ids) and otherwise finishes with its proposal; read_only forbids writes.
idempotency_keyNoAlways pass one, unique to this request. Retrying with the same key within an hour returns the run the first call started instead of doing the job twice.
timeout_secondsNoHow long to wait for the run to finish before returning. Defaults to, and is capped at, 300 s when your client accepts a streamed reply (text/event-stream), 90 s otherwise. The run keeps going when the wait ends first.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
objectYes
resultNo
reusedNo
statusYes
chat_idNo
summaryNo
task_idYes
next_stepNo
task_nameNo
created_atYes
started_atNo
completed_atNo
error_messageNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
credits_consumedNo
pending_approval_idsNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond annotations: latency (half a minute to several minutes), the wait_timed_out signal, run-id permanence, and read-restriction to the run's initiator. The destructiveHint annotation is not directly explained, but the description's mention of approval modes elsewhere plus the timeout/retry semantics make the behavior clear enough. A point off only because it doesn't spell out the destructive/write implications that the annotation flags.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and then layers the essential caveats (timeout, retry-once, run-id ownership) in a compact paragraph. Slightly dense in the second half but every clause carries operational value; nothing is decorative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a 5-param tool with an output schema and rich annotations, the description closes the remaining gaps: the wait/timeout flow, the double-execution hazard, and the ownership/expiry rules for run ids. An agent has everything needed to call it correctly and handle the timeout path.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema descriptions are thorough (speed, approval_mode, idempotency_key, timeout_seconds). The description adds no parameter-level detail beyond reinforcing that 'result' carries the reply. Baseline 3 is appropriate when the schema already documents every parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Delegate a job to the Crevio agent and wait for the result.' It distinguishes itself from siblings like start_chat/get_run by framing itself as a full agent run that replies in `result`, and the follow-up routing to wait_for_run makes the boundary explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it ('work that needs judgement or writing') and gives a hard when-not / what-to-do-instead rule: on wait_timed_out, 'call wait_for_run with its id and never call ask_crevio again, which would do the job twice.' That is exactly the alternative-routing guidance most definitions lack.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cancel_runA
DestructiveIdempotent
Inspect

Stop a run that is pending, running, or waiting for input. The run is finalized as failed with 'Cancelled by the caller'.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesA run id (trun_...).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
objectYes
resultNo
reusedNo
statusYes
chat_idNo
summaryNo
task_idYes
next_stepNo
task_nameNo
created_atYes
started_atNo
completed_atNo
error_messageNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
credits_consumedNo
pending_approval_idsNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the mutation profile is covered. The description adds the concrete outcome the annotations cannot convey: the run is finalized as failed with 'Cancelled by the caller', which tells the agent exactly what state to expect afterward.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, and the action plus eligible states are front-loaded ahead of the outcome detail. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter mutation tool with an output schema available, the description covers what it does, which runs are valid targets, and the resulting state. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (run_id) at 100% schema coverage, and the schema already documents its trun_ prefix format. The description adds nothing beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Stop') plus resource ('a run') with the eligible states enumerated (pending, running, waiting for input). An agent can distinguish this from cancel_script_run and wait_for_run without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The eligible run states imply when the tool is applicable, but there is no explicit comparison to the sibling cancel_script_run or guidance on what to do instead for other run types. Usage is inferable but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cancel_script_runA
DestructiveIdempotent
Inspect

Cancel a script run that has not started yet. A running script runs to its end or its timeout.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesA script run id (srun_...).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
callsYesEvery tool call the script made, in order.
errorNo
objectYes
outputNoWhat the script printed (the last 64,000 characters).
resultNoThe script's last expression, as JSON.
reusedNo
statusYes
next_stepNo
created_atYes
started_atNo
completed_atNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
timeout_secondsYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the mutation/retry semantics are covered. The description adds genuinely new behavioral context: cancellation only succeeds for not-yet-started runs and cannot interrupt a running script. It doesn't say what error or state results if the run already started, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both load-bearing, with the eligibility constraint front-loaded before the failure-mode explanation. No filler whatsoever.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the key eligibility/timing semantics are present. Minor gap: no mention of what happens on an invalid or already-started run (error vs. silent no-op), which an agent could need for error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema coverage is 100% (run_id documented with the srun_... token format), so the schema carries the semantics alone. The description adds nothing about run_id beyond what the schema states; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (cancel) and resource (script run) plus a scope constraint ('that has not started yet') that immediately distinguishes it from the sibling cancel_run and from wait/get variants. An agent knows exactly what this does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence supplies an explicit condition under which this tool is NOT useful ('a running script runs to its end or its timeout'), effectively stating when-not-to-use. It stops short of naming the alternative tool to use for in-flight runs, so it is not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_chatB
Read-onlyIdempotent
Inspect

Get a chat's title, kind, and latest run.

ParametersJSON Schema
NameRequiredDescriptionDefault
chat_idYesA chat id (aichat_...). A run id works too — it resolves to that run's chat.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
titleNo
objectYes
created_atYes
updated_atNo
context_typeNo
latest_run_idNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description's only added behavioral content is an implicit note that it surfaces the 'latest run', which hints at a read-through/lookup behavior but is not elaborated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; the returned fields are stated immediately after the verb+resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value detail is unnecessary in the description, and the single required parameter is fully documented in the schema. Only the missing usage/routing context keeps it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already explains that a run id resolves to its chat, so the lone parameter is fully documented. The description adds no parameter detail beyond the schema, which is the baseline 3 case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (get) and resource (chat) and enumerates what it returns (title, kind, latest run). It is distinguishable from list_chats, but the description never explicitly differentiates itself from that sibling beyond the plural/singular distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of when to prefer get_chat over list_chats or get_run, and no stated prerequisites. The agent must infer usage entirely from the name and siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_runA
Read-onlyIdempotent
Inspect

Fetch a run's current status, summary, pending approvals, and (once settled) the agent's final reply.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesA run id (trun_...).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
objectYes
resultNo
reusedNo
statusYes
chat_idNo
summaryNo
task_idYes
next_stepNo
task_nameNo
created_atYes
started_atNo
completed_atNo
error_messageNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
credits_consumedNo
pending_approval_idsNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already fully cover the safety profile (readOnlyHint, idempotentHint, openWorldHint=false, destructiveHint=false), lowering the bar. The description still adds a lifecycle nuance beyond the annotations: the agent's final reply is only present once the run has settled, so output is state-dependent. It does not describe error/running states or auth needs, keeping it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that lists the four pieces of returned information with zero filler. Every clause earns its place and nothing is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be re-explained, annotations cover safety, and the lone parameter is fully documented in the schema. The description is therefore functionally complete; the only remaining gap is the missing routing guidance relative to wait_for_run and list_runs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single run_id parameter (documented as 'trun_...'), so the schema carries the meaning. The description only implies that a run is identified by an id and adds no format or constraint detail beyond the schema, making the baseline 3 the right call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Fetch') and resource ('a run's') and enumerates the returned content (status, summary, pending approvals, final reply). This is far more than a tautology, but it never names or contrasts a sibling such as wait_for_run or list_runs, so sibling differentiation is absent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: it is the read accessor for a single run, and the '(once settled)' clause hints at when the final reply is available. However, there is no explicit statement of when to prefer this over wait_for_run (which polls until settled) or list_runs, nor any prerequisite guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_script_runA
Read-onlyIdempotent
Inspect

Read a script run's status, and its result once it has finished.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesA script run id (srun_...).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
callsYesEvery tool call the script made, in order.
errorNo
objectYes
outputNoWhat the script printed (the last 64,000 characters).
resultNoThe script's last expression, as JSON.
reusedNo
statusYes
next_stepNo
created_atYes
started_atNo
completed_atNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
timeout_secondsYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description usefully adds that results are only available after completion, but says nothing about polling cadence, rate limits, or error states while pending.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. The action and the timing constraint are stated immediately and nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with an output schema, the description covers the essential behavior and the result-availability caveat. Marginal gaps remain around interaction with wait_for_script_run, but the output schema handles return-value detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter with 100% schema description coverage ('A script run id (srun_...).'), so the schema fully carries parameter meaning. The description adds nothing beyond what the schema already documents, which is the baseline case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Read) and resource (a script run's status/result), and clarifies the temporal scope ('once it has finished'). It doesn't distinguish itself from siblings like get_run or wait_for_script_run, so an agent must infer the difference is script-run-specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'its result once it has finished' implies this is for checking a run that may still be in progress, which hints at polling behavior. But there is no explicit guidance on when to use this versus wait_for_script_run or get_run, and no exclusions given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_chatsB
Read-onlyIdempotent
Inspect

List the account's chats, newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 20.
searchNoOnly chats whose title matches.
ending_beforeNoReturn the page before this id — the first id from the previous page.
starting_afterNoReturn the page after this id — the last id from the previous page.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
objectYes
has_moreYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds one genuine behavioral fact not in annotations: default sort order is newest first. It says nothing about page size defaults or total counts, but with annotations carrying the heavy load a 3 is fair.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single eleven-word sentence with the resource and the ordering constraint front-loaded. Zero filler and nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With rich annotations, a 100%-documented parameter schema, and an output schema covering return values, the description need only establish identity and ordering, which it does. Only the absence of any routing hint against sibling list/get tools keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so limit, search, ending_before and starting_after are all self-documenting, and an output schema exists. The description adds no syntax or format detail beyond the schema; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (the account's chats) and adds the ordering guarantee (newest first), so the agent knows exactly what this returns. It does not differentiate itself from siblings like get_chat or list_messages, though the noun 'chats' makes the distinction largely self-evident.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no mention of alternatives — an agent must infer that get_chat is for a single chat and this is for enumeration. No prerequisites, no note on how it relates to list_messages or pagination workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_integrationsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
objectYes
other_connectionsYesConnected apps without a namespace of their own: expired ones need reconnecting in Crevio, social accounts are reached through crevioApi, and the rest serve Crevio itself (Slack for chat, GitHub for sites).

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds content-structure context (namespaces under `tools`, connected-app status), but the return shape is also covered by the output schema, so incremental value is modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the purpose front-loaded and the follow-up action last. The second sentence is a pointer to a sibling rather than direct tool behavior, but it is short and earns its place by enabling the next step.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters, rich annotations, and an output schema covering return values, the definition only needs to frame intent and next steps, which it does. It could add one clause on when this call is unnecessary, but nothing required for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly conveys that discovery is unfiltered and namespace-scoped rather than parameterized.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (list) and resource (what a script can call / integrations) and enumerates the concrete contents: crevioApi, platform namespaces under `tools`, and connected apps with status. It explicitly distinguishes itself from the sibling list_integration_tools, which it positions as the follow-up for drilling into a namespace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear sequencing guidance: call this first to discover namespaces, then 'list a namespace's functions with list_integration_tools.' It names the alternative tool and the condition that selects it, but does not state explicit exclusions or when this tool is the wrong choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_integration_toolsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 10.
offsetNoSkip this many matches — the count already seen.
searchNoOnly functions whose name or description matches every word.
namespaceYesA namespace from list_integrations, e.g. crevioApi or pdGmail.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
objectYes
has_moreYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description usefully adds what each entry contains (approval requirement, read-only flag, snippet), but says nothing about pagination behaviour or result limits despite limit/offset parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both front-loaded and load-bearing: the first defines the payload, the second gives the narrowing heuristic. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be documented, yet the description helpfully enumerates the returned fields anyway. Combined with full schema coverage, an agent has enough to call this correctly; only pagination expectations are left to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (namespace, search, limit, offset) is already documented in the schema, establishing the baseline of 3. The description only restates the search-narrowing idea and adds no format or syntax detail beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List one namespace's functions') and goes further by naming the fields returned: callable name, parameters, read-only flag, approval need, and a run_script-ready snippet. It is clearly distinct from list_integrations (which yields namespaces) and connects to run_script, though the sibling differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The closing line 'crevioApi has hundreds of operations: narrow it with `search`' gives practical guidance, but it never states when to reach for this tool over list_integrations or search-type siblings, nor any prerequisites. Usage is implied (discover callable functions before invoking run_script) rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_messagesB
Read-onlyIdempotent
Inspect

Read a chat's messages, oldest first. Returns the most recent limit messages; page back through older ones with starting_after.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 50.
chat_idYesA chat id (aichat_...). A run id works too — it resolves to that run's chat.
ending_beforeNoReturn the messages older than this id — the first id of the previous page. Paging walks backwards through history, since the default page is the tail.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
objectYes
has_moreYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is covered. The description usefully adds ordering semantics and that the default page is the tail of history, but it omits any note on truncation, page-size caps, or what a page boundary looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero filler, and the core behavior (chat's messages, oldest first) is front-loaded before the paging detail. Only the dangling, incorrect parameter reference detracts.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be spelled out. For a 3-param paginated list tool the description covers ordering and paging direction adequately, but the incorrect cursor name leaves the agent without a correct paging recipe, which is the one thing this description needed to nail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents all three parameters with default, bounds, and id-resolution details, so the baseline would be 3. Instead the description actively misleads: it tells the agent to page with 'starting_after', a parameter that does not exist in the schema, while the real cursor is 'ending_before'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Read a chat's messages') and adds ordering ('oldest first') plus result scope ('most recent limit messages'). It is distinguishable from get_chat and list_chats by implication, but it never names a sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It conveys paging intent ('page back through older ones') and the default tail-page behavior, which is genuinely useful context. However, it gives no when-to-use vs. alternatives guidance (e.g., get_chat for metadata, list_chats for discovery), and the paging instruction references a parameter that does not exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_runsA
Read-onlyIdempotent
Inspect

List the account's task runs, newest first — delegated jobs and scheduled tasks alike. Filter by status or task.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 20.
statusNoOnly runs in this state.
task_idNoOnly runs of this task (task_...).
ending_beforeNoReturn the page before this id — the first id from the previous page.
starting_afterNoReturn the page after this id — the last id from the previous page.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
objectYes
has_moreYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description still adds real behavior beyond them: the result ordering (newest first) and the fact that both delegated jobs and scheduled tasks are included. It does not discuss pagination semantics, though the cursor parameters are documented in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with the resource, ordering, scope, and filters front-loaded; every clause carries information and nothing is repeated from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and all five parameters are documented in the schema. The only minor gap is that pagination behavior is left entirely to the schema descriptions rather than being surfaced in the tool description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so limit, status, task_id, and both cursors are fully documented structurally, making 3 the baseline. The description names the status and task filters but adds no format, enum, or default detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (List) plus resource (the account's task runs) and it defines what counts as a run — 'delegated jobs and scheduled tasks alike' — which meaningfully separates it from get_run, get_script_run, and wait_for_run. The ordering guarantee ('newest first') is stated up front.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It indicates the purpose of the two filter parameters, so usage is implied, but it never says when to prefer this over a single-run sibling (get_run) or when not to use it. No explicit alternatives or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_approvalsA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesA run id (trun_...).
approvalsYesOne decision per pending approval id — the run stays paused until every one is answered.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
objectYes
resultNo
reusedNo
statusYes
chat_idNo
summaryNo
task_idYes
next_stepNo
task_nameNo
created_atYes
started_atNo
completed_atNo
error_messageNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
credits_consumedNo
pending_approval_idsNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, idempotent=false, and openWorld=true, so the safety profile is covered. The description adds real behavioral context beyond them: the all-at-once atomicity requirement and the fact the run resumes in the background rather than returning the completed result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. The precondition is front-loaded, the atomicity and async-resume behaviors follow immediately, and nothing is repeated from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description covers the trigger state, the batch requirement, and the background resume. It could still note denial reason semantics or partial-failure behavior, but it is sufficient to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including the nested approvals array, its items, and the minItems constraint, so the schema carries the parameter meaning. The description only restates that a decision is needed per pending id, adding no format or syntax detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb pair (approve/deny) plus a precise resource (integration actions a run is paused on) and the exact trigger state (status needs_input with pending_approval_ids). It is clearly distinguishable from siblings like get_run, wait_for_run, or cancel_run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the precondition for calling (a run paused in needs_input) and the workflow requirement to answer every pending id at once, which is strong context. It does not name alternatives (e.g., wait_for_run for monitoring) or say what happens if a run is not in that state, so it stops short of explicit when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_scriptA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe JavaScript to run.
wait_secondsNoHow long to wait for the script to finish before returning. Defaults to, and is capped at, 300 s when your client accepts a streamed reply (text/event-stream), 90 s otherwise. The script keeps going when the wait ends first.
idempotency_keyNoAlways pass one, unique to this request. Retrying with the same key within an hour returns the run the first call started instead of doing the job twice.
timeout_secondsNoHow long the script may run (default 300).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
callsYesEvery tool call the script made, in order.
errorNo
objectYes
outputNoWhat the script printed (the last 64,000 characters).
resultNoThe script's last expression, as JSON.
reusedNo
statusYes
next_stepNo
created_atYes
started_atNo
completed_atNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
timeout_secondsYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing execution identity ("runs as you"), authorization ("only for account admins"), concurrency limit ("At most 4 runs in flight per user"), visibility ("only the user who started a run can read it"), lifecycle ("Run ids do not expire"), and idempotency window semantics. These are exactly the traits an agent needs for a destructive, open-world operation and are not derivable from the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and execution model are front-loaded, and the dense multi-clause sentences all carry operational payload (auth, limits, waiting, idempotency). It is on the long side and the mid-sentence aside about tools.<namespace>.<function> could be tightened, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter script runner with an output schema, the description covers the otherwise-invisible contract: admin-only auth, in-flight limits, run-id persistence and ownership, timeout continuation, and the idempotency escape hatch. Return values are covered by the output schema, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real semantics beyond the schema: it explains that the script's last expression is the result, that top-level await works, that every tool call throws on failure, and that the wait ending first yields wait_timed_out with a run id. It reinforces the idempotency-key reuse behavior with a concrete rationale.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("Run JavaScript on the account's computer with bun") and immediately distinguishes the mode of operation ("no agent turn — and wait for its result"), which separates it from conversational siblings like ask_crevio and start_chat. An agent can identify the tool's role without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative for continuation ("continue with wait_for_script_run") and the exact condition that selects it (the wait ends first / wait_timed_out: true), plus the trap conditionally: calling run_script again reruns it unless the idempotency_key is reused. It also names list_integration_tools as the source of callable functions and states the admin-only precondition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_messageA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
chat_idYesA chat id (aichat_...). A run id works too — it resolves to that run's chat.
messageYesThe follow-up to send into the conversation.
timeout_secondsNoSeconds to wait for the reply before returning (default 0: return the new run immediately). Capped like ask_crevio's wait.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
objectYes
resultNo
reusedNo
statusYes
chat_idNo
summaryNo
task_idYes
next_stepNo
task_nameNo
created_atYes
started_atNo
completed_atNo
error_messageNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
credits_consumedNo
pending_approval_idsNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag the mutation profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true), and the description adds real behavioral detail on top: the run_busy outcome while a run is in flight, the resume-vs-queue branching, and the optional blocking wait. It does not explain what the destructive mutation actually affects or the shape of the reply beyond the wait flag.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, all front-loaded with the core action first, then the branching behavior, then the failure mode, then the wait option. Every sentence carries information; density is high but there is no obvious filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value shape need not be explained, yet the description still surfaces the run_busy return and the wait semantics that matter for calling correctly. Together with the annotations and full schema coverage, an agent has everything needed; only the effects of the destructive mutation are left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are documented in the schema, including chat_id accepting a run id and the timeout_seconds cap. The description's 'optionally waits for the reply' restates the timeout behavior rather than adding syntax or defaults beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (continue/send) and resource (chat message) and immediately scopes it: 'the agent keeps its context'. It differentiates itself from start_chat (new conversation) and ask_crevio by describing the two operational modes — resuming a needs_input run vs. queueing a new run after the last one finished.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear when-to-use context: resume a run in needs_input, or queue a new run when the previous one finished. It also implies a when-not condition by noting the tool returns run_busy while a run is in progress. It does not explicitly name sibling alternatives such as start_chat or wait_for_run, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_chatA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
speedNofaster thinks less, for simple jobs where latency matters more than depth; smarter (default) thinks it through.
messageYesWhat you want done, in natural language, with all the context needed — the agent does not see your conversation.
approval_modeNoautonomous (default) acts without review; supervised pauses in needs_input for your approval before each gated write (pending_approval_ids) and otherwise finishes with its proposal; read_only forbids writes.
idempotency_keyNoAlways pass one, unique to this request. Retrying with the same key within an hour returns the run the first call started instead of doing the job twice.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
objectYes
resultNo
reusedNo
statusYes
chat_idNo
summaryNo
task_idYes
next_stepNo
task_nameNo
created_atYes
started_atNo
completed_atNo
error_messageNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
credits_consumedNo
pending_approval_idsNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=false... rather openWorldHint=true and destructiveHint=true, which is unusual for a chat tool and the description does not reconcile it. What the description does add is genuinely useful: the non-blocking semantics, that a run is queued, and that the returned chat_id is the handle for continued conversation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the non-blocking contract and then the continuation handle. Every sentence carries information; nothing restates the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a queued, long-running, multi-mode operation with an output schema, the description covers the async contract and continuation path well enough to call it correctly. The remaining gap is the missing contrast with ask_crevio, which matters for selecting this tool over its blocking sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (speed, approval_mode, idempotency_key) is already documented in the schema with enum semantics. The description adds no parameter-level syntax or format beyond what the schema supplies, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Open a chat with the Crevio agent and queue a run') and immediately disambiguates via scope: it does not block, it returns the run. An agent can distinguish this from send_message, wait_for_run and get_run without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the follow-up paths explicitly ('continue with send_message', 'follow the run with wait_for_run or get_run'), which gives real routing guidance. However it never contrasts itself with the sibling ask_crevio, which is presumably the blocking counterpart, so the primary when-to-use choice is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wait_for_runA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesA run id (trun_...).
timeout_secondsNoHow long to wait for the run to finish before returning. Defaults to, and is capped at, 300 s when your client accepts a streamed reply (text/event-stream), 90 s otherwise. The run keeps going when the wait ends first.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
objectYes
resultNo
reusedNo
statusYes
chat_idNo
summaryNo
task_idYes
next_stepNo
task_nameNo
created_atYes
started_atNo
completed_atNo
error_messageNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
credits_consumedNo
pending_approval_idsNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly/idempotent/non-destructive, so the remaining burden is behavioral detail, which the description supplies: the run keeps going after the wait ends, and a still-running result is flagged with wait_timed_out: true. It does not mention auth or rate-limit considerations, but for a read-only wait tool that is minor.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the blocking condition and terminal states, then the timeout escape hatch. Every clause carries distinct information with no repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter wait tool with a full output schema and clear safety annotations, the description covers the essential loop semantics (what terminal states look like, what to do on timeout). Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: both run_id and timeout_seconds (including the 300 s streamed vs 90 s non-streamed cap and the default) are fully documented in the schema. The description only alludes to the wait ending, adding no syntax or semantics beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (wait) and resource (run), plus the terminal states it waits for (completed, failed, needs_input) and what it returns (the agent's final reply). It does not explicitly contrast with the sibling get_run, which returns the current state without blocking, so differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It tells the agent what to do when the wait ends without settlement — 'call wait_for_run again' — which is actionable usage guidance for the blocking loop. It stops short of naming the non-blocking alternative (get_run) or saying when polling is preferable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wait_for_script_runA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesA script run id (srun_...).
wait_secondsNoHow long to wait for the script to finish before returning. Defaults to, and is capped at, 300 s when your client accepts a streamed reply (text/event-stream), 90 s otherwise. The script keeps going when the wait ends first.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
callsYesEvery tool call the script made, in order.
errorNo
objectYes
outputNoWhat the script printed (the last 64,000 characters).
resultNoThe script's last expression, as JSON.
reusedNo
statusYes
next_stepNo
created_atYes
started_atNo
completed_atNo
wait_timed_outNoThe wait ended first. The work is still running: follow it with the tool next_step names.
timeout_secondsYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuine behavioral value beyond that: it discloses the wait_timed_out sentinel and the retry pattern, which the annotations do not convey. It does not describe blocking semantics further, but the incremental disclosure is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, zero filler, and the primary behavior (wait and return result) is front-loaded ahead of the timeout caveat. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description covers the one non-obvious outcome (wait_timed_out) plus the retry action. The only shortfall is the lack of explicit routing against the closely named get_script_run and wait_for_run siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so run_id format and the wait_seconds default/cap/streaming nuance are fully documented in the schema. The description adds no parameter-level detail beyond that, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Wait for a script run to finish and return its result.' The resource (script run) is clearly distinct from chat/run siblings. It does not, however, explicitly differentiate itself from get_script_run (non-blocking fetch) or wait_for_run (the non-script equivalent), so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives one useful directive — 'If it is still running when the wait ends... call again' — which tells the agent how to poll. It stops short of naming when to prefer this over get_script_run or wait_for_run, so the usage context is implied rather than declared.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whoamiA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
planYes
userNo
toolsYes
limitsNoBounds the delegation tools enforce.
objectYes
accountYesThe account every tool call is scoped to.
creditsYes
credentialYesHow this connection authenticated.
rate_limitNoThe API rate limit this credential is subject to.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds genuine context beyond that: what the call surfaces (plan, credits, rate limits, tool inventory) and that it is a diagnostic/introspective call rather than an operative one.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both earning their place: the first defines the output, the second defines when it is warranted. The usage constraint is front-loaded and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters, a rich output schema, and annotations covering the safety profile, the description need not explain return shape. It supplies exactly the missing piece — when this diagnostic tool is appropriate — making the definition complete for calling it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so no parameter semantics are required; the baseline for a no-parameter tool applies. Nothing in the description misrepresents or omits an input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource — identify the account, user, and credential behind the connection — and enumerates returned context (plan, credit balance, rate limits, available tools). Sibling differentiation is only implied via 'other tools already act on this account' rather than naming a specific alternative, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states both when to use it (troubleshoot the connection, check credits and limits) and when not to use it (other tools already act on this account). The condition selecting this tool versus the action-oriented siblings is explicit and leaves nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 17 tool updates
    • Removedapi_execute
    • Removedapi_search
    • Changedask_crevio7 fields changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retrying with the same key returns the run the first call started instead of starting another."New value: +"Always pass one, unique to this request. Retrying with the same key within an hour returns the run the first call started instead of doing the job twice."
      • changedInput schema / properties / message / description
        Previous value: -"What you want done, in natural language."New value: +"What you want done, in natural language, with all the context needed — the agent does not see your conversation."
      • addedInput schema / properties / speed
        Added value: +{
        +  "description": "faster thinks less, for simple jobs where latency matters more than depth; smarter (default) thinks it through.",
        +  "enum": [
        +    "faster",
        +    "smarter"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / timeout_seconds / description
        Previous value: -"How long to wait for the run to settle before returning (default 60, max 90). On wait_timed_out, call wait_for_run with the run id."New value: +"How long to wait for the run to finish before returning. Defaults to, and is capped at, 300 s when your client accepts a streamed reply (text/event-stream), 90 s otherwise. The run keeps going when the wait ends first."
      • changedInput schema / properties / timeout_seconds / maximum
        Previous value: -90New value: +300
      • addedOutput schema / properties / next_step
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / wait_timed_out
        Added value: +{
        +  "description": "The wait ended first. The work is still running: follow it with the tool next_step names.",
        +  "type": "boolean"
        +}
    • Changedcancel_run2 fields changed
      • addedOutput schema / properties / next_step
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / wait_timed_out
        Added value: +{
        +  "description": "The wait ended first. The work is still running: follow it with the tool next_step names.",
        +  "type": "boolean"
        +}
    • Addedcancel_script_run
    • Changedget_run2 fields changed
      • addedOutput schema / properties / next_step
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / wait_timed_out
        Added value: +{
        +  "description": "The wait ended first. The work is still running: follow it with the tool next_step names.",
        +  "type": "boolean"
        +}
    • Addedget_script_run
    • Addedlist_integration_tools
    • Addedlist_integrations
    • Changedlist_runs2 fields changed
      • addedOutput schema / properties / data / items / properties / next_step
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / items / properties / wait_timed_out
        Added value: +{
        +  "description": "The wait ended first. The work is still running: follow it with the tool next_step names.",
        +  "type": "boolean"
        +}
    • Changedresolve_approvals2 fields changed
      • addedOutput schema / properties / next_step
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / wait_timed_out
        Added value: +{
        +  "description": "The wait ended first. The work is still running: follow it with the tool next_step names.",
        +  "type": "boolean"
        +}
    • Addedrun_script
    • Changedsend_message4 fields changed
      • changedInput schema / properties / timeout_seconds / description
        Previous value: -"Seconds to wait for the reply before returning (default 0: return the new run immediately)."New value: +"Seconds to wait for the reply before returning (default 0: return the new run immediately). Capped like ask_crevio's wait."
      • changedInput schema / properties / timeout_seconds / maximum
        Previous value: -90New value: +300
      • addedOutput schema / properties / next_step
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / wait_timed_out
        Added value: +{
        +  "description": "The wait ended first. The work is still running: follow it with the tool next_step names.",
        +  "type": "boolean"
        +}
    • Changedstart_chat5 fields changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retrying with the same key returns the run the first call started instead of starting another."New value: +"Always pass one, unique to this request. Retrying with the same key within an hour returns the run the first call started instead of doing the job twice."
      • changedInput schema / properties / message / description
        Previous value: -"What you want done, in natural language."New value: +"What you want done, in natural language, with all the context needed — the agent does not see your conversation."
      • addedInput schema / properties / speed
        Added value: +{
        +  "description": "faster thinks less, for simple jobs where latency matters more than depth; smarter (default) thinks it through.",
        +  "enum": [
        +    "faster",
        +    "smarter"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / next_step
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / wait_timed_out
        Added value: +{
        +  "description": "The wait ended first. The work is still running: follow it with the tool next_step names.",
        +  "type": "boolean"
        +}
    • Changedwait_for_run4 fields changed
      • changedInput schema / properties / timeout_seconds / description
        Previous value: -"How long to wait for the run to settle before returning (default 60, max 90). On wait_timed_out, call wait_for_run with the run id."New value: +"How long to wait for the run to finish before returning. Defaults to, and is capped at, 300 s when your client accepts a streamed reply (text/event-stream), 90 s otherwise. The run keeps going when the wait ends first."
      • changedInput schema / properties / timeout_seconds / maximum
        Previous value: -90New value: +300
      • addedOutput schema / properties / next_step
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / wait_timed_out
        Added value: +{
        +  "description": "The wait ended first. The work is still running: follow it with the tool next_step names.",
        +  "type": "boolean"
        +}
    • Addedwait_for_script_run
    • Changedwhoami1 field changed
      • addedOutput schema / properties / limits / properties / ask_timeout_max_seconds / description
        Added value: +"Longer when this connection accepts a streamed reply."
  2. 2 tool updates
    • Changedask_crevio1 field changed
      • changedInput schema / properties / approval_mode / description
        Previous value: -"autonomous (default) acts without review; supervised pauses in needs_input for your review before finishing; read_only forbids writes."New value: +"autonomous (default) acts without review; supervised pauses in needs_input for your approval before each gated write (pending_approval_ids) and otherwise finishes with its proposal; read_only forbids writes."
    • Changedstart_chat1 field changed
      • changedInput schema / properties / approval_mode / description
        Previous value: -"autonomous (default) acts without review; supervised pauses in needs_input for your review before finishing; read_only forbids writes."New value: +"autonomous (default) acts without review; supervised pauses in needs_input for your approval before each gated write (pending_approval_ids) and otherwise finishes with its proposal; read_only forbids writes."
  3. 8 tool updates
    • Changedask_crevio1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out",
        -  "unknown"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown",
        +  "skipped"
        +]
    • Changedcancel_run1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out",
        -  "unknown"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown",
        +  "skipped"
        +]
    • Changedget_run1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out",
        -  "unknown"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown",
        +  "skipped"
        +]
    • Changedlist_runs2 fields changed
      • changedInput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out",
        -  "unknown"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown",
        +  "skipped"
        +]
      • changedOutput schema / properties / data / items / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out",
        -  "unknown"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown",
        +  "skipped"
        +]
    • Changedresolve_approvals1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out",
        -  "unknown"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown",
        +  "skipped"
        +]
    • Changedsend_message1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out",
        -  "unknown"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown",
        +  "skipped"
        +]
    • Changedstart_chat1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out",
        -  "unknown"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown",
        +  "skipped"
        +]
    • Changedwait_for_run1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out",
        -  "unknown"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown",
        +  "skipped"
        +]
  4. 8 tool updates
    • Changedask_crevio1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown"
        +]
    • Changedcancel_run1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown"
        +]
    • Changedget_run1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown"
        +]
    • Changedlist_runs2 fields changed
      • changedInput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown"
        +]
      • changedOutput schema / properties / data / items / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown"
        +]
    • Changedresolve_approvals1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown"
        +]
    • Changedsend_message1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown"
        +]
    • Changedstart_chat1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown"
        +]
    • Changedwait_for_run1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input",
        -  "timed_out"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out",
        +  "unknown"
        +]
  5. 8 tool updates
    • Changedask_crevio1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out"
        +]
    • Changedcancel_run1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out"
        +]
    • Changedget_run1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out"
        +]
    • Changedlist_runs2 fields changed
      • changedInput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out"
        +]
      • changedOutput schema / properties / data / items / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out"
        +]
    • Changedresolve_approvals1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out"
        +]
    • Changedsend_message1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out"
        +]
    • Changedstart_chat1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out"
        +]
    • Changedwait_for_run1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "pending",
        -  "running",
        -  "completed",
        -  "failed",
        -  "needs_input"
        -]New value: +[
        +  "pending",
        +  "running",
        +  "completed",
        +  "failed",
        +  "needs_input",
        +  "timed_out"
        +]
  6. 14 tool updates
    • First observedapi_execute
    • First observedapi_search
    • First observedask_crevio
    • First observedcancel_run
    • First observedget_chat
    • First observedget_run
    • First observedlist_chats
    • First observedlist_messages
    • First observedlist_runs
    • First observedresolve_approvals
    • First observedsend_message
    • First observedstart_chat
    • First observedwait_for_run
    • First observedwhoami

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    22 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources