AI-103 Practice Question 24: MCP Tool Approval Flow
Microsoft Azure AI Apps and Agents Developer Associate (AI-103) · Test 3 · question 4 of 10
A platform agent is being connected to an internal MCP server that exposes forty tools. Six are read-only lookups the agent genuinely needs; the rest include operations such as delete_environment and rotate_secrets. Before any write executes, an on-call engineer must see the requested tool name and its arguments and explicitly allow the call. The agent should never even be offered the thirty-four tools outside its remit.
How should the MCP tool be configured?
Show answer and explanation
Answer:
Both halves of the requirement map to documented settings. allowed_tools is the allow list that decides which of the server's tools the agent can see at all, and require_approval set to always makes the run pause and emit an `mcp_approval_request` item naming the server, the tool and the arguments. Your code, or your approval UX, inspects it and posts back an `mcp_approval_response` for the run to continue. Microsoft's best-practice list says exactly this: use an allow list, require approval for high-risk operations, and review the requested tool name and arguments before approving.
- A is wrong on the second half. allowed_tools is real enforcement, but a natural-language instruction is not: the same page warns that tool descriptions, annotations and results from remote MCP servers are untrusted input that can carry indirect prompt injection, which is precisely what talks a model out of its instructions. - B is wrong because a toolbox centralizes credentials, versioning and policy behind one endpoint, valuable, but it does not by itself pause a run for a human decision on an individual call. The approval setting still has to be configured on the tool. - C is wrong because tracing is after the fact. It tells you the environment was deleted; it does not stop the deletion.
Reference: Connect agents to MCP server endpoints