Skip to content

Conversation

@charlie-7
Copy link
Contributor

Add bulk metadata transfer job management tools

Summary

Changes

Added comprehensive bulk metadata transfer functionality to the AWS IoT SiteWise MCP server, enabling users to perform large-scale import/export operations between S3 and IoT SiteWise. This includes:

  • New metadata transfer tools: 5 new MCP tools for creating, managing, monitoring, and canceling metadata transfer jobs
  • Bulk import schema validation: Tool to construct and validate JSON schemas for bulk import operations using Pydantic models
  • Bidirectional transfer support: Import from S3 to IoT SiteWise and export from IoT SiteWise to S3
  • Flexible filtering options: Support for exporting all resources or specific asset models/assets with configurable hierarchy and model inclusion
  • Comprehensive error handling: Robust validation and error reporting with helpful examples and recommendations

User experience

Before: Users had no way to perform bulk metadata operations through the MCP server. They would need to manually use AWS APIs or CLI commands for each individual asset/model, making large-scale operations extremely time-consuming and error-prone.

After: Users can now efficiently:

  • Create metadata transfer jobs with simple, user-friendly parameters
  • Import bulk asset/model definitions from S3 JSON files to IoT SiteWise
  • Export all IoT SiteWise resources or specific subsets to S3 for backup/migration
  • Monitor job progress and status in real-time
  • Cancel running jobs when needed
  • Get structured validation errors with helpful examples when schema validation fails

Checklist

If your change doesn't seem to apply, please leave them unchecked.

  • I have reviewed the contributing guidelines
  • I have performed a self-review of this change
  • Changes have been tested
  • Changes are documented

Is this a breaking change? (Y/N) N

RFC issue number: N/A

Acknowledgment

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

@codecov
Copy link

codecov bot commented Oct 25, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.55%. Comparing base (ef1c288) to head (86e9e9b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1579      +/-   ##
==========================================
+ Coverage   89.46%   89.55%   +0.09%     
==========================================
  Files         724      726       +2     
  Lines       50966    51393     +427     
  Branches     8145     8207      +62     
==========================================
+ Hits        45596    46027     +431     
+ Misses       3459     3456       -3     
+ Partials     1911     1910       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@charlie-7 charlie-7 closed this Oct 27, 2025
@charlie-7 charlie-7 force-pushed the bulk-metadata-transfer branch from 86e9e9b to 85cd55f Compare October 27, 2025 23:07
@github-project-automation github-project-automation bot moved this from To triage to Done in awslabs/mcp Project Oct 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants