Symptom
When an MCP tool returns more than one content block, CrewAI hands only result.content[0] to the agent. Later text is dropped.
Evidence what you'll see
- On main
c6e500abthe report'sthree_blockstool returnsRESULT three_blocks: 'first'. The blockssecondandthirdnever reach the agent. - The same first-block read is in
MCPClient._call_tool_impl,MCPToolWrapper._execute_tool, andMCPNativeTool._extract_content.
Why it happens
Each native MCP path took result.content[0] and returned that item's text or str(). Pull request 8300 joins every text block with newlines and renders non-text blocks as a short typed placeholder such as [image: image/png].
Affected versions
crewAI 1.15.28 (main at c6e500ab), crewAI Tools 1.15.28, mcp 1.30.0, Python 3.10.19 and 3.13.16, macOS 27.0.1.
Fix steps
0 of 2 done
Your check marks stay in this browser only.
How to check it worked
- Calling the
three_blocksMCP tool throughAgent(mcps=[MCPServerStdio(...)])printsRESULT three_blocks: 'first\nsecond\nthird'.
If it still fails
- Tag
1.15.28does not contain pull request 8300. - The pull request does not change
MCPServerAdapterin crewai-tools, which still returns every text block as a Python list repr.
Sources and credit
Summarized in our own words from these public reports. Credit goes to their authors.
Provided as is, without warranty. Try changes in a non-production environment and back up first. Security-related steps: verify against the official docs. Terms · Request removal or attribution change
Hit an error we don't cover? Submit it