name: byted-redis description: A skill to launch and interact with the Volcengine Redis MCP Server. This skill enables agents to manage Redis instances, databases, accounts, backups, and configurations using the MCP protocol. It connects to Volcengine via the provided credentials. Use this skill when the user needs to manage Volcengine Redis resources via MCP (e.g., list instances, query logs/keys, manage accounts/allowlists/backups/parameters). version: 1.1.0 license: Apache-2.0
Volcengine Redis MCP Server Skill
๐ต Overview
This skill provides a complete set of tools to interact with Volcengine Redis using the Model Context Protocol (MCP). It allows users to query instances, manage parameters, and perform operational tasks on Volcengine Redis through natural language or programmatic invocation.
Supported Tools
The MCP Server exposes the following capabilities:
describe_regions- Query available regional resources.describe_zones- Query available zone resources.describe_vpcs- Query VPCs.describe_subnets- Query subnets.describe_db_instances- List Redis instances.describe_db_instance_detail- View details for a specific instance.describe_db_instance_specs- List supported instance specs.describe_slow_logs- Query slow logs.describe_hot_keys- Query hot keys.describe_big_keys- Query big keys.describe_backups- Query backup list.describe_db_instance_params- List instance parameters.describe_parameter_groups- Query parameter templates.describe_parameter_group_detail- View parameter template details.describe_allow_lists- Query IP whitelists.describe_allow_list_detail- View whitelist details.list_db_account- Query database accounts.create_db_instance- Create a Redis instance.modify_db_instance_params- Modify parameter configurations.create_db_account- Create an account for a Redis instance.create_allow_list- Create a new IP whitelist.associate_allow_list- Bind a whitelist to an instance.disassociate_allow_list- Unbind a whitelist from an instance.describe_db_instance_shards- Query shard information.describe_node_ids- Query node IDs.modify_db_instance_name- Modify an instance's name.describe_tags_by_resource- Query tags.describe_backup_plan- Query backup plan.describe_pitr_time_window- Query PITR time window.describe_backup_point_download_urls- Get backup point download URLs.describe_cross_region_backup_policy- Query cross-region backup policy.describe_cross_region_backups- Query cross-region backups.create_parameter_group- Create a parameter group.create_db_endpoint_public_address- Create a public endpoint.describe_db_instance_bandwidth_per_shard- Query shard bandwidth.describe_db_instance_acl_commands- Query supported ACL commands.describe_db_instance_acl_categories- Query supported ACL categories.describe_planned_events- Query planned events.describe_key_scan_jobs- Query key scan jobs.describe_eip_addresses- Query EIP addresses.
๐ง Prerequisites
- Python 3.10+
uvpackage manager (installed)- Volcengine account with proper permissions for Redis and VPC services.
๐ Environment Variables
Before running the skill, prepare one of the following credential modes.
Option A: Static AK/SK or temporary credentials in environment variables
Prepare these environment variables before running the skill:
VOLCENGINE_ACCESS_KEYVOLCENGINE_SECRET_KEYVOLCENGINE_REGION(for examplecn-beijing)
If you are using temporary credentials, also prepare:
VOLCENGINE_SESSION_TOKEN
Option B: STS credentials via Authorization / authorization
Redis MCP also supports a Bearer token whose body is a Base64-encoded JSON payload in the Authorization header.
Authorization: Bearer BASE64_JSON_PAYLOAD
The decoded JSON payload should contain these fields:
AccessKeyIdSecretAccessKeySessionTokenCurrentTimeExpiredTimeRegion
Notes:
SessionTokenis required when using STS credentials.- If
CurrentTimeandExpiredTimeare present, the server validates whether the STS token is expired. - For stdio-based skill scripts, you may expose this value through
AUTHORIZATIONorauthorization. - Authorization credentials take precedence over environment AK/SK when both are provided.
๐ Usage
1. Test & Client Example
Use the provided script to verify the server and view usage examples for the stdio flow:
uv run scripts/call_redis_mcp_example.py
2. Service Management (Optional)
To run the server as a daemon:
./scripts/start_volcengine_redis_mcp.sh
./scripts/status_volcengine_redis_mcp.sh
./scripts/stop_volcengine_redis_mcp.sh
๐ป Programmatic Usage via MCP Client
You can use the provided Python scripts to programmatically call the MCP Server. The bundled client supports:
VOLCENGINE_ACCESS_KEY+VOLCENGINE_SECRET_KEY- optional
VOLCENGINE_SESSION_TOKEN AUTHORIZATION/authorizationfor STS Bearer payloads
Example:
import asyncio
import sys
# Ensure imports work from the scripts directory
sys.path.append("scripts")
from mcp_client import RedisMCPClient
async def main():
async with RedisMCPClient() as client:
# List tools
tools = await client.list_tools()
print("Available tools:", [t['name'] for t in tools])
# Call a tool
result = await client.call_tool("describe_db_instances", {})
print(result)
asyncio.run(main())