Skip to main content
Glama

dmf_create_data_project

Idempotent

Create (or extend) a DMF data project -- EXPORT or IMPORT -- entirely through standard public OData entities, with NO X++ customization required. It POSTs the header to DataManagementDefinitionGroups and one row per entity to DataManagementDefinitionGroupDetails with AutoGenerateMapping=Yes, so FO generates each entity's source<->staging mapping automatically. Idempotent: an existing project is reused and entities already present are skipped. For EXPORT, the project can then be run with dmf_export_package. Provide an EXISTING DMF 'source data format' name for sourceName (e.g. a comma-delimited format).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
entitiesYesComma-separated DMF entity names, e.g. 'Customers V3,Released products V2'.
sourceNameYesExisting DMF source data format name that defines the file format.
projectNameYesName of the data project (definitionGroupId) to create or extend.
operationTypeNoOperation type: 'Export' (default) or 'Import'.Export

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the idempotentHint and destructiveHint annotations, the description discloses concrete implementation behavior: it POSTs to DataManagementDefinitionGroups and DataManagementDefinitionGroupDetails, sets AutoGenerateMapping=Yes, reuses existing projects, and skips already-present entities. No contradiction with annotations exists.

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?

Four dense sentences, each earning its place: purpose, mechanism, idempotency, and next-step guidance. The key purpose is front-loaded and there is no filler or redundant restatement of the tool name.

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?

The tool has only four simple parameters and no output schema, and the description fully explains the create/extend behavior, idempotency, and next step for EXPORT. The only notable gap is that the import execution path (via dmf_import_file) is not explicitly mentioned, but the core call is complete.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by requiring sourceName to be an EXISTING DMF source data format and giving a concrete comma-delimited example. It also reinforces that entities are comma-separated, going slightly beyond the schema.

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?

The description uses a specific verb-resource pair ('Create (or extend) a DMF data project') and clearly scopes the tool to EXPORT or IMPORT. It distinguishes this configuration tool from execution siblings like dmf_export_package and dmf_import_file by stating that it builds the project through OData entities rather than running it.

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 description gives clear usage context: it explains the OData/no-X++ approach, states idempotency behavior, and explicitly routes the EXPORT project to dmf_export_package for execution. It does not explicitly mention when not to use it or name the import execution counterpart (dmf_import_file), so it stops short of a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have distinct purposes and clear triggers, reducing ambiguity. For example, PR-related tools are separated into analysis, listing, commenting, and dependency mapping. However, some overlap exists between find_references, find_extensions, and find_callers, which could confuse an agent without careful descriptions.

Naming Consistency4/5

Tool names follow a consistent snake_case pattern with verb_noun structure within subgroups (e.g., ado_*, find_*, search_*, generate_*). There is no mixing of camelCase or other styles, though the variety of prefixes slightly reduces predictability.

Tool Count3/5

With 38 tools, the server feels slightly over-scoped for its domain. While each tool has a specific function, the number is high compared to typical well-scoped servers (10-15 tools). Some tools like find_references and find_callers could be consolidated.

Completeness4/5

The tool set covers a broad range of D365 F&O development and DevOps tasks, including code search, analysis, security, performance, upgrades, and work item management. Minor gaps exist, such as the absence of direct object modification or batch job management, but the core workflows are well covered.