Skip to main content
Glama
Dmitriusan

mcp-redis-diagnostics

by Dmitriusan

npm version License: MIT

MCP Redis Diagnostics

MCP server for Redis diagnostics — analyze memory usage, slowlog, client connections, and keyspace health with AI-powered recommendations.

Why This Tool?

Most Redis MCP servers are CRUD wrappers (get/set keys). RedisNexus offers diagnostics but targets enterprises (K8s, multi-tenant SaaS). This tool is the only lightweight npm package for deep Redis diagnostics — 7 tools covering memory fragmentation, slowlog patterns, client connection health, keyspace distribution, latency analysis, and configuration auditing. Install with npx, no Docker or SaaS required.

Related MCP server: mcp-redis-server

Pro Tier

Generate exportable diagnostic reports (HTML + PDF) with a Pro license key.

  • Full JVM thread dump analysis report with actionable recommendations

  • PDF export for sharing with your team

  • Priority support

$9.00/monthGet Pro License

Pro license key activates the generate_report MCP tool in mcp-jvm-diagnostics.

Tools (7)

analyze_memory

Analyze Redis memory usage and fragmentation.

Detects:

  • High memory fragmentation (>1.5x RSS/used ratio)

  • Swap risk (fragmentation <1.0)

  • Maxmemory pressure (approaching limit)

  • Eviction patterns

  • Missing maxmemory configuration

  • Unsafe noeviction policy

analyze_slowlog

Analyze Redis SLOWLOG for slow commands.

Parameters:

  • count (number, default: 128) — Number of slowlog entries to retrieve

Detects:

  • Dangerous O(N) commands: KEYS, SMEMBERS, HGETALL, SORT

  • High latency commands (>10ms, >100ms thresholds)

  • Command concentration patterns

  • Full slowlog buffer (missing history)

analyze_clients

Analyze Redis client connections.

Detects:

  • Blocked clients (BLPOP/BRPOP)

  • Connection pool saturation (>80% maxclients)

  • Idle connections (>5 minutes)

  • Large output buffer memory

  • Pub/sub subscriber patterns

analyze_keyspace

Analyze Redis keyspace distribution and cache effectiveness.

Detects:

  • Low TTL coverage (<20% of keys)

  • Low cache hit rate (<80%)

  • Unbalanced database distribution

  • High expiry/eviction rates

  • Multiple database anti-pattern

analyze_latency

Analyze Redis latency events from the LATENCY subsystem.

Detects:

  • Fork latency spikes (RDB/AOF background save blocking operations)

  • AOF fsync delays and write latency

  • Slow command processing (O(1) commands unexpectedly slow)

  • Eviction and key expiry cycle delays

  • Active defragmentation impact

  • Increasing latency trends over time

Requires latency-monitor-threshold to be set in redis.conf (e.g., CONFIG SET latency-monitor-threshold 100).

analyze_config

Analyze Redis configuration for security and reliability risks.

Detects:

  • No maxmemory limit (unbounded memory growth, OOM risk)

  • Unsafe eviction policy (noeviction causing errors at memory limit)

  • Network exposure (bind 0.0.0.0 without protected-mode)

  • Missing authentication (no requirepass)

  • Disabled persistence (both AOF and RDB off — data loss on restart)

  • Idle connection accumulation (timeout 0)

  • Disabled TCP keepalive (dead connections undetected)

  • Low server frequency (hz < 10 slowing background tasks)

analyze_performance

Comprehensive health assessment — runs all analyzers and produces a unified report.

Parameters:

  • slowlog_count (number, default: 128) — Number of slowlog entries

Installation

npm install -g mcp-redis-diagnostics

Or run directly:

npx mcp-redis-diagnostics

Configuration

Environment Variables

Variable

Description

Default

REDIS_URL

Redis connection string

redis://localhost:6379

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "redis-diagnostics": {
      "command": "npx",
      "args": ["-y", "mcp-redis-diagnostics"],
      "env": {
        "REDIS_URL": "redis://localhost:6379"
      }
    }
  }
}

Redis with password:

{
  "env": {
    "REDIS_URL": "redis://:yourpassword@localhost:6379"
  }
}

Quick Demo

Once configured, try these prompts in Claude:

  1. "Analyze my Redis memory usage — is there fragmentation?" — Shows used vs max memory, fragmentation ratio, eviction policy, and memory pressure issues

  2. "Check the Redis slowlog for dangerous commands" — Identifies O(N) commands like KEYS/SMEMBERS, high-latency patterns, and optimization suggestions

  3. "Run a complete Redis health check" — Unified report combining memory, slowlog, clients, keyspace, and latency analysis

"What's my cache hit rate? Are my TTLs configured properly?"

"Give me a full Redis health check"

Part of the MCP Java Backend Suite

This tool is part of a suite of MCP servers for backend developers:

  • mcp-db-analyzer — PostgreSQL/MySQL/SQLite schema analysis

  • mcp-jvm-diagnostics — Thread dump and GC log analysis

  • mcp-migration-advisor — Flyway/Liquibase migration risk analysis

  • mcp-spring-boot-actuator — Spring Boot health and metrics analysis

  • mcp-redis-diagnostics — Redis memory, slowlog, and client diagnostics

Limitations & Known Issues

  • Single Redis instance: Analyzes one Redis instance at a time. Does not support Redis Cluster topology discovery or Sentinel failover analysis.

  • ACL restrictions: Some tools require specific Redis commands (SLOWLOG, CLIENT LIST, LATENCY). Redis ACLs may block these. The analyze_performance unified tool handles partial failures gracefully.

  • Latency monitoring: The analyze_latency tool requires latency-monitor-threshold to be set in redis.conf. Without it, no latency events are captured.

  • Key-level analysis: Keyspace analysis uses INFO keyspace aggregates. Individual key inspection (e.g., finding the largest keys) requires MEMORY USAGE per key, which is not performed to avoid impacting production.

  • Redis Cluster: No cluster-specific analysis (slot distribution, rebalancing, cross-node latency). Works against individual nodes only.

  • Redis Modules: Module-specific commands and data types (RedisJSON, RediSearch, RedisTimeSeries) are not analyzed.

  • Memory advisor: Memory recommendations are based on INFO memory stats. For detailed memory breakdown by key type, use redis-cli --bigkeys externally.

  • Fragmentation ratio: Memory fragmentation uses RSS vs. used memory ratio, which can be distorted by jemalloc. Values <1.0 may not always indicate swapping.

  • Read-only: All commands are read-only (INFO, SLOWLOG GET, CLIENT LIST, LATENCY). No data or configuration is modified.

License

MIT


End-of-life: 2026-05-10.

This MCP server is no longer maintained or distributed. The Corporation has pivoted to Apify marketplace actors. See irrationalways on Apify and irrcorp/bzp-poland-tenders for current Corporation work.

The npm package has been unpublished. The repository is archived for historical reference only.

Available Tools

8 tools
analyze_clientsA

Analyze Redis client connections. Detects blocked clients, connection pool saturation, large output buffers, and pub/sub subscriber concentration. Idle connection count excludes replica (S flag) and pub/sub subscriber (P flag) connections, which are expected to be persistent — this prevents false positives when the target Redis instance has replicas or pub/sub consumers attached.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/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 discloses an important behavioral nuance: idle connection counts exclude replica (S flag) and pub/sub (P flag) connections to avoid false positives. This goes beyond a simple 'analyzes connections' statement.

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 three sentences, front-loaded with the primary purpose, then lists detection targets, and explains a key heuristic. Every sentence provides valuable information without repetition or fluff.

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 parameterless analysis tool with no annotations or output schema, the description covers the core behavior and a critical filtering logic. However, it does not specify the return format or how results are presented, which would be useful for a fully complete description.

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 tool has zero parameters, so the schema provides complete coverage. Per the rubric, 0 params baseline is 4. The description adds no parameter information because none exist.

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 analyzes Redis client connections and lists specific detection targets (blocked clients, connection pool saturation, large output buffers, pub/sub subscriber concentration). This distinguishes it from sibling analysis tools that focus on memory, slowlog, etc.

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

Usage Guidelines4/5

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

