Skip to main content
Glama

generate_xpp_template

Read-onlyIdempotent

WHEN: writing an extension or customization -- generates ready-to-use X++ code. Triggers: 'génère un CoC', 'crée une extension', 'generate extension', 'write a CoC class', 'event handler pour', 'template pour'. Uses REAL metadata from the KB (actual field names, method signatures). 'coc' = Chain of Command class, 'table_extension' = extend table with fields/methods, 'event_handler' = pre/post event handler, 'job' = runnable class, 'find_method' = find/exist pattern. ALWAYS call get_object_details first to verify the object exists.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
methodNameNoOptional: specific method name for CoC or event handler templates
objectNameYesThe base object, e.g. 'SalesTable', 'VendInvoiceJour'
templateTypeYesTemplate type: 'coc', 'table_extension', 'event_handler', 'job', 'find_method'

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), and the description adds behavioral context beyond them: 'Uses REAL metadata from the KB (actual field names, method signatures)' and the hard dependency on a prior get_object_details call. It does not detail the return payload or failure modes, but generation semantics are consistent with the read-only, idempotent annotations — no contradiction.

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?

The content is front-loaded — the WHEN frame and purpose come first, followed by triggers, glossary, and the precondition. Every clause earns its place; the trigger list is slightly long with some French/English duplication, but that redundancy is arguably useful for matching a multilingual agent's input. It is dense but not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and five distinct generation modes, the description covers the essential gaps: when to use it, what it produces, what each templateType value means, and the required upstream call (get_object_details). The one omission — describing the exact return format — is minor because the generated code is self-evidently the output.

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 coverage is 100%, giving a baseline of 3, but the description goes beyond the bare value list by defining each templateType: 'coc' = Chain of Command class, 'table_extension' = extend table with fields/methods, 'event_handler' = pre/post event handler, 'job' = runnable class, 'find_method' = find/exist pattern. This vocabulary expansion is exactly the kind of meaning the schema alone does not provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — 'generates ready-to-use X++ code' — scoped to 'writing an extension or customization.' It differentiates from siblings like generate_xpp_form, generate_query, and generate_unit_test by enumerating its five template types (coc, table_extension, event_handler, job, find_method), so an agent can select it without inspecting other schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'WHEN:' frame plus the trigger phrases ('génère un CoC', 'crée une extension', 'generate extension', 'write a CoC class') give concrete, multilingual conditions for invocation. It also enforces a workflow precondition: 'ALWAYS call get_object_details first to verify the object exists.' It stops short of naming sibling alternatives or stating when not to use the tool, which keeps it a step below a 5.

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.