Skip to main content
Glama

Send Customer Contract

send_customer_contract
Destructive

[publish] Send a contract (contract_id or contract_uuid) to the customer in their conversation. platform = wp|ig|fb|tw, chat_id = _chat_id from list_chats (or chat_uuid); message = a short text asking them to read and confirm (the contract's file link is added). Delivered to the real customer. A DRAFT / REVISION contract becomes SENT.

Input Schema

NameRequiredDescriptionDefault
chat_idNo
messageYes
platformYes
chat_uuidNo
contract_idNo
contract_uuidNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already flag destructive=true, openWorldHint=true and non-idempotent, but the description adds valuable context: the message reaches 'the real customer', a file link is automatically appended, and the contract's status mutates from DRAFT/REVISION to SENT. It stops short of describing failure modes (e.g., sending an already-SENT contract) or whether the send is reversible.

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-loaded with the action and bracketed mode tag, then parameter semantics, then consequence. Dense semicolon packing is slightly run-on but no sentence is 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?

No output schema and no annotation coverage of the state transition, so the description correctly supplies the side-effect and status-change details an agent needs. Remaining gap is error/precondition handling for contracts not in DRAFT/REVISION.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must carry the load and it does: it enumerates the platform enum (wp|ig|fb|tw), explains where chat_id comes from (list_chats) and the chat_uuid alternative, and offers the contract_id/contract_uuid pair with the message's intended content. All six parameters get meaning the bare schema lacks.

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 (send) plus resource (contract) and the delivery channel (the customer's conversation), and the [publish] tag plus the DRAFT/REVISION→SENT transition make clear this is a live outbound action. An agent can distinguish it from send_customer_invoice or send_customer_proposal at a glance.

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 rather than stated: the description notes the message is 'a short text asking them to read and confirm' and that a DRAFT/REVISION contract becomes SENT, which hints at preconditions. But it never explicitly says when to choose this over send_customer_invoice/proposal, nor what to do if the contract is already SENT.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources