Azure AI Foundry Responses API does not surface remote MCP progress notifications

Ernie Gunning 0 Reputation points
2026-07-15T15:36:10.46+00:00

We are implementing Azure AI Foundry Agent Service with a remote MCP server and the Responses API streaming flow for a production application.

The remote MCP connection and tool execution work end to end. In the streamed Responses API output we receive Foundry lifecycle events such as response.created, response.in_progress, response.mcp_call.in_progress, response.mcp_call.completed, response.output_text.delta, and response.completed.

However, when the remote MCP server emits MCP progress/notification messages while a tool is running, those intermediate MCP notifications do not appear in the Responses API stream. We only see the Foundry lifecycle/tool events and the final tool output.

We need Microsoft guidance on the intended product behavior:

  1. Does Azure AI Foundry Agent Service currently support forwarding remote MCP notifications/progress messages through the Responses API stream?
  2. If yes, which event type or configuration should we use to receive them?
  3. If no, what is the recommended production pattern for live progress updates from long-running remote MCP tools?
  4. Is this a known limitation or roadmap item?

This affects the user experience for longer-running backend tool operations. We need either a supported streaming pattern or confirmation that we should implement a separate progress/status channel outside the Foundry Responses stream.

Foundry Tools
Foundry Tools

Formerly known as Azure AI Services or Azure Cognitive Services is a unified collection of prebuilt AI capabilities within the Microsoft Foundry platform


2 answers

Sort by: Most helpful
  1. Karnam Venkata Rajeswari 5,170 Reputation points Microsoft External Staff Moderator
    2026-08-04T18:28:41.8233333+00:00

    Hello @Ernie Gunning

    Welcome to Microsoft Q&A .Thank you for reaching out to us.

    After reviewing the current Responses API documentation and event model, the behavior observed appears to be related to how MCP events are surfaced through the Responses API stream. The service currently provides visibility into MCP tool discovery and execution lifecycle events, but the documented event model does not currently include an event designed to expose intermediate progress notifications generated by a remote MCP server during tool execution

    1. Regarding does Azure AI Foundry Agent Service support forwarding remote MCP progress notifications through the Responses API stream -

    Based on the currently documented Responses API event model, remote MCP progress or notification messages are not exposed through the Responses API stream. The available MCP-related events provide lifecycle visibility for tool execution, such as when a tool call starts, completes, or fails, but no documented event currently exists that carries detailed progress payloads emitted by the remote MCP server.

    1. Regarding If there is an event type or configuration that enables these notifications?

    The currently documented MCP-related streaming events include tool discovery events, tool argument generation events, and tool execution lifecycle events.

    For reference:

    • response.mcp_call.in_progress indicates that tool execution has started.
    • response.mcp_call.completed indicates successful completion.
    • response.mcp_call.failed indicates execution failure.
    • response.mcp_call_arguments.delta streams tool arguments as they are being generated and does not represent backend execution progress.

    At this time, no documented SDK option, request parameter, or service configuration has been identified that enables passthrough of MCP progress notifications through the Responses API stream.

    1. For the recommended approach for production scenarios requiring progress updates-

    For long-running operations that require detailed progress reporting, the recommended pattern is to separate operation progress from the Responses API stream.

    Typical implementation approaches include:

    • Returning a job ID or operation ID from the MCP tool.
    • Tracking execution progress independently using a correlation identifier.
    • Surfacing progress through a dedicated channel such as:
      • Server-Sent Events (SSE)
      • WebSocket or Azure SignalR Service
      • Status polling endpoint
      • Event or message-based notification services

    This allows detailed progress reporting while the Responses API continues to provide execution lifecycle events.

    1. Recommended validation and troubleshooting steps are
    • Capturing the raw text/event-stream output returned by the Responses API.
    • Comparing the raw stream with SDK-processed events to rule out client-side filtering.
    • Confirming that the remote MCP server is actively emitting progress notifications during execution.
    • Validating that the MCP server receives and uses the required progress token when generating progress notifications.
    • Recording the model version, API version, SDK version, region, request ID, and timestamps for correlation purposes.

    The following references might be helpful , please check them out

    Please let us know if the response was helpful

     

    Thank you

     

    Was this answer helpful?

    0 comments No comments

  2. Christos Panagiotidis 3,546 Reputation points
    2026-07-16T08:22:14.9433333+00:00

    Based on the currently published Responses API contract, this is expected: Foundry does not expose arbitrary MCP protocol notifications/progress messages in the Responses stream.

    The documented MCP events are lifecycle events such as response.mcp_call.in_progress, response.mcp_call.completed, response.mcp_call.failed, plus tool-list and argument events. response.mcp_call.in_progress only tells you that the call started; its schema contains item_id, output_index, and sequence_number, but no forwarded MCP progress payload. There is no documented configuration that enables notifications/progress passthrough.

    For production, I would separate operation progress from agent streaming:

    Have the MCP tool start the long-running operation and return a job ID quickly.

    Publish progress from your backend through SSE, WebSocket/SignalR, or a status endpoint, correlated with that job ID.

    Expose a get_job_status tool if the agent itself must check progress.

    When the job finishes, submit the result in a follow-up Responses call or let the status tool return it.

    If the tool must remain synchronous, the UI can only show coarse “tool is running” state from response.mcp_call.in_progress until completion. Microsoft has not documented a roadmap commitment for notification forwarding, so a support request with a minimal trace is the right way to request product confirmation.

    REST event reference:

    https://learn.microsoft.com/en-us/rest/api/microsoft-foundry/azureopenai/responses

    MCP tool guidance:

    https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/model-context-protocol

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.