Skip to main content
Glama
Kenny-666

Dynamics 365 MCP Server

by Kenny-666

reactivate_model_key

Destructive

Preview or submit the native reactivation action for an existing unmanaged Failed key index after its cause is corrected, preserving key columns without recreating or deleting it.

Instructions

Preview/submit the native ReactivateEntityKey Action only for an existing unmanaged Failed key index after its cause has been corrected. Uses actual key LogicalName, preserves key columns and never recreates/deletes the key. Requires planHash and explicit unprotected Action. Acceptance is separate from a new job link and Active state; performs one metadata readback, never polls/replays the submission. Inspect later with get_model_key.

Input Schema

NameRequiredDescriptionDefault
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.
schemaNameNo
logicalNameNo
schema_nameNo
expectedHashNoCurrent preview planHash (binds target, patch and environment), required for execution.
logical_nameNo
expected_hashNoCurrent preview planHash (binds target, patch and environment), required for execution.
solutionUniqueNameNoExisting unmanaged solution; its publisher prefix is validated for new schemas.
solution_unique_nameNoExisting unmanaged solution; its publisher prefix is validated for new schemas.
allowUnprotectedWriteNoExplicitly permit the native PUT/Action without atomic concurrency protection. A preview fingerprint is still required.
allow_unprotected_writeNoExplicitly permit the native PUT/Action without atomic concurrency protection. A preview fingerprint is still required.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.5/5.0
Behavior4/5

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

Adds substantial behavior beyond the annotations: hash-bound preview/execute flow, mandatory explicit unprotected Action, exactly one metadata readback, and no polling or replay of the submission. The one gap is that it never explains why the action is flagged destructiveHint=true when it claims nothing is recreated or deleted, leaving a mild tension an agent must resolve on its own.

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?

Two sentences, both dense with relevant constraints, and the scope restriction is front-loaded before the mechanics. It is packed to the point of near-opacity ('native ReactivateEntityKey Action', 'preview fingerprint'), but no sentence is filler.

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 mutation tool with no output schema and 12 params (6 distinct with aliases), the description covers the preview/execute split, safety gates, what is verified, and how to check later. It does not describe what the preview payload contains or what failure responses look like, which would help an agent recovering from a rejected submission.

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?

Explains the semantics of the two non-obvious inputs – planHash (binds target, patch and environment, required to execute) and the explicit unprotected Action toggle – which goes beyond the schema's own wording. It says nothing about the solution parameter, which the schema still requires via its allOf, and 67% coverage leaves some inputs undocumented in both places.

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 (preview/submit), a specific resource (the native ReactivateEntityKey Action on an existing unmanaged Failed key index), and constrains scope to a repaired failure condition. It also distinguishes itself from create/delete key flows ('never recreates/deletes the key') and points to get_model_key for later inspection, so an agent can separate it from siblings without opening a schema.

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?

Gives an explicit precondition (unmanaged, Failed status, cause already corrected) and an explicit exclusion (do not use it to make or remove keys). It also names the correct follow-up tool (get_model_key) and explains that acceptance differs from a new job link / Active state, so the agent knows how to interpret a non-obvious outcome.

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