Skip to main content
Glama

prepare_release_note_context

Read-onlyIdempotent

WHEN: building an AI-assisted D365 F&O upgrade release note (regressions + opportunities) for a specific client, and you (the calling assistant) want to do the reasoning yourself instead of the server calling its own LLM. Call resolve_client_profile FIRST -- if it finds a profile, OMIT v1/v2/customModelIds here and they will be auto-filled from it. If no profile exists, call list_release_note_inputs to get real values and pass them explicitly -- never guess them. Triggers: 'release note', 'upgrade impact for this client', 'what breaks for a client between these versions', 'regression risk', 'note de version'. Diffs two indexed D365FO versions (v1=older, v2=newer) and cross-references EVERY changed standard object against ALL the given custom models (a client can have several -- their own extensions AND a separate ISV vendor model, in which case pass both ids comma-separated) -- returning ONLY the subset of changes actually touched by the client's code (capped at 60, Removed > Modified > Added priority), each with old/new content and which custom object references it. Returns a JSON payload with an 'instructions' field telling you the EXACT schema to produce -- analyze the 'objects' array yourself, then call generate_release_note_document with your findings JSON to get the downloadable Word/PowerPoint.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
v1NoOlder/baseline D365FO version to compare FROM, e.g. "10.0.2527.109". Omit to auto-fill from the caller's resolved client profile (see resolve_client_profile).
v2NoNewer D365FO version to compare TO, e.g. "10.0.2645.32". Omit to auto-fill from the caller's resolved client profile.
customModelIdsNoComma-separated custom model id(s) from the Admin > Custom Models tab. Omit to auto-fill from the caller's resolved client profile. Pass several when a client combines their own extensions with a separate ISV vendor model.
businessContextNoOptional free-text business/functional context about the client (modules used, key customizations, priorities) to sharpen the opportunity/regression assessment.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint, but the description adds substantial behavioral detail beyond them: the result is capped at 60 objects, prioritized Removed > Modified > Added, filtered to only client-touched changes, and returned as a JSON payload containing an 'instructions' field. It also clarifies that the caller must analyze the 'objects' array itself and then call generate_release_note_document to produce the deliverable, which is valuable non-obvious behavior.

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 dense and organized with clear cues like 'WHEN', 'Triggers', and workflow ordering. It is longer than minimal, but nearly every sentence carries operational value: trigger phrases, parameter omission rules, result cap, priority ordering, and next-step routing. A small amount of redundancy exists between the version-role explanation and the parameter descriptions, but overall it earns its length.

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

Completeness5/5

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

For a tool with four optional parameters and no output schema, the description is remarkably complete: it defines when to use it, how to resolve parameter values, what behavior to expect, and what to do with the result. It even tells the agent that the returned payload contains an 'instructions' field specifying the exact schema to produce, which compensates for the lack of an output schema. No critical operational step is left unexplained.

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%, so the baseline is 3, and the description goes further by clarifying the ordering semantics of v1 (older) and v2 (newer), the auto-fill behavior from resolve_client_profile, and that customModelIds can be comma-separated to cover multiple client and ISV models. It also explains that businessContext sharpens the opportunity/regression assessment. This is meaningful added guidance, though not exhaustive enough to warrant 5.

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 names a specific verb and resource: preparing an AI-assisted D365 F&O upgrade release-note context for a client. It clearly scopes what the tool does by diffing two indexed versions, cross-referencing custom models, and returning only the touched subset of changes. It also distinguishes itself from nearby siblings by positioning itself as the context-preparation step that feeds generate_release_note_document, and by noting the calling assistant does the reasoning rather than the server.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance with trigger phrases like 'release note' and 'regression risk'. It names prerequisites and alternatives directly: call resolve_client_profile first, omit v1/v2/customModelIds if a profile exists, and call list_release_note_inputs to get real values when no profile exists. It also explicitly instructs the agent never to guess parameter values and names the downstream tool to call next.

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.