Add EmbeddedResource support to mcp #726
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Hey team! Utilizing strands locally to connect to (remote github MCP), and saw that it was unable to download particular files using github MCP tool
get_file_contents
.When I'd attempt I'd see logs like this:
The main issues appears to be that the file is not provided as text, it's provided as an EmbeddedResource. This PR provides Slack support for EmbeddedResources that match plaintext-readable types.
In my local testing, it fixes the behavior, and my strands agent can now read github files without any changes to the github MCP tools.
Related Issues
Partially fixes #535
Documentation PR
n/a
Type of Change
Bug fix
Testing
I made the changes to my local version of the sdk-python/src/strands/tools/mcp/mcp_client.py to add support for EmbeddedResource.
Here is my agent config file, it's an MVP of using github to fetch a file when I noticed it was unable to do so reliably.
When run, it is now able to fetch the file:
hatch run prepare
Checklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.