AWS ElastiCache MCPサーバー
AWS ElastiCache コントロールプレーンと対話するための公式 MCP サーバーです。ElastiCache Serverless キャッシュや自己設計クラスター内のデータを操作するには、Valkey MCP Server または Memcached MCP Server を使用してください。
利用可能な MCP ツール
サーバーレスキャッシュ操作
create-serverless-cache- 新しい ElastiCache サーバーレスキャッシュを作成しますdelete-serverless-cache- サーバーレスキャッシュを削除しますdescribe-serverless-caches- サーバーレスキャッシュに関する情報を取得しますmodify-serverless-cache- サーバーレスキャッシュの設定を変更しますconnect-jump-host-serverless-cache- サーバーレスキャッシュへのアクセス用ジャンプホストとして EC2 インスタンスを設定しますcreate-jump-host-serverless-cache- SSH トンネル経由でサーバーレスキャッシュにアクセスするための EC2 ジャンプホストを作成しますget-ssh-tunnel-command-serverless-cache- サーバーレスキャッシュへのアクセス用 SSH トンネルコマンドを生成します
レプリケーショングループ操作
create-replication-group- 指定した構成で Amazon ElastiCache レプリケーショングループを作成しますdelete-replication-group- ElastiCache レプリケーショングループを削除します(オプションで最終スナップショットを取得できます)describe-replication-groups- 1 つ以上のレプリケーショングループに関する詳細情報を取得しますmodify-replication-group- 既存のレプリケーショングループの設定を変更しますmodify-replication-group-shard-configuration- レプリケーショングループのシャード構成を変更しますtest-migration- Redis インスタンスから ElastiCache レプリケーショングループへの移行をテストしますstart-migration- Redis インスタンスから ElastiCache レプリケーショングループへの移行を開始しますcomplete-migration- Redis インスタンスから ElastiCache レプリケーショングループへの移行を完了しますconnect-jump-host-replication-group- レプリケーショングループへのアクセス用ジャンプホストとして EC2 インスタンスを設定しますcreate-jump-host-replication-group- SSH トンネル経由でレプリケーショングループにアクセスするための EC2 ジャンプホストを作成しますget-ssh-tunnel-command-replication-group- レプリケーショングループへのアクセス用 SSH トンネルコマンドを生成します
キャッシュクラスター操作
create-cache-cluster- 新しい ElastiCache キャッシュクラスターを作成しますdelete-cache-cluster- キャッシュクラスターを削除します(オプションで最終スナップショットを取得できます)describe-cache-clusters- 1 つ以上のキャッシュクラスターに関する詳細情報を取得しますmodify-cache-cluster- 既存のキャッシュクラスターの設定を変更しますconnect-jump-host-cache-cluster- クラスターへのアクセス用ジャンプホストとして EC2 インスタンスを設定しますcreate-jump-host-cache-cluster- SSH トンネル経由でクラスターにアクセスするための EC2 ジャンプホストを作成しますget-ssh-tunnel-command-cache-cluster- クラスターへのアクセス用 SSH トンネルコマンドを生成します
CloudWatch 操作
get-metric-statistics- ElastiCache リソースの CloudWatch メトリクス統計を、期間やディメンションをカスタマイズして取得します
CloudWatch Logs 操作
describe-log-groups- CloudWatch Logs のロググループを一覧表示および説明しますcreate-log-group- 新しい CloudWatch Logs ロググループを作成しますdescribe-log-streams- ロググループ内のログストリームを一覧表示および説明しますfilter-log-events- ログストリーム全体でログイベントを検索およびフィルタリングしますget-log-events- 特定のログストリームからログイベントを取得します
Firehose 操作
list-delivery-streams- Kinesis Data Firehose 配信ストリームを一覧表示します
Cost Explorer 操作
get-cost-and-usage- ElastiCache リソースのコストと使用状況データを、期間や粒度をカスタマイズして取得します
その他の操作
describe-cache-engine-versions- 利用可能なキャッシュエンジンとそのバージョンを一覧表示しますdescribe-engine-default-parameters- キャッシュエンジンファミリーのデフォルトパラメータを取得しますdescribe-events- クラスター、セキュリティグループ、パラメータに関連するイベントを取得しますdescribe-service-updates- 利用可能なサービス更新に関する情報を取得しますbatch-apply-update-action- リソースにサービス更新を適用しますbatch-stop-update-action- リソースに対するサービス更新を停止します
手順
AWS ElastiCache と対話するための公式 MCP サーバーは、ElastiCache リソースを管理するための包括的なツールセットを提供します。各ツールは ElastiCache API 操作に直接対応しており、関連するすべてのパラメータをサポートしています。
これらのツールを使用するには、ElastiCache 操作に対する適切な権限を持つ AWS 認証情報が設定されていることを確認してください。サーバーは、環境変数(AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN)またはその他の標準的な AWS 認証情報ソースから自動的に認証情報を使用します。
すべてのツールは、操作対象の AWS リージョンを指定するためのオプションの region_name パラメータをサポートしています。指定しない場合は、AWS_REGION 環境変数を使用するか、デフォルトで 'us-west-2' を使用します。
前提条件
- Astral または GitHub README から
uvをインストールします uv python install 3.10を使用して Python をインストールします- AWS サービスへのアクセス権を持つ AWS 認証情報を設定します
- LLM にリソースを変更させたくない場合は、読み取り専用権限の設定を検討してください
インストール
| Kiro | Cursor | VS Code |
|---|---|---|
お好みのエージェントツールに MCP を追加してください。(例: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": []
}
}
}
MCP による変更操作(リソースの作成/更新/削除など)を防ぎたい場合は、以下のように readonly フラグを指定できます:
{
"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 へのインストール
Windows ユーザーの場合、MCP サーバーの設定形式は少し異なります:
{
"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"
}
}
}
}
または、docker build -t awslabs/elasticache-mcp-server . が成功した後に docker を使用する場合:
{
"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": []
}
}
}
設定
AWS の設定
AWS 認証情報とリージョンを設定します:
# AWS settings
AWS_PROFILE=default # AWS credential profile to use
AWS_REGION=us-east-1 # AWS region to connect to
接続設定
接続動作とタイムアウトを設定します:
# 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
サーバーは以下を自動的に処理します:
- AWS 認証と認証情報の管理
- 接続の確立と管理
- 失敗した操作の自動リトライ
- タイムアウトの適用とエラー処理
開発
テストの実行
uv venv
source .venv/bin/activate
uv sync
uv run --frozen pytest
Docker イメージのビルド
docker build -t awslabs/elasticache-mcp-server .
Docker コンテナの実行
docker run -p 8080:8080 \
-e AWS_PROFILE=default \
-e AWS_REGION=us-west-2 \
awslabs/elasticache-mcp-server