list_templates
List all WhatsApp message templates synced from Meta, including approval status (APPROVED / PENDING / REJECTED). Only APPROVED templates can be broadcast.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
List all WhatsApp message templates synced from Meta, including approval status (APPROVED / PENDING / REJECTED). Only APPROVED templates can be broadcast.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true, so the description does not need to restate that this is a safe read. It adds useful context about the data being synced from Meta and the approval statuses surfaced, but it does not disclose any additional behavioral traits such as freshness guarantees, pagination, or rate limits. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. The core action and resource are front-loaded, and the second sentence adds directly useful domain context about approval status and broadcast eligibility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool, the description fully covers what the tool returns, the source of the data, the key status values, and a practical constraint. There is no output schema, but the description compensates adequately with the key information an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description has no parameter details to add, and none are needed because the input schema is empty. Nothing is missing here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'List', the resource 'WhatsApp message templates', and the source 'synced from Meta', with the approval status field explicitly named. This clearly distinguishes it from sibling write/sync tools like create_template, delete_template, and sync_templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states a relevant practical context: 'Only APPROVED templates can be broadcast.' However, it does not directly tell an agent when to choose list_templates over alternatives like sync_templates or get_campaign_stats. The usage context is implied but not made explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.