Skip to content

MCP tool approval in Workflows: how to approve mcp_approval_request events #44579

@ManniArora

Description

@ManniArora
  • Package Name: azure-ai-projects
  • Package Version: 2.0.0b2
  • Operating System:
  • Python Version:

Describe the bug

When running an agent workflow that uses an MCP tool requiring approval, the SDK emits
mcp_approval_request events during streaming — but it is unclear how a workflow is expected
to respond to and approve that request.

There does not appear to be a documented or discoverable flow to provide approval for a specific
mcp_approval_request within a workflow execution.


Context

I am using the Azure SDK for Python to run an agent workflow that includes an MCP tool.

While streaming workflow execution events, I observe the following sequence:

Workflow created (id: mcp-tool-workflow:2, name: mcp-tool-workflow, version: 2)
Created conversation (id: conv_61a37b3058e19aab00f2sPt5yfJe074bd5kgTntiOeCG9BRhZK)
response.created
response.in_progress
response.output_item.added
workflow_action
response.output_item.added
mcp_list_tools
response.mcp_list_tools.in_progress
response.mcp_list_tools.completed
response.output_item.done
mcp_list_tools
response.output_item.added
mcp_approval_request
response.output_item.done
mcp_approval_request
response.completed

There is no clear way to approve or deny that request programmatically.


Question

How is an MCP approval request supposed to be handled in a workflow?

Specifically:

  1. How does the SDK expect clients to identify the approval request?
  2. What API should be called to approve or deny that request?
  3. How is approval bound to a specific workflow execution?

Metadata

Metadata

Assignees

Labels

AI ProjectsService AttentionWorkflow: This issue is responsible by Azure service team.customer-reportedIssues that are reported by GitHub users external to the Azure organization.needs-team-attentionWorkflow: This issue needs attention from Azure service team or SDK teamquestionThe issue doesn't require a change to the product in order to be resolved. Most issues start as that

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions