From a5b27e1a7bf46be3bde0054c6ffb9f5a69f18f38 Mon Sep 17 00:00:00 2001 From: CahidArda Date: Mon, 9 Nov 2026 11:01:50 +0000 Subject: [PATCH 1/6] DX-3274: list redis create-branch in the CLI reference --- agent-resources/cli.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/agent-resources/cli.mdx b/agent-resources/cli.mdx index a03bdb627..e199208cd 100644 --- a/agent-resources/cli.mdx +++ b/agent-resources/cli.mdx @@ -146,6 +146,7 @@ upstash redis get --db-id $DB_ID upstash redis get --db-id $DB_ID --hide-credentials upstash redis create --name $NAME --region $REGION upstash redis create --name $NAME --region $REGION --read-regions $REGION_1 $REGION_2 +upstash redis create-branch --db-id $DB_ID --name $BRANCH_NAME upstash redis delete --db-id $DB_ID --dry-run upstash redis delete --db-id $DB_ID upstash redis rename --db-id $DB_ID --name $NEW_NAME From 19116836ebd47706cebc9adbc3b8498b2e0e036c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2026 11:03:12 +0000 Subject: [PATCH 2/6] chore(llms): regenerate llms.txt and llms-full.txt --- llms-full.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/llms-full.txt b/llms-full.txt index 03b7de4b6..0801b21a4 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -193,6 +193,7 @@ upstash redis get --db-id $DB_ID upstash redis get --db-id $DB_ID --hide-credentials upstash redis create --name $NAME --region $REGION upstash redis create --name $NAME --region $REGION --read-regions $REGION_1 $REGION_2 +upstash redis create-branch --db-id $DB_ID --name $BRANCH_NAME upstash redis delete --db-id $DB_ID --dry-run upstash redis delete --db-id $DB_ID upstash redis rename --db-id $DB_ID --name $NEW_NAME From a253ee1e839a20e322f31d1444c15bbc0d9a256e Mon Sep 17 00:00:00 2001 From: CahidArda Date: Mon, 9 Nov 2026 11:20:25 +0000 Subject: [PATCH 3/6] DX-3274: add Redis branching to the MCP tools page --- agent-resources/mcp.mdx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/agent-resources/mcp.mdx b/agent-resources/mcp.mdx index 233283586..37f8e637a 100644 --- a/agent-resources/mcp.mdx +++ b/agent-resources/mcp.mdx @@ -114,24 +114,26 @@ A group covers every product it names, because those products share their tools: ## Tools -74 tools, grouped the way `?features=` groups them. The access column is the tool's own annotation, which clients use to decide what to confirm with you: **read** never changes anything, **write** only adds, **destructive** can delete or overwrite what is already there. On a read-only connection every write and destructive tool is refused. +76 tools, grouped the way `?features=` groups them, plus `submit_feedback_to_upstash_team`, which every connection gets for reporting a problem to the Upstash team. The access column is the tool's own annotation, which clients use to decide what to confirm with you: **read** never changes anything, **write** only adds, **destructive** can delete or overwrite what is already there. On a read-only connection every write and destructive tool is refused. The management tools that describe a resource (`redis_get_database`, `redis_create_database`, `index_get`, `index_create`, `qstash_list_users`) return its REST credentials only when called with `include_credentials: true`, so a routine lookup never carries a secret into the conversation. Listings never include credentials, and on a read-only connection they are omitted regardless. The plan, Prod Pack and budget tools change what your account is billed. They don't quote prices: each links the product's [pricing page](https://upstash.com/pricing) in its machine-readable form (for example `https://upstash.com/pricing/redis.md`) and tells the agent to give you the price and get your confirmation before calling. Budgets are whole US dollars, 0 for no cap or 20 to 10,000. Read regions count too: on a fixed plan each one adds the plan's per-region price. Moving a Redis database back to the free plan and the enterprise tiers aren't available through the MCP server; use the console or contact sales. - + | Tool | Access | What it does | | --- | --- | --- | - | `redis_list_databases` | read | Every Redis database in the account scope | + | `redis_list_databases` | read | Every Redis database in the account scope, including branches, which have `root_database_id` set | | `redis_get_database` | read | One database in detail; REST credentials with `include_credentials` | | `redis_get_stats` | read | Throughput, latency, data size, hits and misses over a `period`; `refresh` recomputes the figures first | | `redis_get_insights` | read | Latency, throughput and replication lag per region, error counters, and anomalies the backend found | | `redis_get_traffic` | read | Where clients connect from, which SDKs they use, and how requests are routed | | `redis_list_backups` | read | Backups taken of a database | | `redis_create_database` | write | Creates a database, optionally on a given `plan`; returns its credentials with `include_credentials` | + | `redis_create_branch` | write | Creates a branch: a point-in-time copy of a database with its own endpoint and password, billed as pay-as-you-go | | `redis_create_backup` | write | Takes a manual backup | + | `redis_set_daily_backup` | write | Turns daily backups on or off | | `redis_rename_database` | destructive | Renames a database, replacing its current name | | `redis_set_eviction` | destructive | Turns key eviction on or off | | `redis_set_auto_upgrade` | destructive | Turns automatic plan upgrade on or off | @@ -140,7 +142,7 @@ The plan, Prod Pack and budget tools change what your account is billed. They do | `redis_set_budget` | destructive | Sets the monthly spending cap of a pay-as-you-go database | | `redis_update_read_regions` | destructive | Replaces a global database's read regions with the list you give it, at most once every 30 minutes | | `redis_reset_credentials` | destructive | Replaces the password and REST tokens; clients using the old ones stop working | - | `redis_delete_database` | destructive | Deletes a database and everything in it | + | `redis_delete_database` | destructive | Deletes a database or branch and everything in it; a database with branches is refused until they are deleted | | `redis_run_command` | destructive | Runs Redis commands over the REST API, one or a pipeline | `redis_run_command` is annotated destructive because it takes arbitrary commands. On a read-only connection it still works, but only for commands on an allowlist of read-only ones — anything else, including a command the server does not recognize, is refused. @@ -248,7 +250,7 @@ In ChatGPT and other hosts that support [MCP Apps](https://github.com/modelconte | Product | What you can do | | --- | --- | -| Redis | Browse and edit keys, run commands, view stats and Insights (with Prod Pack), create and delete databases; on **Settings**, change the plan, Prod Pack, budget, read regions, eviction and auto-upgrade, and reset credentials | +| Redis | Browse and edit keys, run commands, view stats and Insights (with Prod Pack), create and delete databases and branches; on **Settings**, change the plan, Prod Pack, budget, read regions, eviction and auto-upgrade, and reset credentials | | QStash | Publish messages, manage schedules, read logs and the DLQ, view stats; on **Settings**, change the region's plan, Prod Pack and budget, and reset its token (shared with Workflow) | | Workflow | Trigger runs, inspect and cancel them, retry from the DLQ, view stats | | Vector and Search | Browse documents by namespace, view stats; see the plan on **Settings**, switch a Vector index between pay-as-you-go and fixed, and reset credentials | From a57758bf063624d3d7f89b85b641911a829b4feb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2026 11:20:51 +0000 Subject: [PATCH 4/6] chore(llms): regenerate llms.txt and llms-full.txt --- llms-full.txt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/llms-full.txt b/llms-full.txt index 0801b21a4..ad1c3143c 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -1153,24 +1153,26 @@ A group covers every product it names, because those products share their tools: ## Tools -74 tools, grouped the way `?features=` groups them. The access column is the tool's own annotation, which clients use to decide what to confirm with you: **read** never changes anything, **write** only adds, **destructive** can delete or overwrite what is already there. On a read-only connection every write and destructive tool is refused. +76 tools, grouped the way `?features=` groups them, plus `submit_feedback_to_upstash_team`, which every connection gets for reporting a problem to the Upstash team. The access column is the tool's own annotation, which clients use to decide what to confirm with you: **read** never changes anything, **write** only adds, **destructive** can delete or overwrite what is already there. On a read-only connection every write and destructive tool is refused. The management tools that describe a resource (`redis_get_database`, `redis_create_database`, `index_get`, `index_create`, `qstash_list_users`) return its REST credentials only when called with `include_credentials: true`, so a routine lookup never carries a secret into the conversation. Listings never include credentials, and on a read-only connection they are omitted regardless. The plan, Prod Pack and budget tools change what your account is billed. They don't quote prices: each links the product's [pricing page](https://upstash.com/pricing) in its machine-readable form (for example `https://upstash.com/pricing/redis.md`) and tells the agent to give you the price and get your confirmation before calling. Budgets are whole US dollars, 0 for no cap or 20 to 10,000. Read regions count too: on a fixed plan each one adds the plan's per-region price. Moving a Redis database back to the free plan and the enterprise tiers aren't available through the MCP server; use the console or contact sales. - + | Tool | Access | What it does | | --- | --- | --- | - | `redis_list_databases` | read | Every Redis database in the account scope | + | `redis_list_databases` | read | Every Redis database in the account scope, including branches, which have `root_database_id` set | | `redis_get_database` | read | One database in detail; REST credentials with `include_credentials` | | `redis_get_stats` | read | Throughput, latency, data size, hits and misses over a `period`; `refresh` recomputes the figures first | | `redis_get_insights` | read | Latency, throughput and replication lag per region, error counters, and anomalies the backend found | | `redis_get_traffic` | read | Where clients connect from, which SDKs they use, and how requests are routed | | `redis_list_backups` | read | Backups taken of a database | | `redis_create_database` | write | Creates a database, optionally on a given `plan`; returns its credentials with `include_credentials` | + | `redis_create_branch` | write | Creates a branch: a point-in-time copy of a database with its own endpoint and password, billed as pay-as-you-go | | `redis_create_backup` | write | Takes a manual backup | + | `redis_set_daily_backup` | write | Turns daily backups on or off | | `redis_rename_database` | destructive | Renames a database, replacing its current name | | `redis_set_eviction` | destructive | Turns key eviction on or off | | `redis_set_auto_upgrade` | destructive | Turns automatic plan upgrade on or off | @@ -1179,7 +1181,7 @@ The plan, Prod Pack and budget tools change what your account is billed. They do | `redis_set_budget` | destructive | Sets the monthly spending cap of a pay-as-you-go database | | `redis_update_read_regions` | destructive | Replaces a global database's read regions with the list you give it, at most once every 30 minutes | | `redis_reset_credentials` | destructive | Replaces the password and REST tokens; clients using the old ones stop working | - | `redis_delete_database` | destructive | Deletes a database and everything in it | + | `redis_delete_database` | destructive | Deletes a database or branch and everything in it; a database with branches is refused until they are deleted | | `redis_run_command` | destructive | Runs Redis commands over the REST API, one or a pipeline | `redis_run_command` is annotated destructive because it takes arbitrary commands. On a read-only connection it still works, but only for commands on an allowlist of read-only ones — anything else, including a command the server does not recognize, is refused. @@ -1287,7 +1289,7 @@ In ChatGPT and other hosts that support [MCP Apps](https://github.com/modelconte | Product | What you can do | | --- | --- | -| Redis | Browse and edit keys, run commands, view stats and Insights (with Prod Pack), create and delete databases; on **Settings**, change the plan, Prod Pack, budget, read regions, eviction and auto-upgrade, and reset credentials | +| Redis | Browse and edit keys, run commands, view stats and Insights (with Prod Pack), create and delete databases and branches; on **Settings**, change the plan, Prod Pack, budget, read regions, eviction and auto-upgrade, and reset credentials | | QStash | Publish messages, manage schedules, read logs and the DLQ, view stats; on **Settings**, change the region's plan, Prod Pack and budget, and reset its token (shared with Workflow) | | Workflow | Trigger runs, inspect and cancel them, retry from the DLQ, view stats | | Vector and Search | Browse documents by namespace, view stats; see the plan on **Settings**, switch a Vector index between pay-as-you-go and fixed, and reset credentials | From aebf7131890e163b4c897db16ad23bc9709e0a7b Mon Sep 17 00:00:00 2001 From: CahidArda Date: Mon, 9 Nov 2026 11:21:24 +0000 Subject: [PATCH 5/6] DX-3274: drop the field name from the list row --- agent-resources/mcp.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent-resources/mcp.mdx b/agent-resources/mcp.mdx index 37f8e637a..5ed0d931d 100644 --- a/agent-resources/mcp.mdx +++ b/agent-resources/mcp.mdx @@ -124,7 +124,7 @@ The plan, Prod Pack and budget tools change what your account is billed. They do | Tool | Access | What it does | | --- | --- | --- | - | `redis_list_databases` | read | Every Redis database in the account scope, including branches, which have `root_database_id` set | + | `redis_list_databases` | read | Every Redis database in the account scope, including branches | | `redis_get_database` | read | One database in detail; REST credentials with `include_credentials` | | `redis_get_stats` | read | Throughput, latency, data size, hits and misses over a `period`; `refresh` recomputes the figures first | | `redis_get_insights` | read | Latency, throughput and replication lag per region, error counters, and anomalies the backend found | From b5d88346994cc0445f9504058d244c8ba1703035 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2026 11:21:52 +0000 Subject: [PATCH 6/6] chore(llms): regenerate llms.txt and llms-full.txt --- llms-full.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llms-full.txt b/llms-full.txt index ad1c3143c..e1777941d 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -1163,7 +1163,7 @@ The plan, Prod Pack and budget tools change what your account is billed. They do | Tool | Access | What it does | | --- | --- | --- | - | `redis_list_databases` | read | Every Redis database in the account scope, including branches, which have `root_database_id` set | + | `redis_list_databases` | read | Every Redis database in the account scope, including branches | | `redis_get_database` | read | One database in detail; REST credentials with `include_credentials` | | `redis_get_stats` | read | Throughput, latency, data size, hits and misses over a `period`; `refresh` recomputes the figures first | | `redis_get_insights` | read | Latency, throughput and replication lag per region, error counters, and anomalies the backend found |