Skip to main content

d365-dmf-mcp

MCP server that imports CSV files into Dynamics 365 F&O via Data Management (DMF). It runs locally and authenticates as the user signed in to the Azure CLI.

Setup on Windows

  1. Install uv and the Azure CLI.

    winget install astral-sh.uv Microsoft.AzureCLI
    
  2. Sign in with the account that has access to D365 (if there is no az session, the server falls back to an interactive browser login):

    az login --tenant <entra-tenant-id>
    
  3. Register the server with Claude Code (runs the published package via uvx; see .mcp.json.example):

    claude mcp add d365-dmf `
      -e DMF_AZURE_TENANT_ID=<entra-tenant-id> `
      -e DMF_BASE_URL=https://<env>.sandbox.operations.eu.dynamics.com `
      -- uvx d365-dmf-mcp
    

    Other MCP clients: copy the block from .mcp.json.example into the client's MCP config. To run from a local checkout instead, use uvx --from C:\path\to\d365-dmf-mcp d365-dmf-mcp.

Tools

Only the tenant and environment URL are config. Everything else is passed per call.

  • import_data(definition_group, company, files, format="CSV"): import one or more files into a data project and wait for the result. files is a list of {entity, file_path}; entity is the DMF entity name as shown in D365 (e.g. Customer groups) and the file (.csv or .xlsx) has the entity's field names (e.g. CUSTOMERGROUPID) in its first row. The server generates the package manifest, looks up each entity's target and the dependency order from D365, and creates the data project if it doesn't exist. format is free text (CSV, EXCEL, or any CSV/Excel-based D365 source format on the environment, e.g. CSV-Unicode).
  • export_data(output_dir, definition_group, company): run an existing export data project and save its files.
  • create_data_project(name, description=""): create an empty import data project (optional; import_data does this itself).
  • list_data_projects(name_filter="", operation_type=""): browse existing data projects.
  • list_project_entities(definition_group): the entities in a project, with format, execution order and any non-default processing settings.
  • configure_project_entity(definition_group, entity, ...): show/change per-entity settings (business validation, field validation, business logic, skip staging, fail-on-error). Defaults are right for almost all imports; only relax validation for large, already-tested migration loads.
  • search_entities(query, limit=50): search the DMF entity catalogue by name, target entity or module.
  • get_entity_fields(entity): the column names (data file header), types, lengths and required flags for an entity.
  • get_execution_status(execution_id): check the status of an execution, with errors if it failed.

Notes

  • Import threshold record count, import task count (parallelism), set-based processing and change tracking have no API; set them in D365 (Data management > Framework parameters > Entity settings > Configure entity execution parameters) for large loads.

  • Composite and XML-based entities are not supported.

  • Optional env vars: DMF_POLL_INTERVAL_SECONDS (default 5), DMF_POLL_TIMEOUT_SECONDS (default 300).

Metadata

Release files for d365-dmf-mcp 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for d365-dmf-mcp 0.3.0
File Size Uploaded Provenance Actions
d365_dmf_mcp-0.3.0.tar.gz 92.7 kB Without provenance Details for d365_dmf_mcp-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for d365-dmf-mcp 0.3.0
File Interpreter ABI Platform Actions
d365_dmf_mcp-0.3.0-py3-none-any.whl Python 3 none any Details for d365_dmf_mcp-0.3.0-py3-none-any.whl

Total release size: 104.8 kB

Release files / d365_dmf_mcp-0.3.0.tar.gz

Download URL d365_dmf_mcp-0.3.0.tar.gz
Size 92.7 kB
Tags Source
SHA-256 checksum
How to use checksums
66fb787a3dbb3a683b30a942ae126bdf14268e7707f363b7f06b3c9cf81e2793
BLAKE2b-256 checksum
How to use checksums
f130fd35f33d7bf434d2b9f47ed05616071ec3842ca304f6ccc53bd61ff19d52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / d365_dmf_mcp-0.3.0-py3-none-any.whl

Download URL d365_dmf_mcp-0.3.0-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06ee6073df204322175d2be1e41676a364f6988bdb7fdf7527191de285fbbf0d
BLAKE2b-256 checksum
How to use checksums
f4f5108b9cabd6c550946411485a4a85f049a35404efa6cbf671f10a5ea99552
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for d365-dmf-mcp 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page