The context is clear: use this tool when investigating Redis client connections or related issues. It does not explicitly mention alternatives or exclusions, but the specialized purpose is evident from the description and sibling tool names.

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

analyze_configA

Analyze Redis configuration for security and reliability risks. Flags: no maxmemory limit, unsafe eviction policy (noeviction with maxmemory set), network exposure (bind 0.0.0.0 without authentication), no requirepass, disabled persistence (both AOF and RDB off), idle connection timeout not set, TCP keepalive disabled, server frequency (hz) too low, and latency-monitor-threshold disabled (which silences the analyze_latency tool).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It enumerates the specific risks it flags, providing substantial transparency about what the tool checks. It also discloses a cross-tool behavioral effect (silencing analyze_latency), which is valuable. However, it does not mention return format or whether it makes changes, though the 'analyze' verb implies read-only.

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, dense sentence that front-loads the main purpose and then lists specific flags. While it is somewhat long and lists many items, it is still compact and contains no filler. The structure could be improved by splitting the list, but it remains easily scannable.

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 has no parameters and no output schema, the description is remarkably complete. It details all the major risk checks, including maxmemory, eviction policy, network exposure, authentication, persistence, connection timeouts, keepalive, hz, and latency monitoring. It also explains a cross-tool dependency, making it highly informative for an agent deciding to invoke this 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 tool has zero parameters, and the baseline for 0 parameters is 4. The schema is empty, and the description adds meaning by clarifying the scope of analysis (configuration-specific checks) without needing to explain parameters. The description effectively communicates what is analyzed, making the absence of parameters self-evident.

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 analyzes Redis configuration for security and reliability risks, with a specific list of flags. It distinguishes itself from sibling analyze_* tools by focusing on configuration rather than runtime metrics, making 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 implies the tool is used when checking Redis configuration, but does not explicitly state when to use it over alternatives. It does add a useful cross-tool note that disabling latency-monitor-threshold silences the analyze_latency tool, which hints at when to correlate tools, but lacks explicit usage guidance.

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

analyze_keyspaceA

Analyze Redis keyspace distribution. Checks TTL coverage, cache hit/miss rates, database distribution balance, and expiry patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden of conveying safety and side effects. 'Analyze' and 'Checks' imply a read-only operation, but the description does not disclose output format, sampling behavior, or potential operational impact, making the transparency only partially adequate.

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 two sentences with no filler. It front-loads the purpose and follows with specific checks, ensuring every word 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 zero-parameter, no-output-schema tool, the description lists the major analysis areas, which gives a good sense of what the tool covers. However, it does not describe the return format, which would be helpful given the lack of an output schema, so it is 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 tool has zero parameters, so the baseline of 4 applies. The description does not need to add parameter semantics, and the schema fully covers the empty parameter set.

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 opens with a specific verb+resource ('Analyze Redis keyspace distribution') and enumerates concrete checks (TTL coverage, cache hit/miss rates, database distribution, expiry patterns). This clearly distinguishes it from sibling analysis tools like analyze_memory or analyze_slowlog.

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

Usage Guidelines4/5

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

The first sentence provides clear context that this tool is for keyspace analysis, differentiating it from siblings. However, it does not explicitly state when to prefer this tool over alternatives or mention any exclusions, so it stops short of full guidance.

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

analyze_latencyA

Analyze Redis latency events. Detects fork latency spikes (RDB/AOF), AOF fsync delays, slow command processing, eviction/expiry cycle delays, and active defragmentation impact. Requires latency-monitor-threshold to be set.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
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 what the analysis detects and the required configuration, which is valuable context. However, it does not state whether the operation is read-only, what commands are run, or what the return value looks like, leaving some behavioral aspects unclear.

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 two sentences, front-loaded with the primary purpose and followed by a concise list of detected latency categories and the prerequisite. Every sentence adds meaningful information with no redundancy or filler.

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, no output schema, and no annotations, the description provides a reasonably complete picture: it names the resource, lists specific detection targets, and states a key prerequisite. It stops short of describing the output format or how the threshold is used, but for a focused analysis tool this is sufficient for an agent to select and invoke it 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 tool has zero parameters, and the schema coverage is effectively 100% (empty schema). The baseline for a zero-parameter tool is 4, and the description adds no param-specific semantics because none are needed. It correctly focuses on behavior rather than parameter 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?

