Skip to main content
Glama

reply_message

Reply in a message's thread, returning the stored message with reply_to. message_id selects the original in this project. Omit to to address its sender; cc and bcc are added only when supplied.

Instructions

Reply in a message's thread, returning the stored message with reply_to. message_id selects the original in this project. Omit to to address its sender; cc and bcc are added only when supplied. The original's topic and importance are inherited, with a 'Re:' subject; importance can be overridden. ack_required defaults to false; set it explicitly to request acknowledgement of this reply. For retries within 7 days, reuse a nonempty idempotency_key with identical arguments. To start a new thread, use send_message. Send only when the recipient needs to act or know: a handoff, requested result, blocker or shared-resource change. Make clear to the human and receiver whether the message informs or requests work; for requests, name the action, repository and owner. Distinguish implementing source, installing an update and adding guidance. Write coordination messages in Markdown. Open with the action, decision or changed result. Add up to three short facts the receiver needs, then a Next action line naming the requested action or stating No action requested. Link supporting records on an Evidence line; omit that line when no record exists. Keep the requested action, authority, scope and essential holds inline. Put logs, metrics, hashes, execution details and authorization history in the linked records. When a decision depends on those details, ask the receiver to inspect the record. Preserve exact identifiers, paths and commands. Write readable sentences with spaces between words and numbers, not compressed identifiers and counts. When referring to another agent, include its verified session title or repository beside its name; use this session for the current receiver only after matching session identity. For relayed authorization, preserve the source, exact selected action and target owner; a relayed bare approval such as "B" or "go" is ambiguous. Contact only still-dependent resource owners, sending release or cancellation before dropping waiting recipients. For resource coordination, name only the resource, finite phase boundary and receiver action; omit unrelated progress and errors. Use resource_notice for typed release/cancellation mail; it generates readable text and derives quiet or actionable delivery. Use one supported transport per recipient and purpose; uncertain delivery is not a reason to resend by another route. Keep routine progress in your own conversation; do not send courtesy acknowledgements or reply to thanks.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ccNoRecipients copied, visible to everyone.
toNoRecipients; default the original sender.
bccNoRecipients the others do not see.
body_mdYesThe reply body, in Markdown.
importanceNolow, normal, high or urgent.
message_idYesThe message to reply to.
project_keyYesAbsolute path of the repository's primary checkout.
sender_nameYesYour registered agent name.
ack_requiredNoAsk recipients to call acknowledge_message.
subject_prefixNoDefault 'Re:'; not added twice.
delivery_policyNochecked (default) or durable. Both currently admit and store mail the same way. Neither bypasses closed T3 or unavailable bound sources. Unqualified standalone state remains unknown and is returned with warnings; storage does not transfer task ownership.
idempotency_keyNoNonempty key for this tool and agent. Identical arguments replay with idempotent_replay:true; different arguments fail with IDEMPOTENCY_KEY_CONFLICT. Cleanup runs at server startup and hourly, removing keys older than 7 days. Retries can replay until removal; afterward a retry may perform the operation again.
notification_policyNowake permits automatic inbox hints. quiet stores normal/low mail for inbox/search without waking the recipient; high/urgent importance or ack_required:true rejects. Omitted policy defaults to quiet only for normal/low, acknowledgement-free mail when every recipient has a valid registered T3 thread ID; otherwise wake. Ping probes keep wake by default. Replies use this same rule, not the original policy. Set wake explicitly for actionable handoffs, requested results and blockers.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
ccYes
idYes
toYes
bccYes
fromYes
topicYes
body_mdYes
subjectYes
deliveryNo
reply_toYes
revisionNo
sender_idYes
thread_idYes
created_tsYes
importanceYes
project_idYes
ack_requiredYes
sender_locationYes
idempotent_replayNo
notification_policyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.3.1
    • changedInput schema / properties / idempotency_key / description
      Previous value: -"Nonempty key for this tool and agent. Identical arguments replay with idempotent_replay:true; different arguments fail with IDEMPOTENCY_KEY_CONFLICT. Hourly cleanup removes keys older than 7 days. Retries can replay until removal; afterward a retry may perform the operation again."New value: +"Nonempty key for this tool and agent. Identical arguments replay with idempotent_replay:true; different arguments fail with IDEMPOTENCY_KEY_CONFLICT. Cleanup runs at server startup and hourly, removing keys older than 7 days. Retries can replay until removal; afterward a retry may perform the operation again."
    • addedInput schema / properties / notification_policy
      Added value: +{
      +  "description": "wake permits automatic inbox hints. quiet stores normal/low mail for inbox/search without waking the recipient; high/urgent importance or ack_required:true rejects. Omitted policy defaults to quiet only for normal/low, acknowledgement-free mail when every recipient has a valid registered T3 thread ID; otherwise wake. Ping probes keep wake by default. Replies use this same rule, not the original policy. Set wake explicitly for actionable handoffs, requested results and blockers.",
      +  "enum": [
      +    "wake",
      +    "quiet"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "anyOf": [
      +    {
      +      "required": [
      +        "delivery",
      +        "revision",
      +        "notification_policy"
      +      ]
      +    },
      +    {
      +      "properties": {
      +        "idempotent_replay": {
      +          "const": true
      +        }
      +      },
      +      "required": [
      +        "idempotent_replay"
      +      ]
      +    }
      +  ],
      +  "properties": {
      +    "ack_required": {
      +      "type": "boolean"
      +    },
      +    "bcc": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "body_md": {
      +      "type": "string"
      +    },
      +    "cc": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "created_ts": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "delivery": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "admission_checked_at": {
      +          "type": "string"
      +        },
      +        "historical": {
      +          "type": "boolean"
      +        },
      +        "persisted": {
      +          "type": "boolean"
      +        },
      +        "recipients": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "availability": {
      +                "enum": [
      +                  "eligible",
      +                  "unavailable",
      +                  "unknown"
      +                ]
      +              },
      +              "historical": {
      +                "type": "boolean"
      +              },
      +              "lifecycle": {
      +                "type": "string"
      +              },
      +              "observed_at": {
      +                "type": "string"
      +              },
      +              "process": {
      +                "enum": [
      +                  "present",
      +                  "unknown"
      +                ]
      +              },
      +              "reason": {
      +                "type": "string"
      +              },
      +              "recipient": {
      +                "type": "string"
      +              },
      +              "reported_end_at": {
      +                "type": "string"
      +              },
      +              "source": {
      +                "enum": [
      +                  "t3",
      +                  "registry",
      +                  "registration"
      +                ]
      +              },
      +              "wake": {
      +                "const": "unknown"
      +              }
      +            },
      +            "required": [
      +              "recipient",
      +              "availability",
      +              "lifecycle",
      +              "process",
      +              "wake",
      +              "source",
      +              "reason",
      +              "observed_at"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "warnings": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "persisted",
      +        "admission_checked_at",
      +        "historical",
      +        "recipients",
      +        "warnings"
      +      ],
      +      "type": "object"
      +    },
      +    "from": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "integer"
      +    },
      +    "idempotent_replay": {
      +      "type": "boolean"
      +    },
      +    "importance": {
      +      "type": "string"
      +    },
      +    "notification_policy": {
      +      "enum": [
      +        "wake",
      +        "quiet"
      +      ]
      +    },
      +    "project_id": {
      +      "type": "integer"
      +    },
      +    "reply_to": {
      +      "type": "integer"
      +    },
      +    "revision": {
      +      "type": "integer"
      +    },
      +    "sender_id": {
      +      "type": "integer"
      +    },
      +    "sender_location": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "branch": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "repo": {
      +          "type": "string"
      +        },
      +        "title": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "worktree": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "repo",
      +        "worktree",
      +        "branch",
      +        "title"
      +      ],
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "subject": {
      +      "type": "string"
      +    },
      +    "thread_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "to": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "topic": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "project_id",
      +    "sender_id",
      +    "thread_id",
      +    "topic",
      +    "subject",
      +    "body_md",
      +    "importance",
      +    "ack_required",
      +    "created_ts",
      +    "from",
      +    "sender_location",
      +    "to",
      +    "cc",
      +    "bcc",
      +    "reply_to"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changedv0.3.0
    • addedInput schema / properties / delivery_policy
      Added value: +{
      +  "description": "checked (default) or durable. Both currently admit and store mail the same way. Neither bypasses closed T3 or unavailable bound sources. Unqualified standalone state remains unknown and is returned with warnings; storage does not transfer task ownership.",
      +  "enum": [
      +    "checked",
      +    "durable"
      +  ],
      +  "type": "string"
      +}
  3. Changed1 schema field changedv0.2.5
    • changedInput schema / properties / idempotency_key / description
      Previous value: -"Any string. A retry with the same key and arguments returns the first result."New value: +"Nonempty key for this tool and agent. Identical arguments replay with idempotent_replay:true; different arguments fail with IDEMPOTENCY_KEY_CONFLICT. Hourly cleanup removes keys older than 7 days. Retries can replay until removal; afterward a retry may perform the operation again."
  4. Changed9 schema fields changedv0.2.2
    • addedInput schema / properties / ack_required / description
      Added value: +"Ask recipients to call acknowledge_message."
    • addedInput schema / properties / bcc / description
      Added value: +"Recipients the others do not see."
    • addedInput schema / properties / body_md / description
      Added value: +"The reply body, in Markdown."
    • addedInput schema / properties / cc / description
      Added value: +"Recipients copied, visible to everyone."
    • addedInput schema / properties / idempotency_key / description
      Added value: +"Any string. A retry with the same key and arguments returns the first result."
    • addedInput schema / properties / importance / description
      Added value: +"low, normal, high or urgent."
    • changedInput schema / properties / message_id / description
      Previous value: -"Message id."New value: +"The message to reply to."
    • addedInput schema / properties / subject_prefix / description
      Added value: +"Default 'Re:'; not added twice."
    • addedInput schema / properties / to / description
      Added value: +"Recipients; default the original sender."
  5. First observedv0.2.1

TDQS

Score is being calculated.