willitsend
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENTPHONE_API_KEY | No | Optional API key for live iMessage/SMS capabilities lookup. If not provided, the tool runs offline. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| preflight_messageA | Analyzes (lints) a draft SMS/iMessage BEFORE you send it — it sends nothing itself, makes no delivery attempt, and has no side effects. Call this first, before send_message or any other messaging tool, on every outbound draft. Returns: a verdict (pass, warn, block, or needs_context — block-severity issues that depend on context you didn't provide, like whether this is the first message to this contact); a list of findings, each with a severity, a stable rule id, a plain-language explanation, an optional concrete fix, and a citation URL (AgentPhone docs, CTIA, or Twilio guidelines) backing the rule; and a send trace with the destination classification, the assumed delivery channel (imessage/sms/mms/unknown), SMS segment math (encoding, segment count), and — given a 10DLC campaign_type — a daily-quota illustration. Use it to catch carrier-filtering risks (missing opt-out language, missing brand identification, missing opt-in wording on first messages), invalid iMessage send_style values, oversized media carousels, and GSM-7/UCS-2 segment blowups from stray unicode before spending a real send. Every finding's fix field is directly actionable: apply it to the draft verbatim (e.g. append the exact quoted sentence), then call preflight_message again — loop until the verdict is pass. Never treat needs_context as permission to send; supply the missing context and re-check. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 1 tool
With only one tool in the server, there is no possibility of confusing it with another tool. The purpose is unambiguous by default.
The single tool name 'preflight_message' follows a clear verb_noun snake_case convention. With only one tool, there is no inconsistency to detect.
A single tool feels thin for a typical server, but the purpose here is narrowly scoped to preflight message linting, so the count is borderline but not unreasonable.
The preflight_message tool covers the full linting lifecycle: it analyzes drafts, returns verdicts and actionable findings, and provides delivery-channel estimates. Minor gaps exist (e.g., no way to retrieve a rule set or manage campaign types), but the core domain is well covered.