redis-docs-mcp
Skill174 starsChanged 3 months agoMITView on GitHub
Working with the redis-docs MCP server (search / fetch / ask at redis.io/mcp) — how its index is shaped and how to read what it returns. Use when those tools are available and you are about to look something up in the Redis documentation, or when a result is confusing — fetch returned one short section instead of a page, several hits share one url, ids look like #sec:w1, metadata.version reads 1.0.0, a search came back empty, or ask was rate-limited or said the docs do not cover it. Also covers what redis.io does and does not index.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- add-agent-memorySkill
- add-agent-playbooksSkill
- add-context-gatewaySkill
- add-intent-routerSkill
- add-lensSkill
- add-redis-irisSkill
- redis-clusteringSkill
- redis-connectionsSkill
- redis-coreSkill
- redis-observabilitySkill
- redis-searchSkill
- redis-securitySkill
- redis-semantic-cacheSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 44
Snippets are truncated prefixes of the body, not summaries: When one cuts off mid-word right at the interesting part, fetch on that id is …
- Very specific: line 69
ask→sources[].id→fetch: when you want the primary source behind a synthesized answer.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Redis Docs MCP
The redis-docs server exposes the redis.io documentation over MCP as search, fetch, and ask. Those tools carry their own descriptions, and on when to call each one they are accurate — start with search, fetch what you need, keep ask for questions that span several areas. This skill covers what they get wrong or leave out.
When to apply
- You are about to look something up through these tools.
- A result did not look like what the tool description promised.
- A
searchcame back empty, oraskwas rate-limited or declined to answer.
Reach for the sibling Redis skills first where they cover the topic — they carry curated guidance that raw docs pages do not. Use these tools to verify specifics and fill gaps.
1. Ids address sections, not pages
The tool descriptions say search returns "pages" and fetch returns "one Redis documentation page". The index is per section, and ids come in four shapes:
| Shape | Example | What fetch returns |
| Bare page | commands/expire | The whole page — ~8.5 KB for EXPIRE, examples and appendices included |
| Named anchor | develop/using-commands/keyspace#sec:key-expiration | That section |
| Ordinal window | develop/ai/search-and-query/advanced-concepts/expiration#sec:w0 | That window, ~1–2 KB |
| Anchor + window | develop/clients/jedis/connect#sec:configure-a-connection-pool-w0 | That window of that section |
What follows from this:
- Repeated urls in one result set are not duplicates. Several hits often share a page url while carrying distinct ids — they are different sections of the same page. Tell them apart by their snippets, not their urls.
#sec:wNordinals are index windows. They come back in relevance order, notw0, w1, w2. Don't try to reassemble a page out of snippets;fetchthe section you actually need.- Never construct an id. Valid ids come from a
searchresult or anaskresult'ssources[].id. Guessing happens to work forcommands/<name>and fails on everything with sections. - Snippets are truncated prefixes of the body, not summaries. When one cuts off mid-word right at the interesting part,
fetchon that id is guaranteed to contain the continuation — no need to re-search with different words. - Cite the page
urland name the section in prose.#sec:w1is an index address, not a web anchor. Ids with a named anchor (#sec:<name>, or#sec:<name>-wN) return a url with a usable fragment; bare#sec:wNids don't.
Links in returned text point at source files — [`DEL`](/content/commands/del.md) — which are neither web URLs nor fetch ids. Don't cite them or turn them into ids; search for the term instead.
2. metadata.version means "added in", not "current as of"
fetch returns metadata with topic, version, and section. On a commands/* page that version is the release the command was introduced in — commands/setex reports 2.0.0, commands/hexpire reports 7.4.0. Useful for "when did this land", and nothing more: commands/expire reports 1.0.0 while its own body documents a behavior change in 2.1.3 and a Redis 8 interaction with Redis Search. Outside commands/* the field is often not a release at all — a Redis Search page reports stack, a product channel.
So never answer "did this change in Redis N?" from metadata.version. Read it from the body text, which states it explicitly ("Before Redis 8…", "since Redis 7.4"), and cite that.
3. What the corpus covers
The index is redis.io only — but that is broader than it sounds. Per-language client usage guides are indexed and returned (develop/clients/redis-py/connect#sec:…, develop/clients/jedis/connect#sec:…), along with the integrate/… pages, the Redis Software and Redis Cloud operational docs under operate/…, and the Kubernetes operator's generated CRD reference. So search first, including for client-library and Enterprise questions.
Details often sit past the snippet. A search for redis-py's max_connections returns develop/clients/redis-py/async#sec:connection-pools with a snippet that never mentions it, yet the fetched section documents it. For a library's complete signatures, its own API reference or source is the authority.
Genuinely outside the index: GitHub issues and discussions, package-manager pages (PyPI, npm, Maven), and third-party posts.
So fetch the relevant hits before concluding anything is missing, and even then report it as "not found in the results I retrieved" — never as "not on redis.io" or "does not exist".
4. ask costs more than it looks
- Rate-limited per IP at a low per-minute budget, shared by everyone behind the same NAT, so an office or a CI runner can exhaust it collectively. On a rate-limit error, back off before retrying rather than retrying straight away, and ask one narrow question at a time.
- On a refusal, do not retry it reworded. "The documentation does not cover this" is a grounded result, not a parsing failure. Fall back to
search+fetchinstead. ask→sources[].id→fetchwhen you want the primary source behind a synthesized answer.
Query text from every tool reaches Redis, and from ask the model provider behind the gateway too, so prefer a generic question about the Redis command or behavior over pasting in proprietary code.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

