Following a public preview that began on April 24, 2026, and a general availability milestone listed for July 3, 2026, in Worldwide Standard Multi-Tenant cloud environments, this update lets agents read, reason over, create, and manage attachments tied to ERP records. However, if you are a Dynamics 365 administrator, architect, or Power Platform maker looking beneath the high-level roadmap summary, the actual engineering architecture tells a much more nuanced story. In Microsoft Learn’s technical documentation for Dynamics 365 ERP MCP file support, "working with attachments" splits into two distinct directions—file output and file input—each with its own release maturity, client dependencies, and strict payload limits.
Here is a complete breakdown of how attachment handling actually works through the Dynamics 365 ERP MCP server, what remains in preview, and how to configure it without tripping over size limits or duplicate records.
Roadmap Status vs. Technical Reality: Output vs. Input
At a high level, Microsoft’s roadmap item 576826 states that the Dynamics 365 ERP MCP server provides access for agents to create, delete, or read and reason over attachment content in agentic flows, enabled automatically for admins, makers, marketers, and analysts. Microsoft’s September 23, 2026 Dynamics 365 blog by Vice President and Chief Product Officer Sameer Verma also confirms that the Dynamics 365 ERP MCP server and the Dynamics 365 ERP plugin for Copilot Cowork are generally available, enabling agents to reason over ERP data, actions, and attachments while providing citations and deep links back to underlying records.
Yet when you inspect Microsoft Learn’s technical documentation for files and attachments in Dynamics 365 ERP MCP, a critical architectural distinction emerges:
- Output Scenarios (Preview): When the MCP server returns binary files, existing attachments, exported SQL Server Reporting Services (SSRS) reports, or large query result sets to a language model client as an MCP embedded resource, Microsoft Learn explicitly labels this capability a preview feature not meant for production use.
- Input Scenarios (Dataverse Custom APIs & Copilot Studio): When an agent accepts file content from a user or a prior step and attaches it to a Finance and Operations business record, the upload action is not built directly into the MCP server. Instead, it relies on Dataverse custom APIs orchestrated via a Power Automate flow added as a tool inside Microsoft Copilot Studio, while using the ERP MCP server alongside it to look up the target ERP record's details.
Why does this distinction matter? Because administrators planning production deployments cannot assume that every MCP client—such as Microsoft Foundry or third-party MCP hosts—gets a single, universal built-in tool for uploading and downloading arbitrary files.
Section Summary: While the Dynamics 365 ERP MCP server is generally available and roadmap ID 576826 has launched, Microsoft Learn documentation specifies that file-output scenarios remain in preview and file-upload workflows require a Copilot Studio flow backed by the Microsoft Dataverse connector.
How File Output Scenarios Work (And How to Enable Them)
In standard MCP interactions, inline text responses from the ERP server are capped at 160,000 characters (roughly 160 KB). If an agent runs a broad query or pulls a document that exceeds that threshold, the server throws a ResponseTooLarge error. File-output support solves this by packaging file content or large JSON payloads as MCP embedded resources, raising the payload ceiling to 5 MB.
Prerequisites for Output Scenarios
Before an agent can receive files or large resource blocks from Dynamics 365 Finance and Operations, administrators must satisfy three prerequisites documented on Microsoft Learn:
- Application Version: Dynamics 365 finance and operations apps must be running version 10.0.48 or later.
- Server Activation: The Dynamics 365 ERP MCP server must be enabled in the target environment.
- Feature Management: In the Finance and Operations Feature management workspace, administrators must enable the Enable output menu items for MCP feature.
The Three Output Triggers
Once enabled, output scenarios are triggered through three specific mechanisms:
- SQL and OData Data Query Tools (
data_find_entities_sqlanddata_find_entities):
Both query tools accept an optional Boolean parameter namedreturnAsResource. When set totrue, the server executes the query, serializes the rows into readable JSON, and returns a two-part MCP response:Content[0]contains summary text (such as record counts and warnings), andContentdelivers anEmbeddedResource(Uri,MimeType,Text) up to 5 MB in size. If a query errors out, the error always returns inline regardless of thereturnAsResourceflag. - API Action Execution (
api_invoke_action):
The action invocation tool also supportsreturnAsResource=true, raising its response limit from 160 KB to 5 MB using the same embedded resource pattern. Helpfully, if an inline action call exceeds 160,000 characters, the error message'sfixfield explicitly prompts the caller to setreturnAsResource=true. - Form Interaction Tools and SSRS Reports:
Agents interacting with ERP forms can click buttons that print reports as output menu items. When an agent opens an SSRS report form whereFormStyle = "Report", the MCP server detects theMcpReportFormpattern and injects guidance instructing the agent to use the report's export buttons. Clicking export downloads the file (for example,VendorAgingReport_04242026.pdf) and returns a multi-block array:Content[0]: Summary text confirming the button click and downloaded filename.Content: The full updated form state JSON.Content[2..N]: OneEmbeddedResourceper downloaded file (file://{fileName}), encoding binary files as base64Bloband text files as UTF-8Text.
Section Summary: Output scenarios require Finance and Operations version 10.0.48+ and the "Enable output menu items for MCP" feature flag, allowing agents to bypass the 160 KB inline text cap and retrieve up to 5 MB of query data, action outputs, existing attachments, or generated SSRS PDF reports as embedded MCP resources.
Step-by-Step: Configuring File Uploads in Copilot Studio
What if a user drops a vendor PDF order into a chat window and asks the agent to attach it to a specific purchase order or customer record in Dynamics 365? That falls under Input scenarios.
Because the upload operation uses the Microsoft Dataverse connector in Power Platform to invoke custom APIs rather than a native MCP server method, Microsoft notes that this turnkey upload workflow is limited to Microsoft Copilot Studio. However, the agent still requires the Dynamics 365 ERP MCP server connected as a tool so it can query and identify the exact ERP record to which the file will be attached.
To configure an agent in Microsoft Copilot Studio to attach files to ERP records, follow the exact procedure documented by Microsoft Learn:
- Open your agent in Microsoft Copilot Studio and navigate to the Tools tab.
- Select Add a tool.
- In the Add tool dialog, select the Flow filter, then search for and add the prebuilt flow named Add an attachment to a record in ERP.
- Under the Inputs section, configure the
contentBytesinput:- Select Add input and choose contentBytes.
- Set the Fill using dropdown to Custom value.
- Select the ellipses (...) button next to the Value field.
- In the Choose a variable dialog, switch to the Formula tab, enter
First(System.Activity.Attachments).Content, and select Insert.
- Still in the Inputs section, configure the
nameinput:- Select Add input and choose name.
- Set the Fill using dropdown to Custom value.
- Select the ellipses (...) button next to the Value field.
- In the Choose a variable dialog, switch to the Formula tab, enter
First(System.Activity.Attachments).Name, and select Insert.
- Save the tool configuration.
- Verify that the Dynamics 365 ERP MCP server is also added as a tool in the same agent so it can resolve record context.
Once saved, users can supply files directly to the agent in chat and prompt it in natural language to attach those documents to the corresponding Finance and Operations records.
Section Summary: Attaching files to ERP records requires pairing the Dynamics 365 ERP MCP server with the "Add an attachment to a record in ERP" flow inside Microsoft Copilot Studio, binding the incoming attachment's content bytes and filename via Power Fx formulas.
Architecture Limits, Licensing Costs, and Deployment Gotchas
Before rolling out attachment-capable agents to finance or procurement teams, enterprise architects need to account for several strict technical boundaries and cost structures documented across Microsoft Learn.
| Area | Documented Constraint / Behavior | Recommended Workaround or Admin Action |
|---|---|---|
| Inline vs. Resource Output Size | Inline responses cap at 160,000 characters (~160 KB); resource responses cap at 5 MB. | Pass returnAsResource=true on data_find_entities, data_find_entities_sql, or api_invoke_action. |
| CRUD Resource Boundary | Resource mode (returnAsResource) only works on read queries (data_find_entities and data_find_entities_sql), not create, update, or delete calls. | Issue a separate read query if a create or update operation needs to inspect a large result set. |
| File Download Size & Timeout | 5 MB per-file download limit and a strict 60-second timeout for both SAS URIs and file-management URLs. | No direct client workaround exists today for files over 5 MB; limits can only be raised through ECS if required. |
| File Upload Size | Maximum upload size is 15 MB (DocuParameters.maxFileSizeInFileSystemInBytesLong()), validated both by base64 length estimate and after decoding to a MemoryStream. | Prevalidate file sizes before base64 encoding to avoid failed API executions. |
| Duplicate Attachments | The underlying McpAttachFileToRecordCustomAPI does not enforce file uniqueness on a record. | Always instruct the agent or integration to call McpIsFileAlreadyAttachedToRecord before uploading. |
| Global Table Company IDs | Calling attachment APIs without explicitly setting isTableGlobal can write an incorrect DocuRef.RefCompanyId. | Check table metadata beforehand or verify via data_get_entity_metadata, and explicitly set isTableGlobal. |
| Client Upload Support | Only Microsoft Copilot Studio receives full DocumentUploadControl guidance with API parameters. | Non-Copilot Studio clients must either route through Copilot Studio or invoke the Dataverse custom API via a separate integration. |
Don't Forget MCP Tool Call Metering
In addition to payload limits, architects choosing between Microsoft Copilot Studio and external agent clients (such as Microsoft Foundry or third-party MCP clients) should factor in licensing mechanics. According to Microsoft Learn’s documentation on Model Context Protocol for finance and operations apps, Copilot Studio abstracts variable LLM token consumption and provides a fixed rate for orchestration and tool invocation with no incremental charge per MCP server tool call. Conversely, agents built on other clients incur an execution cost of one Copilot credit per 10 tool calls to the Dynamics 365 ERP MCP server (0.1 credits per tool call). When agents are checking metadata (data_get_entity_metadata), verifying duplicates (McpIsFileAlreadyAttachedToRecord), querying records, and handling attachments, those tool calls add up quickly.
The Bigger Picture for Enterprise IT
Bringing document attachments into the Dynamics 365 ERP MCP fold closes a major blind spot in ERP automation. As shown in Microsoft’s Copilot Cowork scenarios for procurement—where an agent pulls Request for Quotation (RFQ) lines and scoring criteria from Dynamics 365 via the MCP server, cross-references vendor bid PDFs from Outlook, flags discrepancies, and drafts purchase orders—business data rarely lives purely in relational database columns.
Still, IT leaders should treat roadmap item 576826 with pragmatic discipline: test output scenarios in non-production sandboxes on version 10.0.48+ while they carry the preview tag, enforce duplicate-checking and isTableGlobal validation on uploads, and keep your file payloads well inside the 5 MB download and 15 MB upload guardrails.
References
- Dynamics 365 Finance and Operations cross-app: Boost productivity with Copilot - Enable agents to work with attachments through Dynamics 365 ERP MCP server Microsoft 365 Roadmap · 2026-10-16T19:09:33.478077Z
- Enable agents to work with attachments through Dynamics 365 ERP MCP server | Microsoft Learn learn.microsoft.com
- Files and attachments with Dynamics 365 ERP MCP - Finance & Operations | Dynamics 365 | Microsoft Learn learn.microsoft.com