The description clearly states the tool analyzes Redis latency events and enumerates specific latency sources (fork, AOF fsync, slow commands, eviction/expiry, defragmentation). This distinguishes it from sibling analysis tools like analyze_memory and analyze_slowlog. The verb 'Analyze' plus the resource 'Redis latency events' 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 Guidelines4/5

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

The description implies use when investigating latency issues and explicitly states the prerequisite that latency-monitor-threshold must be set. However, it does not explicitly say when not to use it or name alternative tools, though the sibling set suggests differentiation by metric domain.

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

analyze_memoryA

Analyze Redis memory usage. Detects high fragmentation, RSS overhead, maxmemory pressure, eviction issues, and swap risk. Provides actionable recommendations for memory optimization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior2/5

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

No annotations are present, so the description bears full responsibility. It discloses what issues are detected and that recommendations are provided, but omits critical behavioral traits such as whether the analysis is read-only, any permission requirements, or the underlying data source (e.g., INFO). This leaves uncertainty for the agent.

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?

Two concise sentences capture the purpose and expected outcomes without redundancy. The first sentence is action-oriented, and the second enumerates detection targets, making every word valuable.

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 parameterless tool with no output schema, the description adequately covers functionality and output (recommendations). It lacks details on execution context or return format, but this is sufficient for a diagnostic tool in a family of similar analyzers.

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 zero properties, so there are no parameters to explain. The 0-parameter baseline is 4, and the description appropriately focuses on the analysis scope rather than parameter 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?

The description clearly states the tool analyzes Redis memory usage, listing specific issues it detects (fragmentation, RSS overhead, maxmemory pressure, eviction, swap risk). This distinguishes it from sibling analyze_* tools that target other subsystems like slowlog or clients.

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

Usage Guidelines4/5

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

The description implies use when memory-related diagnostics are needed but does not explicitly contrast with sibling alternatives. Given the sibling names (analyze_slowlog, analyze_clients, etc.), the context is clear, but no exclusion or 'when-not-to-use' guidance is provided.

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

analyze_performanceA

Comprehensive Redis health assessment. Runs all analyzers (memory, slowlog, clients, keyspace, latency, replication, config) and produces a unified report with prioritized recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
slowlog_countNoNumber of slowlog entries to retrieve (default: 128)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the burden of behavioral disclosure. It states that it runs all analyzers and produces a report, which implies a read-only health assessment, but it does not explicitly confirm it makes no changes to the Redis instance, nor does it mention any performance overhead or required permissions. This leaves some ambiguity for an agent.

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, well-structured sentence that front-loads the core purpose ('Comprehensive Redis health assessment') and then efficiently lists the included analyzers and the output ('unified report with prioritized recommendations'). 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 tool with one optional parameter and no output schema, the description provides the essential context: scope, included analyzers, and output type. However, it could be more complete by describing the structure of the unified report or noting whether running all analyzers has any significant resource cost, but the current level is adequate for basic selection.

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 single parameter slowlog_count is fully described in the schema with a default value and explanation. The description itself does not mention the parameter or how it affects the comprehensive analysis, but since schema coverage is 100%, the baseline of 3 applies.

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 as a comprehensive Redis health assessment that runs all analyzers and produces a unified report with recommendations. It distinguishes itself from the individual sibling analyzer tools by explicitly naming them and indicating it combines their functionality.

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

Usage Guidelines4/5

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

The description implies this is the go-to tool for an overall health check rather than running individual analyzers separately. However, it does not explicitly state when NOT to use it (e.g., when you only need memory analysis) nor mention alternatives by name, though the sibling list provides that context.

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

analyze_replicationA

