templates_create
Create a saved launch template
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | ||
| connection_context | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | ||
| retryable | No | ||
| support_ref | No |
Create a saved launch template
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | ||
| connection_context | No |
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | ||
| retryable | No | ||
| support_ref | No |
Changes observed during successful MCP inspections.
Output schema / else / else / properties / content_updated_atAdded value: +{
+ "type": [
+ "string",
+ "null"
+ ]
+}Output schema / else / then / properties / categoryAdded value: +{
+ "type": "string"
+}Output schema / else / then / properties / expectedAdded value: +{
+ "type": "boolean"
+}Output schema / else / then / properties / failure_kindAdded value: +{
+ "type": "string"
+}Output schema / else / then / properties / responsibility_hintAdded value: +{
+ "type": "string"
+}Output schema / else / then / properties / routeAdded value: +{
+ "type": "string"
+}Output schema / else / then / properties / user_visibleAdded value: +{
+ "type": "boolean"
+}Input schema / properties / connection_contextAdded value: +{
+ "pattern": "^mctx_v1_[0-9a-f]{64}$",
+ "type": "string"
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the agent knows this is a write operation with destructive potential. The description adds nothing beyond that – it does not explain the overwrite flag's destructive behavior on existing templates, nor any auth or scoping requirements, despite the destructive hint being unusual for a create.
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?
A single front-loaded sentence with zero filler. It is clean and readable, though for a tool with a complex nested request object it is arguably undersized rather than optimally sized.
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?
While an output schema exists and return values need not be explained, the tool is a destructive mutation with 0% parameter documentation and a nested request object. The description omits prerequisites, the meaning of overwrite, and what a saved template is used for, leaving major gaps for correct invocation.
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?
Schema description coverage is 0% and the required 'request' object is deeply nested with ~17 properties (source_ad_id, template_kind, creative_distribution, overwrite, etc.). The description adds no meaning for any of these fields, so an agent must parse raw schema constraints to understand what a 'launch template' actually contains.
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?
States a specific verb and resource ('Create a saved launch template'), which is clearly distinct from the read-oriented siblings templates_get, templates_list, and templates_reverse_engineer. It does not explicitly contrast itself with templates_update or templates_delete, but the create verb is unambiguous.
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?
No guidance on when to use this tool versus alternatives. With templates_update, templates_delete, and templates_reverse_engineer as siblings, an agent is left to infer whether creating or updating/overwriting is appropriate, and no prerequisites (e.g., needing an existing account/creative source) are stated.
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.