MCP tool result with multiple rows: only the last row is passed to the AI

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.