Skip to main content
Connect a Redis server, such as self-hosted Redis, Upstash, or Redis Cloud, to let CloudThinker agents inspect memory and eviction, find the largest keys and keys with no TTL, list clients, and read command latency. You give CloudThinker one connection URL (REDIS_URL): agents can run the commands that user’s ACL allows, and the connection’s write tools go through Approvals first.

Prerequisites

  • A Redis endpoint CloudThinker can reach from the internet. Agents connect from CloudThinker Cloud, so localhost and private addresses resolve there, not on your network. There’s no private-link option, so VPC-only services such as Amazon ElastiCache and MemoryDB can’t connect. See Reaching private services.
  • Redis 6 or later if you want a dedicated ACL user. Older versions only support a single shared password.
  • Admin access to run ACL SETUSER, or to create users in your managed provider’s console.

Setup

1

Create a read-only user

Create a user that can read keys and run the diagnostic commands agents use, and nothing else:
--askpass prompts for the admin password, so it stays out of your shell history. Add --user <admin-user> if you don’t sign in as default. Keep the quotes around '+client|list': without them the shell reads | as a pipe.Save it so it survives a restart: run ACL SAVE if you use an aclfile, or CONFIG REWRITE if your users live in redis.conf.
2

Check the user is read-only

Use redis:// only if your server doesn’t use TLS. A scheme that doesn’t match the server fails with a connection error, not NOPERM.Success state: SET fails with NOPERM, and INFO memory prints memory stats.
3

Open network access

Allow inbound connections on the Redis port from CloudThinker’s egress IPs in your firewall, security group, or provider allowlist. These docs don’t publish CloudThinker’s egress IP list: ask your CloudThinker contact, or contact us. The port is 6379 by default, 6380 for Azure TLS, and assigned per database on Redis Cloud. On self-hosted Redis, make sure bind in redis.conf isn’t only 127.0.0.1.
4

Add the connection in CloudThinker

Open More → Workspace settings → Connections, select Redis, and click Connect on its detail panel. In the dialog, optionally change the Alias and Description. Paste the URL into REDIS_URL and click Connect:
Success state: the connection shows Connecting and Verifying, then Connected. CloudThinker then runs Discovery once: a read-only look at the server whose results show in the Discovery section of the connection’s detail panel.

Connection details

URL-encode special characters in the password (@ becomes %40).

Required permissions

Keep the user read-only. A read-only ACL stops every write at Redis, whatever is approved.

Agent capabilities

Verify the connection

Expect used memory and peak, the client count, the maxmemory policy, and a key count for each database index. A NOPERM error names the missing command. Add it with ACL SETUSER cloudthinker-readonly, then ask again.

Example prompts

Write access

The Redis connection has write tools. If the ACL allows writes, each one goes through Approvals first, and a rule can ask first or refuse them. Every change an agent makes goes through your workspace’s Approvals first. On the default Auto · Rules + AI · Ask me mode, AI judgment can let a safe change run without asking — and an Allow Rule can too, once CloudThinker turns on Rule enforcement for your workspace. Choose Manual to approve every change yourself.

Troubleshooting

The user or password is wrong or missing. Check both in REDIS_URL, including URL-encoding. On Upstash, use default as the user and the database token as the password. On self-hosted Redis, run ACL LIST to confirm the user exists and is on.
Usually a malformed URL. Check the scheme (rediss:// for a TLS endpoint, which Upstash requires), the host, the port, and that a password is present. A REST or SDK URL from your provider won’t work: use the TCP or Redis CLI one.
CloudThinker can’t reach the server. Check your firewall, security group, or provider allowlist, and that bind in redis.conf isn’t only 127.0.0.1. A server on a private network needs a reachable endpoint first.
The ACL is missing a command. Add +info, '+client|list', or the category the error names with ACL SETUSER cloudthinker-readonly ..., then ask again. NOPERM on a write command is expected for a read-only user.
The server doesn’t have the RediSearch or RedisJSON module loaded. Many hosted tiers don’t ship them. Everything else keeps working.

Security

  • Least privilege — grant only the permissions the agents need for your use case; start read-only and widen later.
  • Read-only by default — use read-only credentials unless you want agents to make changes through this connection.
  • Rotate credentials — rotate keys and tokens on your normal schedule; CloudThinker picks up the new value when you update the connection.
  • Revoke on offboarding — remove the credential at the provider when you delete a connection or a teammate leaves.
  • Use rediss://: plain redis:// sends the password and every value unencrypted. Use TLS whenever your server or provider supports it.
  • Scope keys: replace ~* with the prefixes agents need, such as ~cache:*, so session tokens or other sensitive keys stay out of reach.

MongoDB

Connect MongoDB or Atlas in read-only mode.

Approvals

Decide which Redis writes run, wait for a person, or are refused.