Skip to main content
Glama
mcp-elasticache-ops

mcp-elasticache-ops

by ritojoao

Node Memory

node_memory
Read-onlyIdempotent

Diagnose Redis/Valkey memory pressure by breaking down used, RSS, peak, dataset and overhead, then checking maxmemory policy, fragmentation, evictions and MEMORY DOCTOR.

Instructions

Memory breakdown: used/RSS/peak/dataset/overhead, maxmemory and policy, fragmentation ratio with a verdict, evictions, MEMORY STATS and MEMORY DOCTOR when the engine allows them.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "node_memory"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds genuine context beyond that: MEMORY STATS and MEMORY DOCTOR are conditional ('when the engine allows them'), warning the agent that sections may be absent. It omits any note on cost or blocking behavior of those subcommands, which keeps it from a 5.

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?

A single front-loaded sentence that opens with the capstone concept ('Memory breakdown') then lists contents, with no filler. It is dense and fragment-like with Redis jargon (RSS, dataset) but nothing is extraneous.

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?

An output schema exists, so return values need no elaboration; the description still summarizes them usefully. The conditional-section caveat covers the main variability in results. What remains missing is the absence of any sibling routing, which matters given several adjacent memory-related tools.

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 takes zero parameters, so the baseline is 4. The schema is empty with additionalProperties false, and nothing in the description is needed to clarify invocation.

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

Purpose4/5

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

The description names a specific resource and enumerates the exact contents: used/RSS/peak/dataset/overhead, maxmemory and policy, fragmentation ratio, evictions, MEMORY STATS and MEMORY DOCTOR. An agent knows precisely what this returns. It stops short of distinguishing itself from the sibling node_cluster_memory, so it lands at 4 rather than 5.

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?

There is no explicit when-to-use statement, no prerequisite, and no routing to alternatives such as node_cluster_memory for cluster-wide aggregates or node_doctor for a broader diagnosis. Usage is only implied by the metric list, leaving the agent to infer the scenario.

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