Skip to main content

AWS ElastiCache MCP Server

The official MCP Server for interacting with AWS ElastiCache control plane. In order to interact with your data in ElastiCache Serverless caches and self-designed clusters use the Valkey MCP Server or the Memcached MCP Server.

Available MCP Tools

Serverless Cache Operations

  • create-serverless-cache - Create a new ElastiCache serverless cache. Pass connection_type='public' to create a Valkey 9+ cache with a public endpoint that is reachable over the internet without a VPC (IAM authentication over TLS 1.3, IAM user group required); the default 'vpc' creates a VPC endpoint
  • delete-serverless-cache - Delete a serverless cache
  • describe-serverless-caches - Get information about serverless caches
  • modify-serverless-cache - Modify settings of a serverless cache
  • connect-jump-host-serverless-cache - Configure an EC2 instance as a jump host for access to a serverless cache with a VPC endpoint
  • create-jump-host-serverless-cache - Create an EC2 jump host to access a serverless cache with a VPC endpoint via SSH tunnel
  • get-ssh-tunnel-command-serverless-cache - Generate SSH tunnel command for a serverless cache with a VPC endpoint

The jump-host tools apply only to caches with a VPC endpoint. For a cache with a public endpoint they return an error, because the cache is reached directly over the internet with IAM authentication.

Replication Group Operations

  • create-replication-group - Create an Amazon ElastiCache replication group with specified configuration
  • delete-replication-group - Delete an ElastiCache replication group with optional final snapshot
  • describe-replication-groups - Get detailed information about one or more replication groups
  • modify-replication-group - Modify settings of an existing replication group
  • modify-replication-group-shard-configuration - Modify the shard configuration of a replication group
  • test-migration - Test migration from a Redis instance to an ElastiCache replication group
  • start-migration - Start migration from a Redis instance to an ElastiCache replication group
  • complete-migration - Complete migration from a Redis instance to an ElastiCache replication group
  • connect-jump-host-replication-group - Configure an EC2 instance as a jump host for replication group access
  • create-jump-host-replication-group - Create an EC2 jump host to access a replication group via SSH tunnel
  • get-ssh-tunnel-command-replication-group - Generate SSH tunnel command for replication group access

Cache Cluster Operations

  • create-cache-cluster - Create a new ElastiCache cache cluster
  • delete-cache-cluster - Delete a cache cluster with optional final snapshot
  • describe-cache-clusters - Get detailed information about one or more cache clusters
  • modify-cache-cluster - Modify settings of an existing cache cluster
  • connect-jump-host-cache-cluster - Configure an EC2 instance as a jump host for cluster access
  • create-jump-host-cache-cluster - Create an EC2 jump host to access a cluster via SSH tunnel
  • get-ssh-tunnel-command-cache-cluster - Generate SSH tunnel command for cluster access

CloudWatch Operations

  • get-metric-statistics - Get CloudWatch metric statistics for ElastiCache resources with customizable time periods and dimensions

CloudWatch Logs Operations

  • describe-log-groups - List and describe CloudWatch Logs log groups
  • create-log-group - Create a new CloudWatch Logs log group
  • describe-log-streams - List and describe log streams in a log group
  • filter-log-events - Search and filter log events across log streams
  • get-log-events - Retrieve log events from a specific log stream

Firehose Operations

  • list-delivery-streams - List your Kinesis Data Firehose delivery streams

Cost Explorer Operations

  • get-cost-and-usage - Get cost and usage data for ElastiCache resources with customizable time periods and granularity

Misc Operations

  • describe-cache-engine-versions - List available cache engines and their versions
  • describe-engine-default-parameters - Get default parameters for a cache engine family
  • describe-events - Get events related to clusters, security groups, and parameters
  • describe-service-updates - Get information about available service updates
  • batch-apply-update-action - Apply service updates to resources
  • batch-stop-update-action - Stop service updates on resources

Instructions

The official MCP Server for interacting with AWS ElastiCache provides a comprehensive set of tools for managing ElastiCache resources. Each tool maps directly to ElastiCache API operations and supports all relevant parameters.

To use these tools, ensure you have proper AWS credentials configured with appropriate permissions for ElastiCache 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 or default to 'us-west-2'.

Prerequisites

  1. Install uv from Astral or the GitHub README
  2. Install Python using uv python install 3.10
  3. Set up AWS credentials with access to AWS services
    • Consider setting up Read-only permission if you don't want the LLM to modify any resources
    • To keep the LLM from creating caches with a public endpoint, deny elasticache:CreateServerlessCache when the elasticache:ConnectionType condition key is public. See Using condition keys.

Installation

Kiro Cursor VS Code
Add to Kiro Install MCP Server Install on VS Code

Add the MCP to your favorite agentic tools. (e.g. for Kiro, ~/.kiro/settings/mcp.json):

