Skip to content

Add sample: Unstructured Transform MCP (Strands + AgentCore Gateway) - #287

Open
dizon-u10d wants to merge 4 commits into
strands-agents:mainfrom
dizon-u10d:add-unstructured-transform-mcp-sample
Open

Add sample: Unstructured Transform MCP (Strands + AgentCore Gateway)#287
dizon-u10d wants to merge 4 commits into
strands-agents:mainfrom
dizon-u10d:add-unstructured-transform-mcp-sample

Conversation

@dizon-u10d

Copy link
Copy Markdown

Adds a sample under python/03-integrate/protocols/unstructured-transform-mcp/ showing a Strands agent connecting to the hosted Unstructured Transform MCP server over streamable-http (bearer API-key auth) to run an asynchronous partition → enrich → chunk → embed pipeline through MCP tools.

Includes:

  • main.py (MCPClient + streamablehttp_client), README.md, pyproject.toml, uv.lock, .env.example
  • AGENTCORE_GATEWAY.md — federating Transform MCP through Amazon Bedrock AgentCore Gateway
  • A capability comparison with the AWS Labs Document Loader MCP server

Closes #286

Docs: https://docs.unstructured.io/transform/overview · Get started: https://transform.unstructured.io/get-started

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Latest scan for commit: f3c2eaf | Updated: 2026-07-13 14:33:58 UTC

✅ Security Scan Report (PR Files Only)

Scanned Files

  • python/03-integrate/protocols/unstructured-transform-mcp/.env.example
  • python/03-integrate/protocols/unstructured-transform-mcp/AGENTCORE_GATEWAY.md
  • python/03-integrate/protocols/unstructured-transform-mcp/README.md
  • python/03-integrate/protocols/unstructured-transform-mcp/main.py
  • python/03-integrate/protocols/unstructured-transform-mcp/pyproject.toml
  • python/03-integrate/protocols/unstructured-transform-mcp/uv.lock

Security Scan Results

Critical High Medium Low Info
0 0 0 0 0

Threshold: High

No security issues detected in your changes. Great job!

This scan only covers files changed in this PR.

@dizon-u10d

Copy link
Copy Markdown
Author

Hi @mvangara10, following up on this sample (Strands agent + Transform MCP over streamable-http, plus an AgentCore Gateway guide).

Ran the connection portion of main.py against the live server: with an invalid token it correctly raises MCPClientInitializationError from a genuine 401 Unauthorized (httpx.HTTPStatusError), confirming the transport/auth wiring is correct end-to-end. Tracking issue is #286 per CONTRIBUTING.md. Happy to adjust anything that doesn't fit sample conventions.

@mvangara10

Copy link
Copy Markdown
Collaborator

@manoj-selvakumar5

@dizon-u10d

Copy link
Copy Markdown
Author

@manoj-selvakumar5 following up if there's anything I should adjust.

…transform_job, check_transform_status -> check_job_status, get_transform_results -> get_job_results)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@dizon-u10d

Copy link
Copy Markdown
Author

Updated for the recent Transform MCP tool rename: transform_filesstart_transform_job, check_transform_statuscheck_job_status, get_transform_resultsget_job_results. Ready for another look whenever you get a chance.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@dizon-u10d

Copy link
Copy Markdown
Author

Small follow-up: corrected the tool count in main.py's docstring (server exposes 7 tools total now, this sample uses the 4 core pipeline ones).

…er tools live

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@dizon-u10d

Copy link
Copy Markdown
Author

Another round of tool-surface changes shipped upstream this week (file manager tool added), so I went further than a rename this time: rewrote the docs, notebook, and system/agent prompts to describe the pipeline by behavior (submit → poll → fetch) rather than hardcoding exact tool names, and lean on the toolset-discovery pattern already shown here to find the real names at connect time. Should hold up through future renames/additions without needing another update like this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add sample: Unstructured Transform MCP (Strands + AgentCore Gateway)

2 participants