Skip to main content
Glama
Kenny-666

Dynamics 365 MCP Server

by Kenny-666

add_solution_component

Destructive

Adds an existing Dataverse component to a visible unmanaged solution after validating its type, dependencies, and current membership; previews changes and requires a plan hash to execute.

Instructions

Default preview of adding one existing component to a visible ordinary unmanaged solution. Validates the actual object/type, current CSDL and complete visible membership/required-dependency baseline. Types: 1 Entity, 2 Attribute, 9 global Option Set, 10 Entity Relationship, 14 Entity Key, 26 Saved Query, 60 System Form, 61 Web Resource, 90–93 plugin types/assemblies/steps/images. Attribute/Key requires logical_name. Fixed AddRequiredComponents=false/DoNotIncludeSubcomponents=true; implicit parent shells may still be added. Execute with planHash plus explicit unprotected Action; reread membership and report observed deltas without claiming export completeness.

Input Schema

NameRequiredDescriptionDefault
dryRunNoDefault true; no add Action is sent.
dry_runNoDefault true; no add Action is sent.
componentIdNoNative object/metadata GUID, NOT the solutioncomponent membership row GUID.
logicalNameNo
component_idNoNative object/metadata GUID, NOT the solutioncomponent membership row GUID.
expectedHashNoCurrent preview planHash, required to execute.
logical_nameNo
componentTypeNo
expected_hashNoCurrent preview planHash, required to execute.
component_typeNo
solutionUniqueNameNo
solution_unique_nameNo
allowUnprotectedWriteNoExplicitly accept the native Action concurrency window; no atomic solution/dependency lock is claimed.
allow_unprotected_writeNoExplicitly accept the native Action concurrency window; no atomic solution/dependency lock is claimed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior4/5

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

Beyond the annotations, the description discloses that preview is default, that validation covers object/type, CSDL and membership/dependency baseline, that parent shells may still be added, and that execution requires an explicit unprotected Action. It adds substantial behavioral context, though it does not fully spell out permissions or irreversible effects.

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 but front-loaded and appropriately sized for a complex, destructive 14-parameter tool. Every sentence carries relevant information, though the single-paragraph format and heavy jargon reduce readability slightly.

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 preview versus execute, validation scope, component types, conditional logical_name, fixed flags, implicit parent additions, and post-execution verification. It still leaves minor gaps around permissions, how planHash is obtained, and exact preview output.

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?

The description adds meaningful parameter context beyond the schema, especially the component type code mapping (1, 2, 9, 10, 14, 26, 60, 61, 90–93) and the conditional requirement that Attribute/Key requires logical_name. Schema coverage is 57%, and the description compensates for the missing enum and conditional-requirement details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: adding one existing component to a visible ordinary unmanaged solution, with preview as the default mode. It is clear what the tool does, though it does not explicitly name sibling tools like list_solution_components as alternatives.

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?

It gives a clear usage protocol: preview by default, then execute with planHash plus an explicit unprotected Action, followed by rereading membership and reporting deltas. It does not explicitly state when not to use the tool or name alternative siblings, so it falls 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.

Deploy Server

Other Tools