Skip to main content
Glama

suggest_edt

Read-onlyIdempotent

WHEN: adding a new field to a table -- find the best existing D365 EDT to extend instead of using raw primitives (str, int64, real, date). Triggers: 'what EDT for', 'which EDT should I extend', 'quel EDT pour', 'quel type étendu', 'EDT for a field'. D365 best practice mandates EDT reuse over raw primitive types. Call BEFORE declaring any field with a primitive type. Returns ranked candidate EDTs with their base type, label, and model.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topKNoNumber of EDT candidates to return (default: 8, max: 20)
purposeYesPurpose of the field in plain language, e.g. 'customer account number', 'approval status enum', 'invoice amount in transaction currency'
baseTypeNoOptional: D365 primitive base type to filter by, e.g. 'str', 'int64', 'real', 'date', 'enum'. Leave empty to search all types.
fieldNameYesField name or concept, e.g. 'AccountNum', 'vendorId', 'itemCode', 'approvalStatus'

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already establish the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the bar for extra disclosure is lower. The description adds value by stating the return shape — 'Returns ranked candidate EDTs with their base type, label, and model' — which matters because there is no output schema, but it omits behavioral details like the data source consulted or behavior on empty results. No contradiction with annotations.

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 description is roughly 70 words and front-loaded with the WHEN condition before triggers, rationale, and return format, so an agent gets the gating condition first. Each section earns its place, though the ranked list of trigger phrases in multiple languages adds density beyond strictly necessary.

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?

Because there is no output schema, the description correctly fills the return-value gap by specifying ranked candidates with base type, label, and model. The 4-parameter surface is fully covered by the schema, and the only notable omissions — whether an active D365 environment connection is required and what happens when no match is found — are minor for a read-only lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (fieldName, purpose, baseType, topK) are already documented with examples and defaults. The description's mention of primitive types (str, int64, real, date) merely echoes the baseType parameter examples in the schema, adding no new semantic information. Per the high-coverage baseline rule, 3 is appropriate.

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: 'find the best existing D365 EDT to extend instead of using raw primitives (str, int64, real, date)'. It clearly names the D365 concept (EDT) and the anti-pattern it replaces, and it is easily distinguished from siblings like suggest_refactoring or validate_best_practices because no other tool returns ranked EDT candidates.

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 description is explicitly framed around invocation timing: 'WHEN: adding a new field to a table' and 'Call BEFORE declaring any field with a primitive type,' reinforced by concrete trigger phrases like 'what EDT for' and 'EDT for a field'. It explains the D365 best-practice rationale, but it does not name alternative tools or state explicit when-not conditions, so it stops short of 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.