Skip to main content
Glama
antonio-mello-ai

mcp-redis-monitor

mcp-redis-monitor

FastMCP server providing read-only tools to monitor Redis instances.

Install

# Run directly with uvx (no install needed)
uvx mcp-redis-monitor

# Or install with pip
pip install mcp-redis-monitor

Related MCP server: Vigil

Environment Variables

Variable

Default

Description

REDIS_MONITOR_HOST

localhost

Redis host

REDIS_MONITOR_PORT

6379

Redis port

REDIS_MONITOR_PASSWORD

(none)

Redis password (optional)

Tools

Tool

Description

get_queue_depths

Keys + length by type in a specific DB (default: 3)

get_celery_queue_status

Celery queue names, pending count, oldest task

get_connected_clients

Number of connected clients

get_server_info

Memory, uptime, keyspace stats

get_key_count_by_db

Keys per database (overview)

Usage

mcp-redis-monitor

Or add to your MCP client configuration:

{
  "mcpServers": {
    "redis-monitor": {
      "command": "mcp-redis-monitor"
    }
  }
}

Development

ruff check src/ tests/
ruff format src/ tests/
pytest

License

MIT

Available Tools

5 tools
get_celery_queue_statusA

Get Celery queue names, pending task count, and oldest task age.

Scans DB 0 for Celery list-based queues (convention: keys without ':' prefix that are lists).

Returns: JSON with queue names, pending counts, and oldest task info.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that it scans Redis DB 0 and looks for list keys without ':' prefix, which provides useful behavioral insight. However, it could mention that it is a read-only operation with no 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?

Description is concise with 4 lines of structured text, but the technical detail about key conventions could be slightly more streamlined. Still, 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 no parameters and an existing output schema, the description covers the main function and scanning approach. It lacks discussion of potential performance impact or safe usage, but is sufficient for a simple read 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?

No parameters exist, so the baseline is 4. The description adds no param info but none is needed.

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 it retrieves Celery queue names, pending task count, and oldest task age, using a specific scanning method. This distinguishes it from siblings like 'get_queue_depths' which likely deals with different queue systems.

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 such as 'get_queue_depths' or 'get_connected_clients'. Usage context is implied only through the tool name and description.

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

get_connected_clientsA

Get the number of currently connected Redis clients.

Returns: JSON with connected_clients count.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

Describes return format (JSON with connected_clients count) but doesn't disclose potential side effects, permissions, or limitations; adequate given read-only nature.

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 sentences, front-loaded with purpose, 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 no parameters and an output schema, the description adequately explains return value; slight lack of context about 'connected_clients' meaning, but acceptable.

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?

Zero parameters, so baseline is 4; description adds meaning beyond empty schema by explaining what the tool returns.

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 it gets the number of currently connected Redis clients, distinguishing it from siblings that deal with queues, key counts, or server 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 on when to use this tool versus alternatives; simply states what it does without context or exclusions.

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

get_key_count_by_dbA

Get the number of keys in each Redis database (overview).

Returns: JSON mapping database names to their key count.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, and the description only states the return format. It does not disclose whether the operation is read-only, costly, or has any side effects. The agent gets minimal behavioral context beyond the output structure.

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 sentences, no filler. The first sentence states the action, the second describes the output. Every word earns its place.

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 zero parameters and an output schema, the description is adequate but minimal. It could mention edge cases (e.g., no databases) or performance implications. Current level is sufficient for a simple stat tool but not rich.

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?

Zero parameters, so baseline per instructions. Schema coverage is 100% and description adds no parameter details, but none are needed.

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 tool counts keys per Redis database ('Get the number of keys in each Redis database'), with a specific verb and resource. It distinguishes from sibling tools like get_connected_clients or get_server_info by focusing on key counts per database.

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., get_server_info for server details). The description does not mention use cases, prerequisites, 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.

get_queue_depthsB

Get keys and their length by type in a specific Redis DB.

Args: db: Redis database number (default: 3).

Returns: JSON with key names, types, and sizes.

ParametersJSON Schema
NameRequiredDescriptionDefault
dbNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It states the tool returns key names, types, and sizes, but does not disclose read-only nature, performance implications, or any destructive potential. Lacks warnings about large databases or timeouts.

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 with two sentences for the main purpose, plus separate Args and Returns sections. However, the Args section could be more formatted; it currently reads as prose. Still, no wasted words.

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?

Tool has only one optional parameter and an output schema exists (not shown). The description notes JSON output with key names, types, and sizes, which is sufficient for a simple query. However, it lacks edge case handling or notes on performance, which would improve completeness.

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?

Input schema has only one parameter 'db' with default 3 but no description. The description explains it as 'Redis database number (default: 3)', adding meaning beyond the schema's type and default. This adequately defines the parameter's purpose.

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 tool retrieves keys and their length by type in a Redis DB. It uses a specific verb 'Get' and specific resource 'keys and their length by type', and is distinct from siblings like get_celery_queue_status or get_key_count_by_db.

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, no mention of prerequisites or context in which it is appropriate. The description is minimal and does not help the agent decide between siblings.

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

get_server_infoA

Get Redis server info: memory usage, uptime, and keyspace stats.

Returns: JSON with memory, uptime, and keyspace data.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It minimally describes the tool as read-only returning JSON with specified fields, but lacks details on permissions, caching, or side effects. 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?

Extremely concise: two sentences, front-loaded with purpose, no wasted words. Appropriate for a simple tool.

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 low-complexity tool with no parameters and an output schema, the description covers the main return fields (memory, uptime, keyspace). Could mention that it is Redis-specific, but the name implies it. Generally 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?

No parameters exist, so baseline is 4. Description does not need to add param info.

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 it retrieves Redis server info, listing specific categories (memory usage, uptime, keyspace stats). It distinguishes from siblings like 'get_connected_clients' and 'get_celery_queue_status' which target different aspects.

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. The description does not mention when not to use it or provide context for selection among siblings.

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.

  1. 5 tool updatesv0.1.0
    • First observedget_celery_queue_status
    • First observedget_connected_clients
    • First observedget_key_count_by_db
    • First observedget_queue_depths
    • First observedget_server_info

TDQS

A4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct monitoring aspect: Celery queues, connected clients, key counts by database, queue depths in a specific DB, and server info. No overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent 'get_' prefix with descriptive snake_case nouns (e.g., get_celery_queue_status, get_connected_clients).

Tool Count5/5

Five tools is well-scoped for a Redis monitor, covering key monitoring areas without being too few or excessive.

Completeness4/5

Covers essential monitoring: server info, clients, key counts, and queue depths. Minor gaps like slowlog or replication are acceptable for a focused utility.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

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

  • A
    license
    A
    quality
    F
    maintenance
    A lightweight npm MCP server for deep Redis diagnostics, offering tools for memory, slowlog, clients, keyspace, latency, and config analysis with AI-powered recommendations.
    8
    31
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCPWatch: observability for MCP servers. One line instruments any Python MCP server (FastMCP and the low-level Server) and tracks per-tool latency (p50/p95/p99), error rates, silent failures (empty/null returns and isError), and call volume. REST API, CLI, and alert hooks. MIT, no config required.
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Read-only Redis MCP server with a configurable command allowlist for safe production diagnostics, enabling exact read-only subcommands like CLIENT LIST and SLOWLOG GET.
    5
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that lets an agent inspect and operate Redis-backed job queues, supporting Asynq and BullMQ backends with per-state counts, job details, and state transitions.
    6
    24
    MIT