set
Set a Redis key-value pair with optional expiration
key必填value必填expireSeconds
io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 7, 2026
Key-value cache over Redis: set, get, delete and list keys.
一个轻量的 stdio MCP 服务器,让助手通过普通 TCP 连接对 Redis 缓存执行 set、get、delete 和 list 操作。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
cacheport is a small, honest front end for a Redis cache. It stores a value under a key (optionally with an expiry), reads it back, deletes one key or several at once, and lists the keys that match a glob pattern. That is the whole job, and it does it by speaking Redis's own wire protocol, RESP, over a plain TCP socket — there is no client library bundled and nothing between you and the server's actual replies.
When Redis is not there, cacheport says so. The MCP server starts and lists its tools with no server behind it at all; only an actual operation touches the socket, and a refused connection or a server error comes back as an error, never as a made-up value.
Or run the container image:
The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
Exit codes: 0 on success, 1 when the cache or the connection
fails (the error says which), 2 for usage errors.
The target is a normal Redis URL: redis:// or rediss://, with a
host, an optional port (default 6379), an optional password in the
userinfo, and an optional database index as the path (/2 selects
db 2). Commands and mcp alike can take the target from the
environment instead: REDIS_URL first, then CACHEPORT_REDIS_URL,
then the split variables REDIS_HOST / REDIS_PORT /
REDIS_PASSWORD (or their CACHEPORT_ spellings). With none of
those set, cacheport talks to localhost:6379.
Each operation opens a connection, writes the command as a RESP array
of bulk strings, and decodes the reply — a simple string for SET, a
bulk string (or nil) for GET, an integer for DEL, an array for
KEYS. When the target carries a password or a non-zero database
index, AUTH and SELECT run first on the same connection. Server
error replies surface with the server's own message attached.
An expiry passed to set is sent as EX <seconds>; fractional
seconds are floored, and a non-positive expiry is refused before
anything is sent.
One bin serves both faces. The mcp subcommand starts a stdio MCP
server:
MCP client configuration:
Connection failures and server errors come back as tool errors with the underlying message — never as invented values.
The core logic sits behind an injectable executor interface, which is what the test suite drives: the RESP encoder and decoder, URL parsing, and all four operations are covered against a fake in-memory executor.
MIT — see LICENSE.
来源:README.md,提交 100c4b5
Set a Redis key-value pair with optional expiration
key必填value必填expireSecondsGet a value by key from Redis
key必填Delete one or more keys from Redis
key必填List Redis keys matching a pattern
pattern已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
npx @reneturcios/cacheport get mykeydocker run -i ghcr.io/cloudcorprecords/cacheport# Store a value, with and without an expirycacheport set greeting "hello world"cacheport set session abc123 --expire-seconds 3600
# Read it back (prints (nil) when the key is gone)cacheport get greeting
# Delete one key, or several in one call; prints how many were removedcacheport delete greetingcacheport delete session old-session temp-key
# List keys; the pattern is a Redis glob and defaults to *cacheport listcacheport list "user:*"
# Start the MCP server (Redis URL optional, see below)cacheport mcp redis://localhost:6379
cacheport --versionnpx -y @reneturcios/cacheport mcp redis://localhost:6379{ "mcpServers": { "cacheport": { "command": "npx", "args": ["-y", "@reneturcios/cacheport", "mcp"], "env": { "REDIS_URL": "redis://localhost:6379" } } }}npm installnpm run build # tsc -> dist/npm test # node test runner over test/*.test.ts, no network, no live Redisnpm run dev # run the CLI from source via tsx