Skip to main content
Glama
ahaugerud

d365-dmf-mcp

by ahaugerud

get_entity_fields

List a DMF entity's importable staging columns, including data type, max length, and required flag, so you can build correct data file headers.

Instructions

List the importable columns of a DMF entity: the staging column names to use as the header row of the data file, with data type, max length and whether D365 flags the field as required. System-managed fields are omitted.

Input Schema

NameRequiredDescriptionDefault
entityYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations the description carries the burden, and it does add real behavioral content beyond the schema: what each row contains (name, data type, max length, required flag) and, importantly, that system-managed fields are filtered out of the result. 'List' plus the output schema adequately signals a read-only, non-mutating call; error behavior for an invalid entity name is the notable omission.

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

Conciseness5/5

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

Two short sentences, front-loaded with the resource and immediately followed by the practical detail and the omission rule. No filler and nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Return values are covered by the existing output schema, and the description adds the key filtering behavior, so it is close to complete. However, for a one-parameter tool with zero schema description coverage and no annotations, leaving the entity identifier format unspecified is a real gap an agent must guess around.

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 description coverage is 0% for the single required 'entity' parameter, so the description must compensate and largely does not. It implies an entity is needed but never says what form the identifier takes (logical name, GUID, or a value from search_entities), which is the one thing an agent could get wrong here.

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?

Specific verb ('List') plus a precisely scoped resource ('importable columns of a DMF entity') with an explicit semantic gloss: the staging column names used as the header row of the data file. It also states the scope boundary ('System-managed fields are omitted'), which makes it unmistakable versus siblings like search_entities or list_project_entities.

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?

The phrase 'the staging column names to use as the header row of the data file' clearly places the tool in the pre-import workflow, so an agent knows to call it before import_data. It stops short of explicitly naming import_data or stating exclusions, so it is strong context rather than full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.