Skip to main content
Glama
Kenny-666

Dynamics 365 MCP Server

by Kenny-666

edit_model_form

Destructive

Structurally edit a Dynamics 365 Main form by appending a scalar field with a compatible control template, adding a verified JavaScript library, or binding onload, onsave, or onchange events.

Instructions

Structurally edit a Main form: append a scalar field using an explicit compatible existing control template, add a verified JavaScript library, or bind onload/onsave/onchange. No arbitrary XML, PCF/Lookup template copying or code execution. Default preview. Execute with current expected_hash; native ETag support is checked, otherwise explicit allow_unprotected_write is required. No automatic publication.

Input Schema

NameRequiredDescriptionDefault
idNo
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.
ifMatchNo
if_matchNo
operationsNo
logicalNameNo
expectedHashNo
logical_nameNo
expected_hashNo
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.3/5.0
Behavior5/5

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

Goes well beyond the annotations (destructiveHint=true, non-idempotent, non-readonly) by disclosing the preview-by-default safety model, the optimistic concurrency gate via expected_hash, the ETag check with allow_unprotected_write fallback, and that publication is not automatic. It also states what is intentionally not supported, which prevents misuse.

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?

Dense but front-loaded: purpose, allowed operations, exclusions, then safety/execution notes. Every sentence carries information, though a couple of clauses (ETag/allow_unprotected_write) are packed tightly and could be slightly clearer.

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 14-parameter destructive mutation with no output schema, the description covers the critical decision points (preview vs execute, concurrency protection, no auto-publish) and the operation family. It stops short of describing per-operation payload requirements, but the schema's structure plus these safety notes are largely sufficient to call it correctly.

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 only 29%, so the description must compensate. It does explain the key gating parameters (expected_hash, allow_unprotected_write, dryRun) and hints at template_control_id via 'compatible existing control template', but leaves many operation fields (section_id, attribute_name, control_id, label, pass_execution_context) undocumented. Partial compensation only.

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 and resource ('Structurally edit a Main form') and then enumerates exactly the three operations supported: add_field, add_library, bind_event-style bindings. An agent can distinguish this from sibling tools like edit_model_view or edit_ribbon_solution without opening the schema.

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 context: default is preview, execute requires expected_hash (or allow_unprotected_write), and lists exclusions (no arbitrary XML, no PCF/Lookup template copying, no code execution). It does not explicitly name alternative sibling tools for other form/editing needs, but the when-to-use conditions are clear.

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