A developer has registered an MCP server in Copilot Studio that exposes an 'inventory-lookup' tool. During testing, the agent fails to pass the correct parameters to the tool, and the tool returns errors. The developer reviews the MCP server's tool schema and discovers the schema is missing the 'required' array for its input parameters. What is the impact of omitting the 'required' array in an MCP tool schema, and how should it be fixed?
Select an answer to reveal the explanation.
Short Explanation
The 'required' array is the tool's way of saying 'don't call me without these.' Without it, you may let the model call the tool half-empty and get errors. Add the mandatory parameter names to the tool's inputSchema.
Full Explanation
In the Model Context Protocol, each tool publishes an inputSchema, a JSON Schema object whose 'required' array names the parameters that must be supplied before the tool runs. Copilot Studio reads the name, description, inputs and outputs straight from the MCP server, and the orchestrator uses them to decide what to collect. When an input is required and missing, the agent generates a question from the parameter's name and description and asks the user for it. With no 'required' array, every parameter looks optional, so the model can call 'inventory-lookup' without asking for the product ID or warehouse code, and the tool errors out. The fix is to add a 'required' array to the inputSchema listing each mandatory parameter name. The idea that the agent infers mandatory inputs from descriptions fails because descriptions explain meaning; they don't make an input mandatory. The claim that Copilot Studio hides the tool is wrong because every tool a connected MCP server publishes is automatically available, and a per-property 'required: true' flag isn't how the schema declares mandatory inputs. Treating 'required' as a security setting fixed with OAuth scopes confuses authorization with the parameter contract. Exam tip: tool schema is name, description, inputSchema with properties and required. To verify, inspect the tool's inputs in Copilot Studio after refreshing the server and confirm the agent asks for the missing value.