Skip to content

Conversation

wchemz
Copy link

@wchemz wchemz commented Oct 8, 2025

New MCP Server: AWS Database Migration Service (DMS)

Summary

Changes

Created a new MCP server providing comprehensive natural language access to AWS Database Migration Service (DMS) operations. The server includes 103 MCP tools covering the complete database migration lifecycle from discovery and planning through execution and monitoring.

Project Components:

  • 103 MCP Tools organized into 18 functional categories
  • Type-safe implementation using Pydantic models and FastMCP framework
  • 10 specialized manager utilities for modular architecture
  • Comprehensive documentation including README, CHANGELOG, and inline documentation
  • Production-ready features: read-only mode, structured logging, error handling
  • Docker support with multi-stage builds
  • Complete test suite with pytest and moto mocking

User Experience

Before

Users managing AWS DMS database migrations had to:

  • Use AWS Console for all DMS operations
  • Write custom boto3 scripts for automation
  • Manually coordinate multi-step migration workflows
  • Switch between multiple AWS service consoles
  • Maintain separate documentation for procedures
  • Use CLI commands with complex parameter syntax

After

Users can now interact with AWS DMS entirely through natural language:

Example Use Cases:

  • "Show me my DMS replication instances"
  • "Create a MySQL to PostgreSQL migration task"
  • "Test connection between my instance and endpoints"
  • "Get table statistics for my running migration"
  • "Start a Fleet Advisor database discovery"
  • "Generate migration recommendations for my databases"

Comprehensive Coverage:

  1. Traditional DMS Operations (59 tools) - Full CRUD for instances, endpoints, tasks, connections, assessments, certificates, subnet groups, events, maintenance
  2. DMS Serverless (25 tools) - Complete serverless workflow including projects, providers, profiles, configurations, and migrations
  3. Schema Conversion (15 tools) - Metadata model operations for database schema transformation
  4. Database Discovery (9 tools) - Fleet Advisor automated database discovery and analysis
  5. Smart Recommendations (4 tools) - AI-powered migration optimization suggestions

Users accomplish complex multi-step migrations through conversational commands without switching contexts or writing code.

Checklist

  • 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? No (N)

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.

'type': endpoint.get('EndpointType'),
'engine': endpoint.get('EngineName'),
'server_name': endpoint.get('ServerName'),
'port': endpoint.get('Port'),

Check notice

Code scanning / Bandit

Possible hardcoded password: 'MASKED' Note

Possible hardcoded password: '***MASKED***'
Copy link

codecov bot commented Oct 8, 2025

Codecov Report

❌ Patch coverage is 28.93792% with 1385 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.10%. Comparing base (9e37ce0) to head (5f8dd81).

Files with missing lines Patch % Lines
...erver/awslabs/aws_dms_mcp_server/tools_advanced.py 0.00% 204 Missing ⚠️
...abs/aws_dms_mcp_server/utils/serverless_manager.py 11.52% 192 Missing ⚠️
...slabs/aws_dms_mcp_server/utils/endpoint_manager.py 14.00% 129 Missing ⚠️
...r/awslabs/aws_dms_mcp_server/utils/task_manager.py 13.95% 111 Missing ⚠️
...aws_dms_mcp_server/utils/metadata_model_manager.py 18.80% 95 Missing ⚠️
.../awslabs/aws_dms_mcp_server/utils/event_manager.py 13.72% 88 Missing ⚠️
...abs/aws_dms_mcp_server/utils/assessment_manager.py 15.68% 86 Missing ⚠️
...mcp_server/utils/serverless_replication_manager.py 15.05% 79 Missing ⚠️
...slabs/aws_dms_mcp_server/utils/table_operations.py 15.05% 79 Missing ⚠️
...s_mcp_server/utils/replication_instance_manager.py 21.68% 65 Missing ⚠️
... and 8 more

❗ There is a different number of reports uploaded between BASE (9e37ce0) and HEAD (5f8dd81). Click for more details.

HEAD has 83 uploads less than BASE
Flag BASE (9e37ce0) HEAD (5f8dd81)
124 41
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1473      +/-   ##
==========================================
- Coverage   89.50%   84.10%   -5.40%     
==========================================
  Files         730      558     -172     
  Lines       51334    43336    -7998     
  Branches     8167     6972    -1195     
==========================================
- Hits        45945    36447    -9498     
- Misses       3474     5366    +1892     
+ Partials     1915     1523     -392     

☔ 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.

@scottschreckengaust scottschreckengaust self-assigned this Oct 13, 2025
@scottschreckengaust scottschreckengaust added hold-merging Signals to hold the PR from merging new mcp server A new MCP server ideally linked to an issue labels Oct 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hold-merging Signals to hold the PR from merging new mcp server A new MCP server ideally linked to an issue

Projects

Status: To triage

Development

Successfully merging this pull request may close these issues.

4 participants