Hey, thanks for the report. This is a known issue with how Cursor handles MCP tools that return JSON arrays at the root level. There’s another report with the same behavior - JSON Array at Root Handled Incorrectly
The team is aware, but there’s no timeline yet. Your report helps with prioritization.
Workaround: Instead of returning a bare array [row1, row2, ...], wrap it in an object - {"rows": [row1, row2, ...]}. With this format, all elements are correctly passed to the model.
If you can’t change the MCP server response format (for example, if you’re using a prebuilt server), you might try creating an intermediate MCP tool that will do this wrapping.