Skip to main content
Glama

Deal Message Write Tool

deal-message-write
Destructive

Create, update or delete client-facing messages on a deal. Requires deal_id; update/delete also require message_id from that deal. Create/update require message (plain text or HTML, max 65535 chars). Create starts/restores the conversation with normal outreach gates and notifications; each successful create sends a separate message, including repeated text. Update edits your own message; delete follows normal message permissions. Edits/deletions change the stored conversation and cannot recall or change emails already delivered. Internal notes belong in deal-activity-write; staff-only messages are rejected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes
deal_idYesDeal ID. Required for all actions.
messageNoClient-facing message body (plain text or HTML, max 65535 chars). Required for create/update.
message_idNoMessage ID belonging to this deal. Required for update/delete.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "create"
      -]New value: +[
      +  "create",
      +  "update",
      +  "delete"
      +]
    • changedInput schema / properties / message / description
      Previous value: -"Client-facing message body (plain text or HTML, max 65535 chars)."New value: +"Client-facing message body (plain text or HTML, max 65535 chars). Required for create/update."
    • addedInput schema / properties / message_id
      Added value: +{
      +  "description": "Message ID belonging to this deal. Required for update/delete.",
      +  "type": "integer"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "action",
      -  "deal_id",
      -  "message"
      -]New value: +[
      +  "action",
      +  "deal_id"
      +]
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare non-readOnly, destructive, and open-world, yet the description adds genuinely new behavioral context: creates trigger outreach gates and notifications, each create emits a separate message even for repeated text, updates are limited to your own message, and edits/deletes cannot recall already-delivered email. That last point is exactly the kind of irreversibility detail an agent needs before calling a destructive tool.

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 purpose and then layered by increasing specificity, with no filler sentences. It loses a point only because the parameter-requirement sentence duplicates what the schema and its required[] array already state.

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 four-parameter mutation tool with no output schema but with annotations covering the safety profile, the description supplies everything needed to call it correctly: ownership limits, notification side effects, non-recall of delivered mail, and routing for out-of-scope content. Nothing material 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 description coverage is already 75% and the schema documents all four parameters, including the action-conditional requirements. The description largely restates those same facts (deal_id required everywhere, message_id for update/delete, message max 65535 chars) without adding format or validation detail 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.

Purpose5/5

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

The first sentence gives a specific verb set (create/update/delete) and a specific resource (client-facing messages on a deal), which cleanly separates it from the read sibling deal-message-read. It further disambiguates from deal-activity-write by explicitly stating that internal notes belong there.

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 when to use it (client-facing messages, with create/update/delete variants), when not to use it (internal notes -> deal-activity-write; staff-only messages are rejected outright), and the per-action parameter preconditions. The routing rule to the alternative sibling is explicit rather than inferred.

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