Hi there! This is my first post in this forum. Started using Cursor about a week ago, so pardon me if this is a stupid question.
I created an MCP server with some tools to access some datasources. I added the tools to Cursor’s “MCP Tools” so that Cursor can interact with them. Cursor is able to call the all the tools and receives the proper output, so the server is working properly. However, if I look at its “thoughts”, it writes things like “The user is asking for data from data source X as a DataFrame. Looking at the previous conversation, it seems like there have been several attempts to get this data, but the results have been omitted in the summary.”
Cursor doesn’t give a final answer, just keeps on calling the same tools with the same parameters.
I then asked it “Help me understand your difficulties. You write that “Looking at the previous conversation, it seems like the assistant has been trying to use the X tool but there have been issues (marked as omitted in the results).” Is this some problem in the code?”, to which Cursor answers that “Perfect! The MCP server is working correctly. The “” markers in the conversation history were just indicating that the previous results were too long to include in the summary, not that there were actual errors.” (see screenshot attached).
It then keeps doing the same thing… checking if the server is healthy, which data sources exist and extracting data from the correct one.
Anyone with a similar problem? Decreasing the size of the tool response probably solves it, but shouldn’t Cursor give an answer nonetheless instead of just keep trying the same thing over and over again?
Thanks in advance!
Steps to Reproduce
I don’t think it is possible to reproduce it, at least with the data sources that I’m using, but maybe creating a tool that returns a lot of data in the response may reproduce the problem.
Expected Behavior
I think Cursor should give a final answer, even if the tool response is too long. Giving a response with what it got or just saying that the output is too long in its response.
I’ve gotten similar issues with the MCP returning large JSON results:
even after adding progress streaming the Agent cannot read the full response: The user is asking me to list 500 notice logs for the same project and date (my-project, August 4, 2025). I can see from the previous conversation that this was attempted before, but the results were omitted in the summary. I need to make the API call to get the 500 notice logs.
I’m assuming the MCP client truncates the response of the fixed length somehow. Is this configurable?
Same tool call works fine on the lower number of entries (for my MCP case)
Log entries show the tool call succeeded as well:
[info] Handling CallTool action for tool ‘gcp_logging_get_log_entries’
[info] Calling tool 'gcp_logging_get_log_entries' with toolCallId: toolu_***********
[info] ProgressNotification received for toolu_*********** {"progress":0,"total":500}
[info] ProgressNotification received for toolu_*********** {"progress":51,"total":500}
[info] ProgressNotification received for toolu_*********** {"progress":151,"total":500}
[info] ProgressNotification received for toolu_*********** {"progress":251,"total":500}
[info] ProgressNotification received for toolu_*********** {"progress":351,"total":500}
[info] ProgressNotification received for toolu_*********** {"progress":451,"total":500}
[info] ProgressNotification received for toolu_*********** {"progress":500,"total":500}
[info] Successfully called tool 'gcp_logging_get_log_entries'