d365-dmf-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DMF_BASE_URL | Yes | The environment URL, e.g. https://<env>.sandbox.operations.eu.dynamics.com | |
| DMF_AZURE_TENANT_ID | Yes | The Entra tenant ID used to authenticate to Dynamics 365 F&O (e.g. via az login --tenant <entra-tenant-id>). | |
| DMF_POLL_TIMEOUT_SECONDS | No | Optional polling timeout in seconds (default 300). | 300 |
| DMF_POLL_INTERVAL_SECONDS | No | Optional polling interval in seconds (default 5). | 5 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| import_dataA | Import one or more data files into D365 through a DMF data project, as the signed-in user.
|
| create_data_projectB | Create an empty DMF import data project. Optional: import_data creates the project itself if it doesn't exist, and the first import defines its entities. |
| export_dataB | Run an existing DMF export data project and save its data files to output_dir. The files are saved in the project's own source format (CSV, Excel, ...). Returns the saved paths. |
| get_execution_statusB | Get the status of a DMF execution (NotRun, Executing, Succeeded, PartiallySucceeded, Failed, Canceled), with per-entity status and error messages if it failed. |
| list_data_projectsA | List existing DMF data projects (name, Import/Export, description).
|
| list_project_entitiesB | List the entities defined in a DMF data project, with source format and execution order (unit/level/sequence). |
| search_entitiesA | Search the DMF entity catalogue by case-insensitive substring of the entity name, target entity or module (e.g. "customer", "AccountsReceivable"). Returns entity names to use with import_data, plus category and module. Composite entities (X composite) are not importable here. |
| get_entity_fieldsA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct DMF operation: entity catalogue search, field metadata, import, export, project listing/creation, project entity listing, and execution status. The only redundancy is that import_data can auto-create a data project, but create_data_project remains clearly scoped as an optional explicit step.
All tool names follow a consistent verb_noun snake_case convention (get_execution_status, search_entities, import_data, etc.). There are no mixed styles or vague names.
Eight tools are well-scoped for a DMF import/export server. Each tool has a clear role, and the surface is neither too thin nor bloated.
The core import workflow is complete end-to-end: search entities, inspect fields, import data, and check execution status. Minor gaps remain: no tool to create/configure export projects, cancel running executions, or delete/update data projects, though some can be worked around via existing projects or wait/timeout behavior.