Skip to main content
Glama

Mark a required email as sent (or missed)

mark_notice_sent
Idempotent

Records that the merchant sent a due notice (ntd_…), optionally with the email provider's message id. Idempotent. Only call this after the email was actually sent: a send before the window opens is refused, and an overdue notice marked sent is recorded as late. For an overdue notice that was not and will not be sent, pass missed: true (with a reason) instead: it is recorded as missed, no send is attested.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "notice": "<notice>"
    },
    "name": "mark_notice_sent"
  }
}

Input Schema

NameRequiredDescriptionDefault
missedNotrue: record an overdue notice as NOT sent (markNoticeMissed) instead of sent.
noticeYesDue notice id (ntd_…).
reasonNoWith missed: why it was not sent.
sent_atNoWhen it was sent (unix seconds); default now.
provider_message_idNoThe email provider's message id (Resend / Postmark / SES).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, readOnlyHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral facts: refusal before the window opens, retroactive recording as 'late', and that missed mode sends no attestation. The standalone 'Idempotent.' sentence merely restates the annotation, which is the only redundancy.

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, front-loaded with what is recorded before moving to preconditions and the missed alternative. Every sentence carries weight except the one-word 'Idempotent.', which duplicates an annotation instead of adding signal.

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 five-parameter, one-required mutation tool with full schema coverage and no output schema, the description covers both operating modes, the timing precondition, the late-recording edge case, and the refusal behavior. Nothing an agent needs before invoking it 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 description coverage is 100%, so a 3 is the baseline; the description earns above that by explaining how parameters interact rather than restating them — missed:true paired with a reason forms a distinct code path recorded as missed, and provider_message_id is framed as optional attestation. It does not repeat the maxLength or sent_at default details already in the schema.

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 gives a specific verb and resource — records that a merchant sent a due notice identified as ntd_… — and explicitly covers the alternate 'missed' mode. An agent can distinguish this from list_due_notices or get_notice_schedule without opening schemas. It stops short of naming a sibling to use instead, which keeps it off 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 the precondition plainly ('Only call this after the email was actually sent') and explains the consequence of violating it ('a send before the window opens is refused'). It also names the alternative path: for an overdue notice that was not and will not be sent, pass missed: true with a reason instead. Both when-to-use and when-not-to-use are explicit.

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.