Repository navigation
Conversation
|
This PR has been closed automatically. This repo only keeps pull requests open when they come from a maintainer, or from a contributor a maintainer has assigned to the linked issue, and you aren't currently assigned to #348. If a maintainer assigns you to #348, this PR reopens on its own and there's nothing more you need to do here. Assignment is a maintainer call based on capacity; comments that only ask to be assigned don't factor in. What does help is engaging on the issue itself by confirming the repro, explaining why it matters for your use case, or describing the approach you'd take. You're welcome to keep pushing commits here (just avoid force-pushing, since GitHub can't reopen a rewritten branch), but that on its own won't get the PR reviewed or the issue assigned, and realistically most auto-closed PRs stay closed. There's no need to open a new PR either way. CONTRIBUTING.md has the full reasoning, but in short:
Maintainers: reopen, remove |
Fixes #348
Summary
contenttoToolErrorso anticipated tool failures can return arbitrary MCP content blocks withis_error=True(e.g. image/audio/text, includingImage/Audiohelpers).ToolError.contentwhenTool.run()re-raises with the tool-name prefix._handle_call_toolreturns provided error content (converted via existing_convert_to_content) instead of forcing a single text block; plainToolError(\"...\")behavior is unchanged.Notes
uv sync --locked --devin this environment failed buildingcryptography==50.0.0(Rust toolchain/setup issue) and systempytest/MCP runtime deps (e.g.sse_starlette) were unavailable. I verified syntax for modified files and ran targeted inline checks forToolErrorcontent handling/conversion, and addedtest_tool_error_with_content_returns_content_in_error_resultandtest_tool_error_with_image_helper_content_returns_image_in_error_resultintests/server/mcpserver/test_server.py.AI assistance disclosure: This change was drafted with AI assistance and I reviewed the implementation and tests.