Amazon ElastiCache Memcached MCPサーバー
安全で信頼性の高い接続を通じて Amazon ElastiCache Memcached と対話するための MCP サーバーです
機能
完全な Memcached プロトコルサポート
- すべての標準的な Memcached 操作を完全サポート
- SSL/TLS 暗号化による安全な通信
- 自動的な接続管理とプーリング
- 失敗した操作に対する組み込みのリトライ機構
- 書き込み操作を防止する読み取り専用モード
読み取り専用モード
このサーバーは読み取り専用モードで起動でき、あらゆる書き込み操作の実行を防止します。これは、次のようにデータが変更されないことを保証したいシナリオで役立ちます。
- 読み取り専用レプリカ
- 書き込みを制限すべき本番環境
- データ変更のリスクなしで行うデバッグやモニタリング
読み取り専用モードが有効な場合、書き込み操作(set、add、replace、delete など)を実行しようとすると、エラーメッセージが返されます。
前提条件
- Astral または GitHub README から
uvをインストールします uv python install 3.10を使用して Python をインストールします- Memcached サーバーへのアクセスが必要です。
- Amazon ElastiCache Memcached キャッシュへの接続手順については、こちらをクリックしてください
インストール
| Kiro | Cursor | 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