microsoft / microsoft/vscode

Regression: Copilot Chat MCP fails on Dataverse server due to strict tool schema validation (array parameter missing items)

Open
#325,618 6 comments 1 reaction 1 assignee Claimed by @connor4312 View on GitHub
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

A previously working MCP integration now fails in Copilot Chat when connecting to the Dataverse MCP endpoint.
The server starts, OAuth discovery succeeds, and tools are discovered, but Copilot then fails during tool validation with:

Failed to validate tool mcp_microsoft_dat_delete_record: Error: tool parameters array type must have items

This appears to be a regression in validation behavior or error handling, because one invalid tool definition now breaks MCP usage for the whole session.

Environment

OS: Windows 11 Enterprise Version 25H2
VS Code: 1.127.0
GitHub Copilot extension: 0.55.0
MCP endpoint: https://{dev server}.dynamics.com/api/mcp
Date first observed: 2026-07-09
Model: Any
Regression note: same endpoint/workflow worked previously

Impact

Copilot Chat cannot reliably use MCP tools from this server
User experience is effectively a chat failure/crash path when MCP is enabled
Blocking daily usage of Dataverse MCP in chat
Steps to Reproduce

Configure MCP server in user configuration with the Dataverse endpoint.
Open Copilot Chat (or start the server via MCP: List Servers).
Observe server startup and tool discovery logs.
Attempt to use MCP tools in chat.
Actual Result

Server starts and discovers tools, but chat fails with tool validation error:
Failed to validate tool mcp_microsoft_dat_delete_record: Error: tool parameters array type must have items
Expected Result

Either:
Invalid tool definitions are skipped with a warning, while other valid tools remain usable, or
Validation errors are surfaced non-fatally without breaking chat/MCP session
No full MCP/chat failure from a single invalid tool schema
Relevant Logs

Starting server MCP-CRM-DEV-NL
Connection state: Running
Discovered resource metadata at ...
Discovered authorization server metadata at ...
Discovered 16 tools
Then: Failed to validate tool mcp_microsoft_dat_delete_record: Error: tool parameters array type must have items
Additional Technical Context

Endpoint connectivity is healthy
Auth challenge and resource metadata are returned correctly
Failure occurs after tool discovery, during schema validation
Likely problematic schema pattern in tool definition: an array parameter declared without items
Likely Root Cause
A tool schema includes a parameter with type array but without items, which fails strict validation.

Example of invalid pattern
{
"type": "array"
}

Example of valid pattern
{
"type": "array",
"items": { "type": "string" }
}

Regression Statement
This exact MCP endpoint and flow worked before. Current behavior is a regression: one invalid tool schema now breaks the whole MCP chat flow.

Workaround

Disable the problematic tool from the server manifest/response.

Client-side robustness: handle invalid tool schemas gracefully (skip bad tool, continue with valid ones).
Server-side schema correctness: ensure all array-typed parameters include items.
Optional: clearer error telemetry pointing to exact parameter path in invalid schema.

Image

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.