Skip to main content
Glama
Kenny-666

Dynamics 365 MCP Server

by Kenny-666

import_solution_async

Destructive

Preview and submit the first import of an unmanaged solution ZIP into the configured Dynamics 365 environment; requires planHash and allow_unprotected_write=true, returns importJobId for status.

Instructions

Preview first import of an ordinary unmanaged ZIP into the configured environment. Execute with planHash and allow_unprotected_write=true. Same solution-name updates, managed/patch/upgrade imports are blocked. First import can change shared unmanaged components. Fixed overwrite overlay/workflow activation/dependency skip/holding/upgrade flags false; no environment overrides or separate publish. Submits once using ImportSolutionAsync; accepted is not completed. Unknown outcomes retain a client-assigned importJobId for manual status checks.

Input Schema

NameRequiredDescriptionDefault
dryRunNoDefault true. Execution requires a current preview planHash.
dry_runNoDefault true. Execution requires a current preview planHash.
filePathNoAbsolute local file path. ZIPs are read without extraction or execution.
file_pathNoAbsolute local file path. ZIPs are read without extraction or execution.
expectedHashNo
contentBase64NoCanonical base64; ZIP bytes at most 32 MiB. Supply exactly one input source.
expected_hashNo
content_base64NoCanonical base64; ZIP bytes at most 32 MiB. Supply exactly one input source.
allowUnprotectedWriteNoExplicitly accept the native import concurrency window and shared unmanaged component changes.
allow_unprotected_writeNoExplicitly accept the native import concurrency window and shared unmanaged component changes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.7/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations: first import can change shared unmanaged components, fixed flags are forced false, there are no environment overrides or separate publish, submission is asynchronous, and accepted does not mean completed. These details are highly relevant for a destructive, non-idempotent operation.

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 around the preview/execute distinction and immediately covers major side effects and constraints. The forced-flag sentence is somewhat compressed, but overall there is little 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 complex destructive async import with no output schema, it explains side effects, async submission, and the meaning of acceptance. The main completeness gap is the inconsistent planHash reference, which leaves execution guidance partially unresolved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, so most parameters are documented in the schema. But the description references planHash, which is not in the input schema at all, and it does not clarify the expectedHash parameter, creating confusion about how execution is actually authorized.

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 clearly identifies the operation: previewing and then executing a first import of an ordinary unmanaged ZIP into the configured environment. It distinguishes this import path from managed, patch, and upgrade imports, though it does not explicitly contrast it with sibling import or solution-inspection tools.

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

Usage Guidelines3/5

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

It gives useful execution conditions such as using allow_unprotected_write=true and the fact that managed/patch/upgrade imports are blocked. However, it also instructs execution with a planHash that is not present in the input schema, and it does not point to get_solution_import_status or another sibling for follow-up status checks.

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