{
  "mcpServers": {
    "awslabs.elasticache-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.elasticache-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.elasticache-mcp-server": {
      "command": "uvx",
      "args": [
        "awslabs.elasticache-mcp-server@latest",
        "--readonly"
      ],
      "env": {
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-west-2",
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Windows Installation

For Windows users, the MCP server configuration format is slightly different:

{
  "mcpServers": {
    "awslabs.elasticache-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.elasticache-mcp-server@latest",
        "awslabs.elasticache-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

or docker after a successful docker build -t awslabs/elasticache-mcp-server .:

{
  "mcpServers": {
    "awslabs.elasticache-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--env",
        "FASTMCP_LOG_LEVEL=ERROR",
        "awslabs/elasticache-mcp-server:latest",
        "--readonly" // Optional paramter 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

Connection Settings

Configure connection behavior and timeouts:

# Connection settings
ELASTICACHE_MAX_RETRIES=3        # Maximum number of retry attempts for AWS API calls
ELASTICACHE_RETRY_MODE=standard  # AWS SDK retry mode for API calls
ELASTICACHE_CONNECT_TIMEOUT=5    # Connection timeout in seconds
ELASTICACHE_READ_TIMEOUT=10      # Read timeout in seconds

# Cost Explorer settings
COST_EXPLORER_MAX_RETRIES=3      # Maximum number of retry attempts for Cost Explorer API calls
COST_EXPLORER_RETRY_MODE=standard # AWS SDK retry mode for Cost Explorer API calls
COST_EXPLORER_CONNECT_TIMEOUT=5   # Connection timeout in seconds for Cost Explorer
COST_EXPLORER_READ_TIMEOUT=10     # Read timeout in seconds for Cost Explorer

# CloudWatch settings
CLOUDWATCH_MAX_RETRIES=3         # Maximum number of retry attempts for CloudWatch API calls
CLOUDWATCH_RETRY_MODE=standard    # AWS SDK retry mode for CloudWatch API calls
CLOUDWATCH_CONNECT_TIMEOUT=5      # Connection timeout in seconds for CloudWatch
CLOUDWATCH_READ_TIMEOUT=10        # Read timeout in seconds for CloudWatch

# CloudWatch Logs settings
CLOUDWATCH_LOGS_MAX_RETRIES=3     # Maximum number of retry attempts for CloudWatch Logs API calls
CLOUDWATCH_LOGS_RETRY_MODE=standard # AWS SDK retry mode for CloudWatch Logs API calls
CLOUDWATCH_LOGS_CONNECT_TIMEOUT=5  # Connection timeout in seconds for CloudWatch Logs
CLOUDWATCH_LOGS_READ_TIMEOUT=10    # Read timeout in seconds for CloudWatch Logs

# Firehose settings
FIREHOSE_MAX_RETRIES=3            # Maximum number of retry attempts for Firehose API calls
FIREHOSE_RETRY_MODE=standard      # AWS SDK retry mode for Firehose API calls
FIREHOSE_CONNECT_TIMEOUT=5        # Connection timeout in seconds for Firehose
FIREHOSE_READ_TIMEOUT=10          # Read timeout in seconds for Firehose

The server automatically handles:

  • AWS authentication and credential management
  • Connection establishment and management
  • Automatic retrying of failed operations
  • Timeout enforcement and error handling

Development

Running Tests

uv venv
source .venv/bin/activate
uv sync
uv run --frozen pytest

Building Docker Image

docker build -t awslabs/elasticache-mcp-server .

Running Docker Container

docker run -p 8080:8080 \
  -e AWS_PROFILE=default \
  -e AWS_REGION=us-west-2 \
  awslabs/elasticache-mcp-server

Metadata

Release files for awslabs.elasticache-mcp-server 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for awslabs.elasticache-mcp-server 0.2.3
File Size Uploaded Provenance Actions
awslabs_elasticache_mcp_server-0.2.3.tar.gz 182.6 kB With provenance Details for awslabs_elasticache_mcp_server-0.2.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for awslabs.elasticache-mcp-server 0.2.3
File Interpreter ABI Platform Actions
awslabs_elasticache_mcp_server-0.2.3-py3-none-any.whl Python 3 none any Details for awslabs_elasticache_mcp_server-0.2.3-py3-none-any.whl

Total release size: 283.2 kB

Release files / awslabs_elasticache_mcp_server-0.2.3.tar.gz

Download URL awslabs_elasticache_mcp_server-0.2.3.tar.gz
Size 182.6 kB
Tags Source
SHA-256 checksum
How to use checksums
bfd1078f4db83915f4c317c19ddd65f9530335511df3c0f03a01908a274735cc
BLAKE2b-256 checksum
How to use checksums
7f03ee070814043c86bbce371f08e4f61ff096d01bd367d776ac101f83d3f5bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

Release files / awslabs_elasticache_mcp_server-0.2.3-py3-none-any.whl

Download URL awslabs_elasticache_mcp_server-0.2.3-py3-none-any.whl
Size 100.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
44e7e9d499106bc7935aa59c69f7eac65a24ab3e4dd0db90bea10ca9de67764e
BLAKE2b-256 checksum
How to use checksums
d37e81d0e601fcc385bd499e14a3f80025fabbf0aac378d33694c4437166abee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

Security for awslabs.elasticache-mcp-server 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for awslabs_elasticache_mcp_server-0.2.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page