An AWS Labs Model Context Protocol (MCP) server for rds-control-plane
Project description
AWS RDS Control Plane MCP Server
The official MCP Server for interacting with AWS RDS control plane. This server provides resources for monitoring, analyzing, and managing your Amazon RDS database instances and clusters.
Available Resource Templates
DB Cluster Resources
aws-rds://db-cluster- List all available Amazon RDS clusters in your accountaws-rds://db-cluster/{cluster_id}- Get detailed information about a specific RDS cluster
DB Instance Resources
aws-rds://db-instance- List all available Amazon RDS instances in your accountaws-rds://db-instance/{instance_id}- Get detailed information about a specific RDS instanceaws-rds://db-instance/{dbi_resource_identifier}/log- List all available non-empty log files for a specific RDS instanceaws-rds://db-instance/{dbi_resource_identifier}/performance_report- List all available performance reports for a specific RDS instanceaws-rds://db-instance/{dbi_resource_identifier}/performance_report/{report_id}- Read a specific performance report
General Resources
aws-rds://{resource_type}/{resource_identifier}/cloudwatch_metrics- List available metrics for a RDS resource (db-instance or db-cluster).
Available Tools
General Tools
- DescribeRDSEvents - List events for RDS resources (instances, clusters, snapshots, etc.) with filtering by category, time period, and source type.
DB Cluster Tools
- CreateDBCluster - Create a new Amazon RDS database cluster.
- DeleteDBCluster - Delete an RDS database cluster.
- FailoverDBCluster - Force a failover for an RDS database cluster.
- ModifyDBCluster - Modify an existing RDS database cluster configuration.
- ChangeDBClusterStatus - Manage the status of an RDS database cluster.
DB Instance Tools
- CreateDBInstance - Create a new Amazon RDS database instance.
- DeleteDBInstance - Delete an Amazon RDS database instance.
- ModifyDBInstance - Modify an existing Amazon RDS database instance.
- ManageDBInstanceStatus - Manage the status of an Amazon RDS database instance.
- ReadDBLogFiles - Read database log files from RDS instances.
- CreatePerformanceReport - Generate a comprehensive performance report for RDS resources including metrics, events, and recommendations.
Instructions
The AWS RDS Control Plane MCP Server provides a comprehensive set of tools for monitoring, analyzing, and managing your Amazon RDS database instances and clusters. Each tool provides specific functionality for working with RDS resources, including performance analysis, log management, and accessing recommendations.
To use these tools, ensure you have proper AWS credentials configured with appropriate permissions for RDS operations. The server will automatically use credentials from environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN) or other standard AWS credential sources.
All tools support an optional region_name parameter to specify which AWS region to operate in. If not provided, it will use the AWS_REGION environment variable.
Prerequisites
- Install
uvfrom Astral or the GitHub README - Install Python using
uv python install 3.10 - Set up AWS credentials with access to RDS services
- Consider setting up Read-only permission if you don't want the LLM to modify any resources
Installation
Add the MCP to your favorite agentic tools. (e.g. for Amazon Q Developer CLI MCP, ~/.aws/amazonq/mcp.json):
{
"mcpServers": {
"awslabs.rds-control-plane-mcp-server": {
"command": "uvx",
"args": ["awslabs.rds-control-plane-mcp-server@latest"],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-west-2",
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
}
}
If you would like to prevent the MCP from taking any mutating actions (i.e. Create/Update/Delete Resource), you can specify the readonly flag as demonstrated below:
{
"mcpServers": {
"awslabs.rds-control-plane-mcp-server": {
"command": "uvx",
"args": [
"awslabs.rds-control-plane-mcp-server@latest",
"--readonly"
],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-west-2",
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
}
}
or docker after a successful docker build -t awslabs/rds-control-plane-mcp-server .:
{
"mcpServers": {
"awslabs.rds-control-plane-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"--env",
"FASTMCP_LOG_LEVEL=ERROR",
"awslabs/rds-control-plane-mcp-server:latest",
"--readonly" // Optional parameter if you would like to restrict the MCP to only read actions
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
Configuration
AWS Configuration
Configure AWS credentials and region:
# AWS settings
AWS_PROFILE=default # AWS credential profile to use
AWS_REGION=us-east-1 # AWS region to connect to
The server automatically handles:
- AWS authentication and credential management
- Connection establishment and management
Server Settings
The following CLI arguments can be passed when running the server:
# Server CLI arguments
--max-items 100 # Maximum number of items returned from API responses
--port 8888 # Port to run the server on
--readonly # Whether to run in readonly mode (prevents mutating operations)
--no-readonly # Whether to turn off readonly mode (allow mutating operations)
{
"mcpServers": {
"awslabs.rds-control-plane-mcp-server": {
"command": "uvx",
"args": [
"awslabs.rds-control-plane-mcp-server@latest",
"--readonly", "[your data]",
"--max-items", "[your data]",
"--port", "[your data]",
],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-west-2",
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
}
}
Development
Running Tests
uv venv
source .venv/bin/activate
uv sync
uv run --frozen pytest
Building Docker Image
docker build -t awslabs/rds-control-plane-mcp-server .
Running Docker Container
docker run -p 8888:8888 \
-e AWS_PROFILE=default \
-e AWS_REGION=us-west-2 \
awslabs/rds-control-plane-mcp-server
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file datgfg_rds_control_plane_mcp_server-0.0.1.tar.gz.
File metadata
- Download URL: datgfg_rds_control_plane_mcp_server-0.0.1.tar.gz
- Upload date:
- Size: 112.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e3cbda3e68fe9b123c21be2465738d8401de2360b9695e752ba198d6520d7aa
|
|
| MD5 |
d62cb12ff93c7173de891102b30f97fe
|
|
| BLAKE2b-256 |
ede0cfe33fe9ff87aa8b0ac06567b4db1b76bb084ba44a9975427666d5c07d5f
|
File details
Details for the file datgfg_rds_control_plane_mcp_server-0.0.1-py3-none-any.whl.
File metadata
- Download URL: datgfg_rds_control_plane_mcp_server-0.0.1-py3-none-any.whl
- Upload date:
- Size: 92.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
400218b35636664277bcfbc2f3b7ab33c85ee548e78c5d24d27a239dacba680f
|
|
| MD5 |
a7f7bb7f948a7f2706662657255a0c07
|
|
| BLAKE2b-256 |
85db2f96e3992077d79438002b67e9b8e238b3ecf6db820feb59385bb76fbaec
|