Skip to main content
Glama
setluca

SetLuca

Official

Resend a failed reply

luca_conversations_reply_failure_retry
Destructive

Send a reply the coach wrote that failed to go out, under the key it first went out with, so the lead never gets it twice. Only a failure that is safe to repeat can be retried. Sends a real message.

Instructions

Send a reply the coach wrote that failed to go out, under the key it first went out with, so the lead never gets it twice. Only a failure that is safe to repeat can be retried. Sends a real message.

Luca operation: POST /api/conversations/{id}/reply-failures/{failureId}/retry Required scopes: conversations:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Does not require idempotency. Destructive: has a real-world side effect. You must pass confirm: true; the call is rejected without it. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input Schema

NameRequiredDescriptionDefault
idYes
confirmNoThis tool has a real-world side effect: it messages real leads, books, moves, or cancels a call, changes a lead's consent, imports leads, writes to a connected calendar or CRM, sends workspace events to an outside URL, or re-triggers downstream automations. Pass confirm: true to proceed; the call is rejected without it.
failureIdYes
workspaceIdNoOptional Luca workspace id override.
workspaceSlugNoOptional Luca workspace slug override.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.1

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, openWorldHint=true and idempotentHint=false, but the description adds real context beyond them: duplicate-delivery protection via the original key, the confirm:true gate with rejection on omission, and the required scopes (conversations:write, luca:queue_ops) plus data sensitivity. This is more than the annotations convey, though it does not describe what happens to the failure record after a successful retry.

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?

The purpose and the duplicate-safety guarantee come first, before the metadata block. The subsequent lines (operation, scopes, sensitivity, idempotency, destructive/confirm, workspace override) are terse and each carries operational information rather than 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?

For a destructive, open-world mutation with an output schema, the definition covers safety gating, scopes, workspace scoping and the duplicate-delivery guarantee, which is close to everything needed to call it correctly. The only gap is what a non-retryable failure looks like at call time, which an agent would learn from the response.

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 only 60% (id and failureId have no descriptions), so the description must compensate, and it does: the endpoint path implies id is the conversation and failureId the reply failure, the confirm gate is explained in context, and the workspaceId/workspaceSlug override behavior is stated. It stops short of defining the two UUIDs explicitly, so the agent relies on path inference.

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 and resource: resend a reply the coach wrote that failed to deliver, and names the mechanism (reuse the original send key). That distinguishes it clearly from the sibling operations luca_conversations_reply_failure_dismiss, luca_conversations_partial_send_retry and luca_conversations_media_retry.

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 a clear precondition ('only a failure that is safe to repeat can be retried'), which tells the agent when this is valid, and the framing 'a reply the coach wrote that failed to go out' pins down the scenario. It does not explicitly name the alternative tools (dismiss, partial-send retry, media retry) for cases that don't qualify, so routing still requires a small inference.

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

Deploy Server

Other Tools