Skip to main content
Glama
Kenny-666

Dynamics 365 MCP Server

by Kenny-666

call_d365_api_action

Destructive

Invoke validated Dynamics 365/Dataverse Actions or Functions with optional dry-run preview, binding checks, and parameter validation before execution.

Instructions

Invoke a current CSDL-defined Action/Function after typed validation. Preserves legacy defaults: Action POST and immediate execution, returning native data directly. Supports single-entity or collection binding, explicit overload IDs, primitive/enum/structural collections and safe Function parameter aliases. Optional dry_run previews without invocation and withholds parameter values by default. Optional expected_hash checks preview planHash; return_details=true returns receipt/data. No Action replay or generic business readback.

Input Schema

NameRequiredDescriptionDefault
dryRunNoDefault false preserves immediate legacy invocation. True performs metadata reads/validation only.
bindingNo
dry_runNoDefault false preserves immediate legacy invocation. True performs metadata reads/validation only.
actionNameNoExact case-sensitive native operation/import name or qualified name, never a URL/path.
isFunctionNoInvocation defaults false (Action); discovery omits this to inspect both kinds.
parametersNoExact case-sensitive non-binding parameter names. Int64 and Decimal support exact strings; no navigation/deep-insert properties.
action_nameNoExact case-sensitive native operation/import name or qualified name, never a URL/path.
is_functionNoInvocation defaults false (Action); discovery omits this to inspect both kinds.
signatureIdNoAdvertised get_api_operation signature ID; required to disambiguate matching overloads.
expectedHashNoOptional current preview planHash; detects changed metadata/target/arguments, not concurrent record changes.
signature_idNoAdvertised get_api_operation signature ID; required to disambiguate matching overloads.
expected_hashNoOptional current preview planHash; detects changed metadata/target/arguments, not concurrent record changes.
returnDetailsNoDefault false returns native data directly; true wraps receipt, HTTP status and data.
return_detailsNoDefault false returns native data directly; true wraps receipt, HTTP status and data.
includeParameterValuesNoExplicit preview opt-in to show plaintext normalized values and Function URL; default false.
include_parameter_valuesNoExplicit preview opt-in to show plaintext normalized values and Function URL; default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotentHint=false; the description adds real context beyond them: immediate POST execution, dry_run doing metadata reads/validation only, expected_hash detecting changed metadata but not concurrent record changes, parameter values withheld unless explicitly opted in, and no Action replay. It does not cover permission requirements or failure behavior, keeping it below 5.

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

Conciseness3/5

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

The purpose is front-loaded in the first sentence and no sentence is pure filler, but the prose is dense, jargon-heavy, and fragmented ('Preserves legacy defaults: Action POST and immediate execution, returning native data directly'), which slows comprehension for an agent scanning options.

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 16-parameter destructive tool with no output schema, the description covers execution model, preview/hash verification, return wrapping, binding modes, overload disambiguation, and alias safety. It is close to complete, lacking only error/failure semantics and permission prerequisites.

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 94%, so the schema already documents nearly every parameter including the alias pairs. The description adds marginal value, notably that dry_run withholds parameter values by default and that overload IDs disambiguate matching signatures. Baseline 3 is appropriate since the schema carries the load.

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?

States a specific verb and resource: invokes a CSDL-defined Action/Function with typed validation. That is clearly distinct from data-CRUD siblings like create_new_record or execute_record_batch. It stops short of naming an alternative outright, relying on the schema's reference to get_api_operation for overload discovery.

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?

Implied usage is recoverable: use this for CSDL-declared Actions/Functions, and use dry_run to preview instead of executing. But the description never states when to prefer this over siblings such as get_api_operation, execute_record_batch, or update_existing_record, and 'Preserves legacy defaults' is not actionable guidance.

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