メインコンテンツまでスキップ

Amazon ElastiCache Memcached MCPサーバー

安全で信頼性の高い接続を通じて Amazon ElastiCache Memcached と対話するための MCP サーバーです

機能​

完全な Memcached プロトコルサポート​

  • すべての標準的な Memcached 操作を完全サポート
  • SSL/TLS 暗号化による安全な通信
  • 自動的な接続管理とプーリング
  • 失敗した操作に対する組み込みのリトライ機構
  • 書き込み操作を防止する読み取り専用モード

読み取り専用モード​

このサーバーは読み取り専用モードで起動でき、あらゆる書き込み操作の実行を防止します。これは、次のようにデータが変更されないことを保証したいシナリオで役立ちます。

  • 読み取り専用レプリカ
  • 書き込みを制限すべき本番環境
  • データ変更のリスクなしで行うデバッグやモニタリング

読み取り専用モードが有効な場合、書き込み操作(set、add、replace、delete など)を実行しようとすると、エラーメッセージが返されます。

前提条件​

  1. Astral または GitHub README から uv をインストールします
  2. uv python install 3.10 を使用して Python をインストールします
  3. Memcached サーバーへのアクセスが必要です。
  4. Amazon ElastiCache Memcached キャッシュへの接続手順については、こちらをクリックしてください

インストール​

KiroCursorVS Code
Add to KiroInstall MCP ServerInstall on VS Code

MCP を利用する方法はいくつかあります(例:Kiro の場合は ~/.kiro/settings/mcp.json)。

{
"mcpServers": {
"awslabs.memcached-mcp-server": {
"command": "uvx",
"args": ["awslabs.memcached-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"MEMCACHED_HOST": "your-memcached-host",
"MEMCACHED_PORT": "11211"
},
"disabled": false,
"autoApprove": []
}
}
}

読み取り専用モードで実行する場合:

{
"mcpServers": {
"awslabs.memcached-mcp-server": {
"command": "uvx",
"args": ["awslabs.memcached-mcp-server@latest", "--readonly"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"MEMCACHED_HOST": "your-memcached-host",
"MEMCACHED_PORT": "11211"
},
"disabled": false,
"autoApprove": []
}
}
}

Windows でのインストール​

Windows ユーザーの場合、MCP サーバーの設定形式が少し異なります。

{
"mcpServers": {
"awslabs.memcached-mcp-server": {
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "uv",
"args": [
"tool",
"run",
"--from",
"awslabs.memcached-mcp-server@latest",
"awslabs.memcached-mcp-server.exe"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"MEMCACHED_HOST": "your-memcached-host",
"MEMCACHED_PORT": "11211"
},
}
}
}

読み取り専用モードで実行する場合:

{
"mcpServers": {
"awslabs.memcached-mcp-server": {
"command": "uvx",
"args": [
"tool",
"run",
"--from",
"awslabs.memcached-mcp-server@latest",
"awslabs.memcached-mcp-server.exe",
"--readonly"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"MEMCACHED_HOST": "your-memcached-host",
"MEMCACHED_PORT": "11211"
},
"disabled": false,
"autoApprove": []
}
}
}

または、docker build -t awslabs/memcached-mcp-server . が成功した後に docker を使用する場合:

{
"mcpServers": {
"awslabs.memcached-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"--env",
"FASTMCP_LOG_LEVEL=ERROR",
"--env",
"MEMCACHED_HOST=your-memcached-host",
"--env",
"MEMCACHED_PORT=11211",
"awslabs/memcached-mcp-server:latest"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}

Docker で読み取り専用モードで実行する場合:

{
"mcpServers": {
"awslabs.memcached-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"--env",
"FASTMCP_LOG_LEVEL=ERROR",
"--env",
"MEMCACHED_HOST=your-memcached-host",
"--env",
"MEMCACHED_PORT=11211",
"awslabs/memcached-mcp-server:latest",
"--readonly"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}

設定​

基本的な接続設定​

次の環境変数を使用して接続を設定します。

# Basic settings
MEMCACHED_HOST=127.0.0.1 # Memcached server hostname
MEMCACHED_PORT=11211 # Memcached server port
MEMCACHED_TIMEOUT=1 # Operation timeout in seconds
MEMCACHED_CONNECT_TIMEOUT=5 # Connection timeout in seconds
MEMCACHED_RETRY_TIMEOUT=1 # Retry delay in seconds
MEMCACHED_MAX_RETRIES=3 # Maximum number of retry attempts

SSL/TLS 設定​

次の変数を使用して SSL/TLS サポートを有効化および設定します。

# SSL/TLS settings
MEMCACHED_USE_TLS=true # Enable SSL/TLS
MEMCACHED_TLS_CERT_PATH=/path/to/client-cert.pem # Client certificate
MEMCACHED_TLS_KEY_PATH=/path/to/client-key.pem # Client private key
MEMCACHED_TLS_CA_CERT_PATH=/path/to/ca-cert.pem # CA certificate
MEMCACHED_TLS_VERIFY=true # Enable cert verification

サーバーは次の処理を自動的に行います。

  • 接続の確立と管理
  • 有効化されている場合の SSL/TLS 暗号化
  • 失敗した操作の自動リトライ
  • タイムアウトの適用とエラーハンドリング

開発​

テストの実行​

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

Docker イメージのビルド​

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

Docker コンテナの実行​

docker run -p 8080:8080 \
-e MEMCACHED_HOST=host.docker.internal \
-e MEMCACHED_PORT=11211 \
awslabs/memcached-mcp-server

読み取り専用モードで実行する場合:

docker run -p 8080:8080 \
-e MEMCACHED_HOST=host.docker.internal \
-e MEMCACHED_PORT=11211 \
awslabs/memcached-mcp-server --readonly