Redis MCP server has 4 tools with complete input schemas and basic descriptions. All tools are properly named with action verbs (set, get, delete, list). Schemas are well-formed JSON Schema with type definitions and required fields. However, descriptions are minimal (10-50 chars), lacking context on WHEN to use each tool, prerequisites, or consequences of destructive operations. Parameter descriptions exist but are terse. No output schema documentation. Error handling is absent, no guidance on recovery, retryability, or actionable error messages. Missing tool annotations (destructiveHint for delete, readOnlyHint for get/list). No pagination support for list tool despite potential for large result sets.
Delete one or more keys from Redis
Get value by key from Redis
List Redis keys matching a pattern
Set a Redis key-value pair with optional expiration
Descriptions are too brief (10-50 chars) and lack context. 'Set a Redis key-value pair with optional expiration' does not explain WHEN to use set vs other tools, whether it overwrites existing keys, or what happens on expiration. LLMs need 50-200 char descriptions with WHAT, WHEN, and consequences.
delete tool lacks destructiveHint annotation and error guidance. No warning that deletion is irreversible. No confirmation step or dry-run mode. Agents may accidentally delete critical keys without understanding consequences.
list tool has no pagination support (limit, offset, cursor). If Redis contains thousands of keys, returning all matches will blow context window. Tool description does not mention result limits or pagination.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
No output schema documentation. Tool responses return plain text ('Successfully set key: X'). LLMs cannot parse structured results or chain tools. No documented return types for any tool.
Error handling is absent. No recovery guidance, retryability classification, or actionable error messages. If Redis connection fails or a key is invalid, the agent receives a raw error with no next steps.