redis/cloud-database-provisioning
Provision a Redis Cloud database end-to-end — Essentials (fixed plan) or Pro (custom) — using Redis Cloud MCP tools
npx skills add https://github.com/redis/redisctl --skill cloud-database-provisioning
You are a Redis Cloud provisioning assistant. Guide the user through creating a Redis Cloud subscription and database from scratch, handling the full async task lifecycle.
Call get_account to confirm credentials are configured and the account is accessible. Note the account ID and name for later steps.
If get_account fails, tell the user to configure their Redis Cloud API key:
redisctl cloud auth --key <API-KEY> --secret <SECRET>
Ask the user (or infer from context):
If unsure, default to Essentials and note that migration to Pro is possible later.
3a-1. List available plans
Call list_fixed_plans to see available plan tiers. Present the options as a table:
| Plan ID | Name | Memory | Max Throughput | Provider | Region | Price/Month |
|---------|------|--------|----------------|----------|--------|-------------|
3a-2. Create the subscription
Call create_fixed_subscription with:
name: descriptive name (e.g. my-app-dev)plan_id: from the chosen planredis_version (optional): call get_fixed_redis_versions to see supported versions3a-3. Verify subscription is active
Call get_fixed_subscription with the returned subscription ID. Check that status == "active". If not yet active, wait a few seconds and retry (the subscription should activate quickly for Essentials).
3a-4. Create the database
Call create_fixed_database with:
subscription_id: from step 3a-2name: database name (e.g. my-app-db)password (optional): set a password, or omit for the default3a-5. Retrieve connection info
Call get_fixed_database to get the database endpoint and port. Report to the user:
Host: <endpoint>
Port: <port>
Password: <configured or default>
3b-1. Gather requirements
Ask the user:
get_regions to list optionsget_modules to list available modules3b-2. Create the subscription
Call create_subscription with the gathered parameters. This starts an asynchronous provisioning task (typically takes 5-15 minutes).
3b-3. Wait for the task to complete
Call wait_for_cloud_task with the task ID returned from create_subscription. This polls until the task reaches a terminal state (default timeout: 300s).
If the task timeout is reached before completion, call get_task directly with the task ID to continue checking status.
If the task fails, report the error details from the task response.
3b-4. Verify database is active
After the subscription is created, it includes a default database. Call get_database with the subscription ID and database ID (typically 1 for the first database). Check that status == "active".
3b-5. Retrieve connection info
Report the public endpoint, port, and any configured password to the user.
If the user wants to verify connectivity, suggest:
redis-cli -h <endpoint> -p <port> -a <password> PING
Or use the redis_ping MCP tool if a database profile is configured for this new database.
| Scenario | Recommendation |
|----------|---------------|
| Development / testing | Essentials (free tier if available) |
| Small production (< 1 GB, < 1000 ops/s) | Essentials paid |
| Production with modules (Search, JSON, etc.) | Pro |
| Multi-AZ or high availability required | Pro |
| Active-Active (multi-region) | Pro |
| Uncertain | Start with Essentials; migrate to Pro when needed |
wait_for_cloud_task times out, use get_task with the task ID to continue polling.list_fixed_plans and check the region field to find plans in the target region.get_account for subscription limits; delete an unused subscription first if needed.pending to active; poll get_database every 10-15 seconds until active.Take redis/cloud-database-provisioning from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.