Forum Discussion

Antoine1733's avatar
Antoine1733
Regular Visitor
16 days ago

Real-time progress during tools/call on the Data Agent MCP server (preview)

Hello,

I use a published Fabric Data Agent MCP server, following the official Microsoft documentation.

Data agent as Model Context Protocol server (preview) - Microsoft Fabric | Microsoft Learn

My goal is to show what the agent is doing in real time while it processes a question, not only the final answer.

What I did:

Python client with the MCP Python SDK and azure-identity. Streamable HTTP with streamable_http_client and httpx.AsyncClient. Auth with a service principal and a Fabric Bearer token. Flow: initialize, list_tools, call_tool.

On call_tool, I use progress_callback to receive notifications/progress.

What I receive:

Messages like analyze.database.fewshots.loading, analyze.database.nl2code, analyze.database.execute, and Message created.

What I observe:

Progress notifications arrive, but usually all at once at the end of the call. There is often 15 to 20 seconds of silence first. The final answer comes right after.

My question:

Is this expected in preview? Can progress be streamed step by step during execution? Or is real-time step streaming not supported yet on this endpoint?

Thank you.

4 Replies

  • maxravi's avatar
    maxravi
    Regular Visitor

    From what I understand, this is currently an expected behavior/limitation of the Fabric Data Agent MCP server (preview) rather than an issue with your Python MCP client.

    The progress_callback can receive MCP progress notifications, but that does not necessarily mean that the underlying Fabric Data Agent streams every internal execution step to the client in real time.

    The messages such as:

    • analyze.database.fewshots.loading
    • analyze.database.nl2code
    • analyze.database.execute
    • Message created

    indicate that progress events are being generated. However, if they are delivered together after 15–20 seconds, the server/backend is likely buffering or batching those notifications until an internal operation completes.

    In other words, there are two different things here:

    MCP transport streaming
    The HTTP/MCP connection can remain open and support streamed responses.

    Data Agent execution progress
    The Data Agent needs to emit and flush progress notifications during its internal processing for you to see each step immediately.

    The second part appears to be the limitation with the current preview Data Agent MCP endpoint.

    I would therefore not expect progress_callback on the client side to force real-time streaming if the server isn't emitting/flushing the notifications incrementally.

    Your implementation using streamable_http_client, httpx.AsyncClient, initialize, list_tools, and call_tool sounds reasonable. You can also verify this by logging the timestamp immediately when each progress notification is received. If several notifications have nearly identical timestamps, that strongly suggests server-side buffering rather than a client callback problem.

    For now, I would treat the progress events as diagnostic/status information rather than guaranteed real-time execution updates.

    Since the MCP Data Agent integration is still in preview, Microsoft may improve the progress/streaming behavior in future versions. If real-time UX is a requirement, I'd also recommend submitting this as a feature/preview feedback item with your exact scenario, because the distinction between "progress events are available" and "progress events are delivered live" is important.

    I’d really appreciate any guidance from anyone who has experimented with the Fabric Data Agent MCP server or has faced similar behavior.

    I’m currently exploring MCP and Fabric Data Agents to understand how we can build a better real-time experience for users, so getting clarity on whether this is a client-side configuration issue or a current preview limitation would be very helpful.

    Thanks in advance for sharing your experience and suggestions!

  • v-csrikanth's avatar
    v-csrikanth
    Icon for Community Support rankCommunity Support

    Hi Antoine1733​ 

    We would like to inquire whether have you got the chance to check the solutions provided by other users in community to resolve the issue. We hope the information provided helps to clear the query. Should you have any further queries, kindly feel free to contact the Microsoft Fabric community.

  • v-csrikanth's avatar
    v-csrikanth
    Icon for Community Support rankCommunity Support

    Hi Antoine1733​ 

    We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet. And, if you have any further query do let us know.

    Thank you.