mcp-redis-diagnostics
Analyze Redis memory usage, slowlog, client connections, keyspace distribution, latency, configuration, and overall performance with AI-powered recommendations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-redis-diagnosticsAnalyze my Redis memory usage"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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/month — Get 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-thresholdto 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-diagnosticsOr run directly:
npx mcp-redis-diagnosticsConfiguration
Environment Variables
Variable | Description | Default |
| Redis connection string |
|
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:
"Analyze my Redis memory usage — is there fragmentation?" — Shows used vs max memory, fragmentation ratio, eviction policy, and memory pressure issues
"Check the Redis slowlog for dangerous commands" — Identifies O(N) commands like KEYS/SMEMBERS, high-latency patterns, and optimization suggestions
"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_performanceunified tool handles partial failures gracefully.Latency monitoring: The
analyze_latencytool requireslatency-monitor-thresholdto be set in redis.conf. Without it, no latency events are captured.Key-level analysis: Keyspace analysis uses
INFO keyspaceaggregates. Individual key inspection (e.g., finding the largest keys) requiresMEMORY USAGEper 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 memorystats. For detailed memory breakdown by key type, useredis-cli --bigkeysexternally.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 toolsanalyze_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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slowlog_count | No | Number of slowlog entries to retrieve (default: 128) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of slowlog entries to retrieve (default: 128) |
TDQS
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.
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.
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.
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.
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.
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.
8 tool updates
v0.1.14- First observed
analyze_clients - First observed
analyze_config - First observed
analyze_keyspace - First observed
analyze_latency - First observed
analyze_memory - First observed
analyze_performance - First observed
analyze_replication - First observed
analyze_slowlog
TDQS
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.
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.
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.
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
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
- mttrlyOAuthcom.mttrly
AI-powered incident management and server monitoring via MCP.
Cloud-hosted MCP server for durable AI memory
MCP server for building and testing AI agents with multi-model experimentation and insights.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Related MCP Servers
AlicenseBqualityBmaintenanceThe official Redis MCP Server is a natural language interface designed for agentic applications to efficiently manage and search data in Redis.53608MIT- AlicenseBqualityCmaintenanceMCP server that exposes Redis API to AI models44MIT
- FlicenseAqualityDmaintenanceAI-powered MCP server for enterprise OpenShift/Kubernetes cluster management, providing diagnostic tools, RAG knowledge retrieval, and autonomous remediation recommendations.9-
- FlicenseCqualityCmaintenanceA Model Context Protocol (MCP) server for Redis. Connect to any Redis instance and execute queries through AI assistants.30-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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