Analyze Redis replication health. For masters: reports connected replica count, per-replica state (online/wait_bgsave/send_bulk) and lag in seconds, backlog size adequacy, and partial resync offset history. For replicas: detects broken master link, high I/O lag, and full sync in progress. Works for both master and replica roles.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It openly discloses what the tool reports for masters and replicas, including specific metrics like replica state, lag, and sync status. It does not explicitly state read-only behavior or permission requirements, but the analysis nature makes that implicit.

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 well-structured, opening with a concise purpose statement followed by detailed breakdowns for master and replica roles. Every sentence adds value with no filler or repetition.

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 no parameters and no output schema, the description is remarkably thorough, covering both role-specific behaviors and the exact metrics reported. It does not describe the return format explicitly, but the listed metrics effectively convey what the output will include.

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, so the baseline is 4. The description does not need to explain parameter meanings since none exist, and it adds no redundant parameter 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?

The description uses a specific verb ('Analyze') and identifies a clear resource ('Redis replication health'). It distinguishes itself from sibling tools by narrowing scope to replication specifically, covering both master and replica roles.

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

Usage Guidelines4/5

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

The description provides clear context on when to use the tool (for analyzing replication health on either masters or replicas). It does not explicitly name alternatives or exclusions, but the role-specific detail implies appropriate scenarios.

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

analyze_slowlogA

Analyze Redis SLOWLOG to find slow commands. Detects dangerous O(N) commands (KEYS, SMEMBERS, HGETALL, LRANGE, SORT, FLUSHDB, FLUSHALL), identifies latency hotspots, and recommends safer alternatives (SCAN, SSCAN, HSCAN, bounded ranges, sorted sets).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of slowlog entries to retrieve (default: 128)

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It uses read-oriented verbs ('Analyze', 'Detects', 'identifies', 'recommends') making it clear this is an analysis/read operation. However, it does not explicitly state 'read-only' or mention potential side effects (e.g., whether SLOWLOG is cleared), but the intent is reasonably transparent.

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 two sentences, front-loaded with the primary purpose, and each clause adds value (what it does, what it detects, what it recommends). No redundancy or filler.

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?

The tool has one optional parameter and no output schema. The description explains the core functionality thoroughly and hints at the output (detected commands, hotspots, recommendations). It is complete enough for an agent to understand the tool's purpose and when to invoke it, though a brief note on output format or typical use cases would make it even more 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?

There is only one parameter (count) with 100% schema description coverage. The schema already fully explains the parameter, and the tool description does not add additional meaning or context beyond what is in the schema. Baseline 3 is appropriate when schema covers parameters well.

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 and resource: 'Analyze Redis SLOWLOG to find slow commands.' It clearly distinguishes this from sibling tools by focusing specifically on SLOWLOG and dangerous O(N) commands, while also mentioning detection and recommendations.

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 ('to find slow commands') but does not explicitly say when to use this tool versus alternatives like analyze_latency or analyze_performance. It provides clear context but no exclusions or direct comparison to sibling tools.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv0.1.14
    • First observedanalyze_clients
    • First observedanalyze_config
    • First observedanalyze_keyspace
    • First observedanalyze_latency
    • First observedanalyze_memory
    • First observedanalyze_performance
    • First observedanalyze_replication
    • First observedanalyze_slowlog

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct Redis diagnostic subsystem (memory, slowlog, clients, keyspace, latency, config, replication), with no overlap. The aggregate tool analyze_performance explicitly combines the others, removing any ambiguity about which to call.

Naming Consistency5/5

All tools follow the same verb_noun pattern using the prefix 'analyze_' followed by a clear domain noun (e.g., memory, slowlog, clients). This uniform convention makes the tool names predictable and easy to distinguish.

Tool Count5/5

Eight tools is well-scoped for a Redis diagnostics server, covering the essential health-check areas without redundancy or bloat. Each tool earns its place, and the aggregate adds value without muddying the scope.

Completeness5/5

The tool set comprehensively covers the major Redis diagnostic dimensions: memory, slowlog, clients, keyspace, latency, config, and replication, plus an integrated report. There are no obvious gaps for a diagnostics-focused server; the config analyzer even addresses the prerequisite for latency monitoring.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/Dmitriusan/mcp-redis-diagnostics'

If you have feedback or need assistance with the MCP directory API, please join our Discord server