Skip to main content
Glama
Kenny-666

Dynamics 365 MCP Server

by Kenny-666

change_model_choice_value

Destructive

Insert or update numeric Dataverse choice option labels and descriptions for local or global choices, with preview-first guarded execution.

Instructions

Insert a numeric choice option or update existing option labels/description through native InsertOptionValue/UpdateOptionValue (MergeLabels=true). Unmanaged choices only. Explicitly address a global choice to change shared values. Default preview; execution needs current expected_hash and allow_unprotected_write=true. No delete, renumber, state/status mutation or automatic publish.

Input Schema

NameRequiredDescriptionDefault
labelNo
valueNo
dryRunNoDefault true performs reads/eligibility checks and returns a native request preview. Set false to execute.
dry_runNoDefault true performs reads/eligibility checks and returns a native request preview. Set false to execute.
operationNo
descriptionNo
logicalNameNo
expectedHashNo
logical_nameNo
attributeNameNo
expected_hashNo
attribute_nameNo
globalChoiceNameNo
global_choice_nameNo
solutionUniqueNameNoExisting unmanaged solution; its publisher prefix is validated for new schemas.
solution_unique_nameNoExisting unmanaged solution; its publisher prefix is validated for new schemas.
allowUnprotectedWriteNo
allow_unprotected_writeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.4/5.0
Behavior5/5

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

The description adds substantial context beyond annotations: the default dry-run preview mode, the execution preconditions (current expected_hash and allow_unprotected_write=true), MergeLabels=true behavior for updates, and explicit non-capabilities including no delete, renumber, state/status mutation, or automatic publish. This covers the destructive/write profile in a way annotations alone do not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five compact sentences, front-loaded with what the tool does, followed by constraints and execution requirements. There is no filler; every clause carries operational meaning.

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 complex mutation tool with no output schema, the description covers the critical safety story: preview by default, execution gating, unmanaged-only scope, global choice addressing, and explicit no-op exclusions. It could say more about how to obtain expected_hash and the full parameter combinatorics, but it is largely complete for correct invocation.

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?

With only 22% schema description coverage across 18 parameters, the description partially compensates by clarifying operation modes, the role of expected_hash and allow_unprotected_write, and the need to use global_choice_name for shared choices. However, it does not explain the solution_unique_name requirement, the logical_name/attribute_name pairing for local choices, alias handling, or value bounds, leaving many parameters under-documented.

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?

States a specific verb+resource: insert a numeric choice option or update option labels/description. It names the native operations (InsertOptionValue/UpdateOptionValue) and distinguishes scope via 'Unmanaged choices only', so an agent can tell it apart from create_model_choices or publish_model_choices.

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?

Gives clear usage constraints: unmanaged choices only, explicitly address a global choice to change shared values, default preview, and execution requires expected_hash plus allow_unprotected_write=true. It also lists exclusions (no delete, renumber, state/status mutation, automatic publish). It stops short of naming sibling tools as explicit alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools