Skip to main content
Glama
Yuchenhui

Redis MCP Server

by Yuchenhui

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.3.5

  • Disambiguation5/5

    Each tool targets a distinct Redis command or operation, with clear prefixes (h for hash, json for JSON, etc.) and no overlapping functionality. Even similar tools like scan_keys and scan_all_keys are well-differentiated by their return patterns.

    Naming Consistency5/5

    All tool names follow a consistent lowercase_with_underscores pattern, using prefixes for data types (h, json, z, x) and verbs for actions. There is no mixing of camelCase or other conventions.

    Tool Count2/5

    With 44 tools, this server significantly exceeds the typical well-scoped range (3-15). While many tools are justified by Redis's multiple data structures, the number is high enough to potentially overwhelm agents and suggests a need for consolidation.

    Completeness5/5

    The tool set covers all major Redis data types (strings, hashes, lists, sets, sorted sets, streams, JSON) plus pub/sub, key operations, server info, and vector search. Basic CRUD operations are present for each type, with no obvious gaps for typical use cases.

  • Average 3.5/5 across 44 of 44 tools scored. Lowest: 2.6/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description must carry the full behavioral burden. It only states that the tool returns 'a success message or an error message', which is vague. No information about side effects, idempotency, permissions required, or behavior on nonexistent subscriptions is disclosed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is short (three lines) and structured with Args and Returns sections. However, it sacrifices informative content for brevity, leaving out crucial details about usage and behavior. It is concise but not optimally helpful.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple tool with one parameter and an output schema (implied but not shown), the description omits important context: whether unsubscribing is reversible, what constitutes a success/error message, and if the channel must be actively subscribed. The agent lacks sufficient information to use the tool confidently.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema description coverage is 0%, so the description must compensate. It repeats the parameter name ('channel') and adds 'The Redis channel to unsubscribe from', but this adds minimal meaning beyond the schema field name. No format, constraints, or examples are provided.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'unsubscribe' and the resource 'Redis channel', making the purpose obvious. It implicitly distinguishes from the sibling 'subscribe' tool, but does not explicitly mention the inverse relationship, which would strengthen clarity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is given on when to use this tool versus alternatives. It does not mention prerequisites (e.g., must be subscribed to the channel) or that it should be paired with 'subscribe'. The agent has no context on appropriate usage scenarios.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries full responsibility for transparency. It only states that the tool deletes a key and returns a confirmation or error, without disclosing behaviors like whether it fails on missing keys, side effects, or required permissions. The return type is vaguely described.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with a clear structure: purpose, arguments, returns. It uses a Python-style docstring format that is easy to parse, though the returns section could be more specific.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the low complexity of the tool (one parameter), the description covers the basic input and return. However, it lacks details on error handling, typical response formats, and any behavioral nuances that might be helpful for safe invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has no parameter descriptions (0% coverage), and the description adds only 'The key to delete', which restates the schema's type and name. It provides minimal added value, not explaining what constitutes a valid key or format.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states 'Delete a Redis key', which clearly specifies the verb (delete) and resource (Redis key). It distinguishes from sibling tools like hdel (hash field deletion) and json_del (JSON deletion), though no explicit differentiation is made.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like hdel, srem, or json_del. It does not mention any conditions, prerequisites, or exclusions, leaving the agent to infer usage context from the tool name alone.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided. Description mentions return format (JSON string or error) but does not state that the operation is read-only and non-destructive. Lacks behavioral context beyond return value.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Very concise at two sentences, front-loaded with action. However, could include parameter explanations without significant bloat. Still efficient overall.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with 3 required parameters and no schema descriptions, the description should clarify parameter semantics and behavior. It only provides a high-level purpose and return type, leaving gaps for correct invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%. Description does not explain parameters (name, start, stop) or their constraints (e.g., start/stop meaning). Relies entirely on parameter names which may be ambiguous.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states verb 'Get', resource 'elements from a Redis list', and operation 'within a specific range'. Effectively distinguishes from sibling tools like llen, lpop, etc.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus other list operations (e.g., lrange vs lpop for specific elements). No mention of alternatives or context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description must fully disclose behavior. It mentions the optional expiration but omits critical details: that it creates the list if missing, errors on type mismatch, atomicity, and the return value (list length). The description is insufficient for a mutation tool.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence with no wasted words. It is appropriately concise for its complexity, though it could benefit from a slightly more structured format (e.g., separating action and optional behavior).

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the lack of annotations and low schema coverage, the description is incomplete. It does not cover edge cases (missing list, type mismatch), does not specify return value (though output schema exists, the description still lacks behavioral completeness), and omits usage context. A more comprehensive description is needed.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so the description must compensate. It names all three parameters (name, value, expire) but lacks details: no explanation that 'name' is the list key, no value type constraints (binary, string, int, number), and no unit for expire (seconds). The description adds minimal value over the schema's titles.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Push a value onto the right of a Redis list') and distinguishes it from sibling tools like lpush (push left) by specifying 'right'. The verb-resource combination is specific and unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like lpush, rpop, or lrange. The description only states the action without any contextual hints for selection.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations are absent, so the description carries full burden. It only states the return type as a string and mentions error messages. No disclosure of ordering (e.g., by time), range semantics, or idle handling. The agent gets minimal behavioral insight.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise, using a docstring format with Args and Returns sections. No redundant information. It is front-loaded with the purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the existence of a separate output schema, the return value is partially explained, but the description's 'str' return is too vague for stream entries. The tool has many siblings, yet no mention of typical Redis stream behavior (e.g., ID range, order). The description feels incomplete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 0% description coverage (no property descriptions). The description compensates by listing the key and count parameters with brief explanations. However, it omits the fact that xrange typically uses start/end IDs, leaving the count parameter's role incomplete.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Read entries from a Redis stream' with a specific verb and resource. It distinguishes from sibling tools like xadd (write) and xdel (delete), but does not explicitly differentiate from other stream-reading methods like xread.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, limitations, or comparison to other stream reading approaches. The agent is left to infer usage context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description should disclose behavioral traits. It does not mention what happens if the key does not exist (returns 0) or if the key holds a non-list type (error). The read-only nature is implied but not explicit, and no rate limits or permissions are noted.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, concise sentence with no unnecessary words. It perfectly front-loads the purpose without extraneous information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity (one parameter) and the presence of an output schema (likely specifying return type), the description is minimally adequate. However, it lacks detail on behavior for edge cases like missing keys or type mismatches, which would be expected for full completeness.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description fails to explain the meaning of the 'name' parameter beyond the schema. It does not clarify that 'name' is the Redis key for the list, leaving the agent to guess the parameter's semantics.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the operation: 'Get the length of a Redis list.' The verb 'Get' and resource 'length of a Redis list' are specific and distinct from sibling list operations like lpop or lpush, leaving no ambiguity about the tool's purpose.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives (e.g., using lrange to count elements). The description does not mention when-not-to-use or any prerequisites, leaving the agent to infer usage context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided. The description only mentions returns a success or error message, but fails to disclose that subscribing to a Redis channel typically enters a blocking loop, which is critical for an agent to know.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with two sentences and an args/returns section. No unnecessary words, but could be more structured for agent parsing.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Missing key context about subscription behavior (blocking, thread management). With an output schema present, the description still lacks enough to fully understand the tool's lifecycle.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description adds the explanation 'The Redis channel to subscribe to' for the single parameter. While basic, it adds meaning beyond the schema's string type. Schema coverage is 0%, so description partially compensates.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description explicitly states 'Subscribe to a Redis channel' with a clear verb and resource. It distinguishes from sibling tools like 'unsubscribe' and 'publish'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool vs alternatives like 'unsubscribe' or 'publish'. Lacks context for prerequisites or subscription lifecycles.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided, so description carries full burden. It mentions return type (confirmation or error) but fails to disclose destructive nature, idempotency, or behavior when member does not exist (e.g., returns 0). Missing critical behavioral traits.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is short and well-structured with clear Args and Returns sections. No unnecessary wording, but missing some details that could be included without bloating.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Despite having many sibling tools, the description does not differentiate by emphasizing that this tool operates on sorted sets only. The return description is vague ('confirmation message or an error message'). Missing behavioral details that an output schema alone may not cover.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so description compensates minimally by stating that 'key' is the sorted set key and 'member' is the member to remove. This adds meaning beyond parameter names, but no additional constraints or formats are provided.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action 'Remove a member' and the target 'Redis sorted set'. It distinguishes from sibling tools like srem (remove from set) and hdel (remove from hash) by specifying 'sorted set'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives (e.g., srem for regular sets). The description lacks context on prerequisites, such as the requirement that the key must be a sorted set, or when not to use it.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries full burden. It describes the function and algorithm but lacks disclosure of side effects (e.g., performance impact, permissions needed, behavior if index exists). Return value is mentioned but not error conditions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is fairly concise with clear sections (Args, Returns). The repetition of 'Unless specifically required' is minor redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has 5 parameters with no required fields, and an output schema exists. The description covers purpose and parameters but lacks context on prerequisites (e.g., Redis version, module loading) or potential errors.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so the description compensates by explaining each parameter's purpose and default usage guidance. However, it does not elaborate on dim or distance_metric beyond basic definitions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool creates a Redis 8 vector similarity index using HNSW on a Redis hash. It distinguishes from siblings like vector_search_hash (search) and get_indexes (list).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no explicit guidance on when to use this tool versus alternatives like set_vector_in_hash or vector_search_hash. It only mentions parameter defaults, not usage context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description must disclose behavioral traits. It doesn't mention what happens if the key doesn't exist (creates new list), if the key holds non-list type (error), or side effects. The handling of different value types is not explained.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single concise sentence that conveys the core functionality without unnecessary words. It is appropriately front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description covers the primary action but misses important context like error conditions, type handling, and default behavior. The output schema exists but the description doesn't need to explain it. Overall somewhat incomplete for a simple tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description adds meaning to all three parameters: name as key, value as item to push, expire as expiration. However, it doesn't specify expiration units or how non-string values are handled. Given 0% schema coverage, it partially compensates but lacks depth.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'push', the resource 'Redis list', and the direction 'left', which distinguishes it from siblings like rpush and lpop. It also mentions the optional expiration.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives, such as rpush for right-side push or lpush for multiple values. There is no mention of prerequisites or exclusions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description must convey behavioral traits. It only states the operation and return format, but does not disclose side effects (e.g., mutation), error conditions (e.g., old_key missing, new_key already exists), or whether it is atomic.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise at three sentences, includes a clear purpose statement in the first sentence, and structures parameters and returns efficiently. No extraneous content.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity and the presence of an output schema describing the return structure, the description covers parameters and return format. However, it omits behavioral details like error conditions, making it only minimally complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description adds slight meaning beyond the schema by labeling old_key as 'current name' and new_key as 'new name.' However, schema coverage is 0% (schema only has titles), and the description does not provide constraints, examples, or further detail, so only moderate value.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action: "Renames a Redis key from old_key to new_key." It uses a specific verb (rename) and identifies the resource (Redis key), distinguishing it from sibling tools like delete, expire, or get.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., key must exist) or behaviors like overwriting an existing new_key. The description lacks context for appropriate usage.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations exist, so the description must fully disclose behavior. It omits key traits: duplicate handling (SADD ignores duplicates), return value (normally number added, but says 'success message'), and whether expiration overrides existing TTL.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with a clear purpose statement followed by parameter list and return type. No extraneous content.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple set add operation, the description covers purpose and parameters. However, missing behavioral details (e.g., idempotency, key creation) and return format make it incomplete for an agent to fully understand side effects.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description provides basic parameter explanations (e.g., 'time in seconds' for expire_seconds). However, it lacks details like accepted value types or constraints.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Add a value to a Redis set with an optional expiration time', using a specific verb and resource. It distinguishes from sibling tools like srem or smembers by explicitly naming the operation type.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives such as hset or zadd. The description does not mention scenarios, prerequisites, or exclusions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description must disclose behavior. It only states return type (True/False) but omits side effects (e.g., overwrite behavior, index requirements, what happens if hash doesn't exist).

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Very concise, uses clear docstring format with Args/Returns. No redundant information, every sentence adds value.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no annotations and 3 parameters, the description is incomplete. It lacks context on prerequisites (e.g., hash existence), error cases, and when to use default vs custom vector_field. Output schema exists but is minimal.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so description must explain parameters. It does so for name, vector, and vector_field, including default and a usage note. However, lacks details like vector length limits or constraints.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Store a vector as a field in a Redis hash'), specifying the verb and resource. It distinguishes from sibling tools like get_vector_from_hash and create_vector_index_hash.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives like hset or vector_search_hash. The only hint is 'Unless specifically required, use the default field name,' which is not enough to guide selection.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries full burden. It only states 'Delete an entry' and returns confirmation/error, lacking details on idempotency, prerequisites (e.g., stream existence), or side effects.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with a clear front-loaded action. It uses a standard docstring format (Args/Returns) without extra fluff. Could be slightly more streamlined.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simple tool (2 params, no nesting, output schema exists), the description covers basic functionality but lacks usage hints, error scenarios, or behavioral depth. Adequate but not thorough.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, but the description adds meaning by naming parameters and their types ('key (str)', 'entry_id (str)'). This partially compensates for the bare schema, though not extensively.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Delete an entry from a Redis stream.', using a specific verb and resource. This distinguishes it from siblings like 'delete' (generic key deletion) and 'hdel' (hash field deletion).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'delete' or 'json_del'. No exclusions or context for selection are given.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided. Description covers the basic operation, optional expiration, and return value. However, it omits standard Redis ZADD behavior (e.g., updating score if member exists) and effects of expiration on the key.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Short, front-loaded with the main purpose. Uses a clear structured format with Args and Returns. Could be slightly more concise but no wasted sentences.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Adequate for a simple Redis command. Lacks details on edge cases (e.g., duplicate member, error messages) and does not describe the return format beyond 'confirmation or error'. Output schema exists but no details provided.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has 0% description coverage. Description adds brief explanations for each parameter (key, score, member, expiration in seconds), adding meaning beyond the schema property names, though still minimal.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the verb 'Add' and resource 'member to a Redis sorted set' with optional expiration. It distinguishes from siblings like zrange and zrem but not from sadd or other add operations.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives (e.g., sadd for sets, zadd for sorted sets). Missing context about prerequisites or scenarios.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided, so description must disclose behaviors. It states removal and return but omits crucial details like behavior on empty list, atomicity guarantee, or type restrictions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single concise sentence (9 words) is efficient, but could add a short second sentence for common edge case (empty list) without harming conciseness.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With simple tool and output schema assumed to exist, description covers the basic purpose but lacks completeness on edge cases and error handling typical for a pop operation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, yet the description provides no clarification for the single parameter 'name' (e.g., that it is the key of the list), leaving ambiguity.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the action ('Remove and return') and the resource ('first element from a Redis list'), distinguishing it from siblings like rpop (remove last) and lrange (get without removal).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Description implies usage for removing from left of a list but provides no explicit context on when to choose this over alternatives (e.g., rpop, lpop vs lrange) or conditions like empty lists.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description details the return type as 'str, bytes' and notes that an error message may be returned on failure. However, it does not disclose that the operation is read-only (non-destructive) or specify behavior for missing keys beyond returning an error message.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise, using a standard docstring format with Args and Returns sections. Every sentence delivers information without redundancy, though additional context on usage would improve completeness.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simplicity of the tool (single parameter, no annotations, output schema present but not detailed), the description covers the essential I/O. However, it lacks context on the Redis string data type and does not mention that the tool is read-only, which is relevant for an agent's decision-making.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema lacks parameter descriptions (0% coverage), and the description compensates by explaining the 'key' parameter as 'The key to retrieve.' This adds basic meaning, but no format constraints, examples, or further elaboration are provided.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get a Redis string value', specifying both the action (get) and the specific resource type (string). This distinguishes it from sibling tools like 'hget', 'json_get', etc., which target different data structures.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With many sibling tools offering varied retrieval methods, such as hget for hashes or json_get for JSON, explicit usage conditions are absent.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries full burden. It fails to disclose whether the tool creates the key if missing, whether intermediate paths are created, or what happens if the path does not exist. It only mentions return type generically ('success or error'). For a mutation tool, these are critical behavioral traits.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with a clear opening sentence followed by an Args list. It is front-loaded with the core action. Each sentence adds value, though the Args section could be slightly more compact.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description covers essential inputs and purpose but lacks details on behavior for edge cases (missing key, invalid path). An output schema exists but is not described. For a 4-parameter tool with no annotations, it is partially complete but leaves gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 0% description coverage, so the description's Arg section adds meaning for all four parameters. It explains name, path, value, and expire_seconds, going beyond the bare schema types.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool sets a JSON value in Redis at a given path with an optional expiration. It uses a specific verb-resource pair (set JSON value) and distinguishes from siblings like json_get, json_del, and set (which handles whole keys).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool vs alternatives. It does not mention that it modifies a specific JSON path within a document, unlike set which replaces the entire value, or json_del which removes a path. No when-not or alternative recommendations.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Without annotations, the description bears full burden. It only mentions 'success message or error message' but omits details on fire-and-forget nature, delivery guarantees, or error scenarios.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Extremely concise: one sentence for purpose, followed by a clear listing of args and returns. No redundant information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity (2 required string params) and presence of an output schema, the description covers core functionality and return type. However, it lacks mention of prerequisites like Redis connection status.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has 0% description coverage; the description provides basic context for parameters ('channel to publish to', 'message to send') but no additional constraints or format details.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states the action 'Publish' and the resource 'Redis channel', distinguishing it from sibling tools like 'subscribe' which perform opposite operations.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives (e.g., compared to 'subscribe' or other write operations), and no prerequisites or exclusions mentioned.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description implies a read-only operation ('Get a list'), which is appropriate. However, with no annotations, the description carries the full burden of behavioral disclosure. It lacks details on performance implications, authorization requirements, or whether the list is comprehensive or paginated.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise: a single sentence that directly states the tool's function. Every word serves a purpose, and it is front-loaded with the action and resource.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given that the tool has no parameters, no annotations, and no output schema, the description is minimally complete. It clearly states what the tool returns (list of connected clients). It could mention that the output format is a list of client objects, but the tool's simplicity mitigates the gap.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has no parameters, and schema coverage is 100%. The description adds no parameter details because none exist. The simplicity of the tool means no additional parameter semantics are needed.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly identifies the tool's purpose: retrieving a list of connected clients from a Redis server. It uses a specific verb (get) and resource (connected clients). However, it does not distinguish this tool from other list-related sibling tools like scan_keys or get_indexes, though the resource is unique.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No usage guidelines are provided. The description does not specify when to use this tool over alternatives, nor does it mention any prerequisites or context (e.g., read-only nature).

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description must fully disclose behavior. It only states the action and a vague return message, but does not explain what happens if the field or hash does not exist, nor does it mention idempotency or side effects.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise with three short lines: action, args, returns. Every sentence adds value, and the purpose is front-loaded. There is no redundant information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simplicity of the tool (2 parameters, no nesting) and existence of an output schema, the description covers basic functionality. However, considering the lack of annotations and the need to differentiate from many sibling tools, it could be more complete by mentioning edge cases or typical return types.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must add meaning. It clarifies that 'name' is the Redis hash key and 'key' is the field name, which goes beyond the schema's bare titles. However, it does not specify types, but the schema already does that.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Delete a field from a Redis hash,' providing a specific verb and resource. This distinguishes it from sibling tools like hget, hset, and hexists, which operate on the same data structure but with different actions.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description offers no guidance on when to use hdel versus alternatives such as delete (entire key), srem (remove from set), or zrem (remove from sorted set). There are no preconditions or usage contexts mentioned.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided, so description must disclose behavioral traits. It indicates read-only operation ('Retrieve') and mentions error messages, but lacks details on side effects, permissions, or performance.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Description is brief and front-loaded with purpose, followed by Args and Returns sections. It avoids unnecessary detail but could be more streamlined.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simplicity of the tool (read JSON from Redis) and existence of an output schema, the description adequately covers usage and parameters.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Description adds minimal value beyond schema by naming parameters in Args docstring, but schema coverage is 0%. It explains name as Redis key and path as JSON path, which is sufficient for basic understanding.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action (Retrieve), the resource (JSON value from Redis), and the path parameter, distinguishing it from sibling tools like json_del and json_set.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool vs alternatives like get or json_set. No context on prerequisites or when not to use.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description discloses the destructive nature (remove and return), but it lacks details on behavior when the list is empty (returns nil) or type mismatch. No annotations are provided, so the description carries the burden but is not comprehensive.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence with no redundancy. It is concise, but given the simplicity of the tool, it could be slightly more informative without losing conciseness.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple one-parameter tool with an output schema, the description is adequate but lacks edge case details (e.g., empty list behavior). It does not reference the output schema or mention potential errors.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so the description must clarify the parameter. It says 'from a Redis list', implying 'name' is the key, but does not explicitly state that. For a single parameter, direct mapping between 'name' and the list key would improve clarity.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Remove and return') and the resource ('last element from a Redis list'). It effectively distinguishes from sibling tools like lpop (remove first) and lrange (get range).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Usage context is implied (use when needing the last element), but no explicit guidance on when not to use or alternatives are provided. For example, it does not mention that lpop might be preferred for first-element removal.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description provides some behavioral context (optional expiration, return type), but it omits important traits such as overwrite behavior on existing keys, size limits, or automatic serialization of dict values to JSON.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise and front-loaded, with a clear one-sentence purpose followed by parameter details. It is appropriately sized for a simple tool, though it could be slightly more concise by omitting the 'Args:' formatting.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simplicity of the tool (3 parameters, no annotations, output schema present), the description covers the essential behavior and parameters. It lacks some edge-case details but is generally sufficient for a basic Redis SET operation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description clarifies that value can be 'str, bytes, int, float, dict' and that expiration is optional, adding meaning beyond the raw schema types. However, it does not explain the serialization of dicts or the exact behavior of expiration (e.g., units).

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'Set' and the resource 'a Redis string value', which distinguishes it from sibling tools like 'get', 'delete', or 'hset'. The addition of 'with an optional expiration time' further clarifies the scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like 'hset' or 'json_set'. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage without additional support.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are present, so the description must carry the burden. It only mentions a success or error message return, but does not discuss idempotency, behavior when the value is not in the set, or any permissions needed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise with three lines, no redundant information, and the main action is front-loaded. Each sentence adds value.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity and the presence of an output schema (not shown), the description is moderately complete. However, it lacks information on edge cases like non-existent keys or values, and could benefit from more context about error conditions.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, but the description explains each parameter: 'name: The Redis set key' and 'value: The value to remove from the set.' This adds meaning beyond the schema's type-only definitions, though could be slightly more detailed.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Remove a value from a Redis set,' which is a specific verb and resource. This distinguishes it from sibling tools like sadd (add) and smembers (get all members).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives, nor any conditions or prerequisites for use. It lacks when-not-to-use or alternative tool mentions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Without annotations, the description bears full responsibility for behavioral disclosure. It fails to mention what happens if the key does not exist, whether it overwrites existing TTLs, or any side effects. The description is minimal and lacks critical behavioral context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise, using a single sentence for purpose, followed by structured Args and Returns sections. Every sentence provides value, and the most important information is front-loaded. No wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple tool with two parameters and an output schema (implied), the description covers the basics: purpose, parameters, and return type. However, it lacks details on error conditions or edge cases, which would be useful for a complete understanding. Still, it is largely sufficient.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description must compensate. It adds semantic meaning to both parameters: 'name' is described as 'The Redis key' and 'expire_seconds' as 'Time in seconds after which the key should expire'. This goes beyond the schema's type-only definitions, providing essential context.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Set an expiration time') and the resource ('a Redis key'), providing a specific verb+resource combination that distinguishes it from sibling tools like 'set' or 'delete'. It is unambiguous and directly communicates the tool's purpose.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It does not mention when not to use it, nor does it reference any sibling tools or context. The agent receives no decision-making support beyond the basic function.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided. Description mentions underlying command FT.INFO and that it returns information or an error, but does not explicitly state that it is a read-only operation or any behavioral traits. The description carries the burden but only partially addresses safety.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Description is concise and structured with Args and Returns sections. No unnecessary words, but could be slightly more streamlined by integrating the parameter description into the main sentence.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple tool with one required parameter and an output schema, the description covers the core functionality. However, it lacks context about error handling, prerequisites, or when the index might not exist.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The single parameter 'index_name' is described in the Args section as 'The name of the index to retrieve information about.' This adds meaning beyond the input schema which only provides title and type (schema description coverage 0%).

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states the verb 'retrieve' and the resource 'schema and information about a specific Redis index' using the FT.INFO command. Distinguishes from sibling tools that perform other operations like set, get, delete, etc.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives like get_indexes or get_indexed_keys_number. Lacks when-not-to-use or prerequisite information.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided, so description must disclose all behavioral traits. It mentions expiration but lacks details on side effects, error conditions, or permissions. The return format is briefly described but incomplete.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Description is very concise: a single sentence summarizing purpose followed by parameter descriptions in a structured format. No redundant or unnecessary text.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Despite many sibling tools, the description adequately covers the tool's function. The output schema is mentioned (returns str), but lacks details on error handling or behavior of expiration when not set.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description adds significant meaning: key is 'stream key', fields is 'fields and values for the stream entry', expiration is 'expiration time in seconds'. This compensates well for the bare schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific verb 'Add' and resource 'entry to a Redis stream', and uniquely includes 'optional expiration time', which distinguishes it from sibling tools like xdel or xrange.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives (e.g., lpush for lists, json_set for JSON). The description only states what it does without context for tool selection.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full burden. It indicates a read operation and states the return type, but does not disclose potential errors (e.g., nonexistent index) or other behavioral nuances. It's adequate but minimal.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise (two sentences) with a clear docstring format, no redundant information, and all content is essential.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple tool with one parameter and an output schema, the description covers the basics but lacks mention of error handling or edge cases (e.g., missing index). It is adequate but not fully complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description adds meaning to the single parameter 'index_name' by explaining it is 'the name of the index to retrieve information about,' which compensates for the 0% schema description coverage. The return type is also described.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool retrieves the number of indexed keys for a given index, using a specific verb and resource. This distinguishes it from sibling tools like get_indexes or get_index_info, which list indexes or provide general info.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives, nor on prerequisites such as the index needing to exist. The description is purely functional without usage context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries full behavioral burden. It does not disclose performance implications (e.g., O(N) for large hashes), side effects, or safety profile. The return type is mentioned but not detailed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise: a single sentence for the purpose, plus structured Args/Returns. Every word is valuable and front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple single-parameter read operation, the description provides basic functionality, parameter, and return info. However, it lacks usage notes, error details, and performance considerations, making it minimally adequate.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has 0% description coverage, but the description adds essential context for the sole parameter 'name: The Redis hash key,' clarifying what the name refers to beyond the schema's minimal type definition.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get all fields and values from a Redis hash,' using a specific verb and resource. It distinguishes itself from siblings like hget (single field) and hset (set fields).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage context through its purpose but does not explicitly state when to use this tool versus alternatives (e.g., hget for single fields, scan for large hashes). No when-not-to guidance is provided.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided; description mentions parameters and return value but does not disclose if deletion is destructive, what happens if path doesn't exist, or other side effects. Adequate but not detailed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Very concise, uses clear args section, no redundant words. Efficient for agent understanding.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Covers main purpose and parameters, but lacks details on error handling, preconditions, or specific return messages. Acceptable for a simple tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, but description explains both parameters, including default for path. Adds meaning beyond schema, though basic.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action (delete), resource (JSON value in Redis), and path. It distinguishes from sibling tools like json_get and json_set.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives like 'delete' (whole key), 'hdel', or 'zrem'. The description only implies usage for JSON path deletion.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Without annotations, the description partially covers behavior: it states the return type (list or error). However, it omits edge cases like empty sets, non-existent keys, or non-set keys. The read-only nature is implied but not explicitly stated.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise with two short sections (Args, Returns), no redundant words. It is well-structured and front-loaded, earning its place with no waste.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity and the presence of an output schema, the description is minimally adequate but lacks completeness: it does not mention that the set is unordered, that the key must be a set type, or the behavior for missing keys.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description compensates by explaining the single parameter 'name' as 'The Redis set key', adding semantic meaning beyond the schema's type-only definition. This is sufficient for a simple parameter.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'Get' and the resource 'all members of a Redis set', distinguishing it from siblings like sadd (add) and srem (remove). The purpose is direct and unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like smembers vs. scan_keys for set iteration, or prerequisites like the key must be a set type. The description does not mention exclusions or context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden. It discloses the return format (JSON string) and potential error messages. However, it does not state that the operation is read-only or idempotent, nor does it discuss authorization or side effects beyond the error note.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise: two lines plus a return type annotation. Every sentence is necessary. The key action is front-loaded ('List of indexes'), making it immediately understandable.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the existence of an output schema (mentioned in context), the description need not detail return values further. It already mentions the format. The tool is simple with no parameters, so the description covers the necessary information. A slightly higher score would require mention of no required arguments, but that is implied by the empty schema.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    There are zero parameters, and the schema coverage is 100%. Per guidelines, baseline is 4 for no parameters. The description adds value by explaining the return type (JSON string), which is not in the input schema, thus compensating for the lack of parameters.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'List of indexes in the Redis database'. The verb 'List' and resource 'indexes' are specific, and the return type is provided. This distinguishes it from siblings like 'get_index_info' which focuses on a single index.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description offers no guidance on when to use this tool versus alternatives. For example, it does not mention that 'get_index_info' provides details for a specific index, nor does it specify any exclusions or prerequisites. Usage context is implied but not explicit.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden. It states 'Get the value' indicating a read operation and mentions returning the field value or error. This is basic but adequate for a simple read; no additional behavioral context (e.g., consistency, locking) is disclosed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise: three lines covering purpose, parameters, and return. Every sentence adds value with no wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity (single field retrieval) and the presence of an output schema (as indicated by context signals), the description provides sufficient context. It mentions the return value and error case, making it complete for this straightforward operation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It explains 'name: The Redis hash key. key: The field name inside the hash.', which adds meaning beyond the schema titles but lacks extra details like data type constraints or examples.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get the value of a field in a Redis hash.' It uses a specific verb and resource, distinguishing it from siblings like 'hgetall' (gets all fields) and 'get' (gets a string key).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage for a single field but does not provide explicit guidance on when to use this tool versus alternatives like 'hgetall' or when not to use it. No exclusion criteria or context is given.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the burden of disclosing behavioral traits. The description mentions that the tool returns a dictionary or error message, but does not address side effects, permissions, rate limits, or other behavioral characteristics.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is very concise, consisting of three short sentences. The main purpose is front-loaded, and every sentence adds value without extraneous words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has only one parameter and no output schema or nested objects, the description covers the essential aspects: purpose, parameter usage, and return type. It is fairly complete for a simple info command.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 0% description coverage, but the tool description explains the 'section' parameter, listing examples like default, memory, cpu. This adds meaningful information beyond the schema, though not exhaustive.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get Redis server information and statistics,' providing a specific verb and resource. It effectively distinguishes the tool from sibling tools, which are other Redis commands like get, set, etc., by focusing on server-level stats.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage for retrieving server info but does not explicitly guide when to use this tool over siblings, nor does it mention prerequisites or when not to use it. Usage is implied but lacks explicit direction.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Since no annotations are provided, the description carries full burden. It states it returns 'a list of matched documents or an error message' but does not disclose side effects, performance characteristics, or confirm read-only nature. The operation is inherently a search, but transparency is adequate but not comprehensive.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise: a one-sentence summary followed by a structured Args list and Returns. It is front-loaded with the core purpose, and every sentence adds value without redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity of KNN search and the presence of an output schema (as per context signals), the description provides essential details: version requirement, defaults, and parameter explanations. It could mention ordering or error specifics, but the output schema likely covers return format.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description compensates well by explaining each parameter: query_vector as 'List of floats', defaults for index_name, vector_field, k, and return_fields. It adds domain context like 'KNN' and 'Redis 8', going beyond schema definitions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Perform a KNN vector similarity search using Redis 8 or later version on vectors stored in hash data structures.' It specifies the verb (perform), resource (vectors in hash), and distinguishes from sibling tools like create_vector_index_hash and set_vector_in_hash.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description lacks guidance on when to use this tool versus alternatives. It mentions a version requirement but does not explain when KNN search is appropriate or how it differs from other search/retrieval tools. No exclusions or alternatives are suggested.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries full burden; it states a read operation but does not mention that it returns an integer or that it is non-blocking. However, the output schema likely covers this.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single sentence, no wasted words; perfectly concise for the tool's simplicity.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given zero parameters and an existing output schema, the description is nearly complete; it could note that it operates on the current database, but not essential.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    No parameters exist, so baseline 4 applies; the schema coverage is 100% and description adds no additional meaning beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Get') and resource ('number of keys stored in the Redis database'), clearly distinguishing it from sibling tools that operate on keys or other aspects.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool vs alternatives; the simplicity implies it should be used when only the total key count is needed, but no exclusions are provided.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description must shoulder the burden. It mentions the retrieval, conversion from binary blob, and error returns, but omits important behaviors like what happens if the key does not exist or if the field is missing. The transparency is adequate but not thorough.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise, with clear sections for Args and Returns. Every sentence serves a purpose: stating the main action, explaining parameters, and describing the return value. No unnecessary information is present.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simplicity of the tool (2 parameters, no output schema), the description covers the main aspects: retrieval, conversion, parameter explanations, and return value. Minor gaps exist (e.g., no mention of key existence requirements), but overall it is sufficient for a basic retrieval tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has no parameter descriptions (0% coverage), so the description compensates by explaining the meaning of 'name' (Redis hash key) and 'vector_field' (field name with default usage guidance). This adds significant value beyond the schema's type and default, earning a high score.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Retrieve a vector') and the resource ('from a Redis hash and convert it back from binary blob'). The sibling tool 'set_vector_in_hash' is the opposite operation, making the purpose distinct. The verb and resource are specific, earning a top score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description lacks explicit guidance on when to use this tool versus alternatives. While the sibling 'set_vector_in_hash' implies this is the read counterpart, no direct comparison or exclusion criteria are provided. The default field name is noted, but no context for choosing different fields is given.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Despite no annotations, the description discloses return values (True/False) and is adequate for a simple read-only operation. It does not mention side effects (none expected) or performance characteristics.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Very concise, two sentences plus structured Args/Returns. Front-loaded with the main action. No unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple tool with only two parameters and an output schema, the description covers purpose, arguments, and return value. Could mention behavior for non-existent hash (returns False) but is otherwise complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description compensates by explaining 'name: The Redis hash key' and 'key: The field name inside the hash,' adding meaning beyond the schema's generic 'Name' and 'Key' labels.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states 'Check if a field exists in a Redis hash.' The verb 'check' and resource 'field in a Redis hash' are specific, distinguishing it from sibling tools like hget, hset, hdel, and hgetall.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool vs alternatives such as hget. Does not mention that it is more efficient for existence checks compared to fetching the value.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided, so description carries the burden. It states the function returns members or an error, but does not mention that the operation is read-only or disclose any performance characteristics.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise, using a clear Python docstring format with Args and Returns sections. Each sentence is informative and there is no extraneous content.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has 4 parameters, no annotations, no nested objects, and an output schema, the description covers parameters and return value adequately. However, it could explicitly state that start and end are inclusive indices for completeness.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, meaning the description provides all parameter information. It adds meaning by explaining each parameter's role (e.g., 'with_scores (bool, optional): Whether to include scores'), going beyond the schema's type and default.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Retrieve a range of members from a Redis sorted set,' using a specific verb and resource. This distinguishes it from sibling tools like lrange (for lists) and other z* commands.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives like lrange or zrangebyrank. The description does not mention when not to use it or provide context for choosing with_scores.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations, so description carries burden. It explains action and return type. Could mention overwriting behavior or creation of hash, but adequate for simple operation.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single concise sentence plus clear arg list and return note. No fluff, well-structured.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Output schema exists so return not needed. Covers main functionality; could add details on overwrite/create behavior but sufficient for typical use.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Adds meaning beyond schema titles: explains 'name' as hash key, 'key' as field, 'value' value, and 'expire_seconds' as optional time. Compensates for 0% schema coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clearly states the action: 'Set a field in a hash stored at key' with optional expiration. Distinguishes from siblings like hget, hdel, etc.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides basic context but lacks explicit when-to-use vs alternatives or when to include expire_seconds. Implied usage is clear but no exclusions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description discloses that the return value is a string and that 'none' is returned when the key doesn't exist, which is a key behavioral trait. Without annotations, the description carries the transparency burden and adequately conveys it is a read-only operation. It does not explicitly state 'no side effects,' but the nature implies it.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise: one sentence of purpose, followed by an Args and Returns section. Every sentence is necessary, and the structure (docstring-like) is clear and front-loaded with the key information. No waste.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity (one parameter, no nested objects), the description fully covers its purpose, input, and output. The existence of an output schema is noted, but the description already states the return type and the special 'none' case. There is no missing information to use this tool correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 0% description coverage (only title and type). The description compensates by explaining that 'key' is the key to check, providing semantic meaning beyond the schema's minimal definition. It also indicates the return type and the 'none' case, adding value for parameter understanding.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool returns the string representation of the type of the value stored at a key. It uses a specific verb ('Returns') and identifies the resource ('type of the value at key'). Among sibling tools like 'get' (returns value) or 'exists' (checks existence), 'type' is distinct and the description makes its purpose unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description states what the tool does but provides no explicit guidance on when to use it versus alternatives or when not to use it. While the purpose is clear, it lacks usage context like 'Use this to check the type of a key before performing type-specific operations.' The absence of when-not conditions or alternative mentions is a gap.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided, so description carries full burden. It explains automatic cursor iteration, in-memory collection, memory warning, and return type. However, it does not explicitly state the tool is read-only (non-destructive), which would be ideal for full transparency.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise without fluff, front-loaded with main purpose, and includes a warning block for emphasis. Every sentence adds value.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a potentially memory-intensive tool, description covers operation, memory warning, alternatives, parameters, and return type. Minor gap: does not specify error conditions beyond 'error message'.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, but description adds meaning by explaining pattern is for matching keys and batch_size controls iteration count. However, it does not provide constraints, examples, or format details beyond defaults.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'Scan and return' and the resource 'ALL keys matching a pattern', distinguishing it from sibling 'scan_keys' which requires manual iteration. It also notes it's safer than KEYS * for large databases.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly states when to use (safer than KEYS *) and when not to use (very large datasets with memory concerns), and suggests an alternative: scan_keys() with manual iteration.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided, but description explains non-blocking nature, partial results, count hint variability, and iterative pattern. Discloses no destructive behavior.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Description is long but well-structured with sections, warning, example, and clear explanations. Could be slightly more concise but appropriate for complexity.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Fully explains iterative usage, return structure, and distinguishes from sibling scan_all_keys. Output schema details are included in text.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so description fully explains each parameter: pattern with common patterns, count as hint, cursor for iteration. Adds defaults and usage context.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states tool scans keys using SCAN command, non-blocking and production-safe. It distinguishes from sibling scan_all_keys by emphasizing partial results and iterative usage.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly says to use scan_all_keys for full results, or call multiple times with cursor. Provides complete example of first, second, final calls.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mcp-redis MCP server

Copy to your README.md:

Score Badge

mcp-redis MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yuchenhui/mcp-redis'

If you have feedback or need assistance with the MCP directory API, please join our Discord server