Skip to main content
Glama
codemonkyu

EBS CloudWatch Metrics MCP

by codemonkyu

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes focused on different aspects of EBS monitoring (IOPS, throughput, advanced metrics, specific metrics, snapshot size, metric listing, snapshot listing). However, there is some overlap between calculate_iops, calculate_throughput, and get_advanced_metrics, as advanced metrics likely includes IOPS and throughput calculations, which could cause confusion about which tool to use for comprehensive analysis.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., calculate_iops, get_ebs_metric, list_volume_snapshots). The naming is uniform and predictable, making it easy for an agent to understand the action and target resource for each tool.

    Tool Count5/5

    With 7 tools, the server is well-scoped for EBS CloudWatch metrics monitoring. This count covers key operations like calculations, metric retrieval, snapshot management, and listing, without being overly complex or too sparse for the domain.

    Completeness4/5

    The tool set provides good coverage for EBS metrics and snapshots, including calculations, specific metric queries, and listing functions. A minor gap is the lack of tools for creating, updating, or deleting resources (e.g., snapshots or volumes), but this is reasonable if the server's purpose is focused on monitoring rather than management.

  • Average 3.5/5 across 7 of 7 tools scored.

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

  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states the tool returns information like size, status, etc., but doesn't disclose behavioral traits such as whether it's read-only (implied by '조회합니다' - retrieve), potential errors, rate limits, authentication needs, or what happens if the snapshot doesn't exist. This leaves significant gaps for a tool with no annotation coverage.

    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 appropriately sized and front-loaded: the first sentence states the purpose, followed by details on return values and parameters. It avoids unnecessary fluff, though the parameter explanations could be slightly more integrated into the flow rather than in a separate 'Args' section.

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

    Completeness3/5

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

    Given the tool has an output schema (which should cover return values), no annotations, and low schema coverage (0%), the description is moderately complete. It explains the purpose and parameters but lacks behavioral context (e.g., error handling, side effects) and usage guidelines, making it adequate but with clear gaps for a read operation 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 description adds meaningful context beyond the input schema. It explains that 'snapshot_id' is an EBS snapshot ID with an example format ('snap-1234567890abcdef0') and clarifies that 'region' is optional and refers to an AWS region. With 0% schema description coverage, this compensates well, though it doesn't detail all possible return fields beyond the listed examples.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'EBS 스냅샷의 크기를 조회합니다' (retrieves the size of an EBS snapshot). It specifies the resource (EBS snapshot) and action (retrieve size), though it doesn't explicitly differentiate from sibling tools like 'list_volume_snapshots' or 'get_ebs_metric'.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'list_volume_snapshots' (which might list snapshots) or 'get_ebs_metric' (which might retrieve other metrics), leaving the agent to infer usage context.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions what metrics are returned but lacks critical behavioral details: whether this requires specific AWS permissions, if it queries CloudWatch or another source, potential rate limits, error conditions, or the format/structure of the output. For a tool with 5 parameters and no annotation coverage, this is a significant gap.

    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 and appropriately sized. It starts with a clear purpose statement, lists key metrics returned, and provides a parameter section with concise explanations. Every sentence adds value without redundancy, and it's front-loaded with the most important information (what the tool does).

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

    Completeness3/5

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

    Given the tool's complexity (5 parameters, no annotations, but with an output schema), the description is moderately complete. It covers parameter semantics well but lacks behavioral context like authentication needs, data sources, or error handling. The presence of an output schema means return values don't need explanation, but other operational aspects are underspecified for a metric querying tool in a cloud environment.

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

    Parameters4/5

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

    The description adds meaningful context beyond the schema, which has 0% description coverage. It explains each parameter's purpose: volume_id for EBS volume identification, start_time/end_time for query range in ISO 8601 format, period for metric collection interval in seconds with a default, and region as optional AWS region. This compensates well for the schema's lack of descriptions, though it doesn't detail constraints like valid period ranges or region formats.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: calculating advanced performance metrics for EBS volumes, listing specific metrics like I/O utilization, latency, and throughput. It distinguishes from siblings by focusing on comprehensive metrics rather than specific calculations (e.g., calculate_iops) or basic metrics (e.g., get_ebs_metric). However, it doesn't explicitly contrast with all siblings like list_ebs_metrics.

    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. While the description implies it's for advanced performance metrics, it doesn't specify scenarios where this is preferred over siblings like get_ebs_metric or calculate_iops. There's no mention of prerequisites, such as needing AWS permissions or CloudWatch data availability.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states it returns a list, but doesn't specify format (e.g., JSON array), pagination, rate limits, authentication needs, or error conditions. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

    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, efficient sentence in Korean that directly states the tool's function without any fluff. It's front-loaded and wastes no words, making it highly concise and well-structured.

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

    Completeness3/5

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

    Given the tool has 0 parameters, 100% schema coverage, and an output schema exists (so return values are documented elsewhere), the description is minimally adequate. However, with no annotations and siblings present, it lacks context on usage and behavioral traits, making it incomplete for optimal agent guidance.

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

    Parameters4/5

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

    The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, and the baseline for 0 parameters is 4, as it avoids unnecessary detail.

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

    Purpose4/5

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

    The description clearly states the action ('returns') and resource ('list of available EBS CloudWatch metrics'), making the purpose understandable. It doesn't explicitly differentiate from siblings like 'get_ebs_metric' (which likely fetches specific metric data), but the distinction is somewhat implied through the 'list' vs 'get' terminology.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. The description doesn't mention siblings like 'get_ebs_metric' for retrieving specific metric data or 'get_advanced_metrics' for more detailed metrics, leaving the agent without explicit usage context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool returns snapshot details (ID, size, status, creation time), which is helpful, but lacks critical behavioral information such as whether it's a read-only operation, potential rate limits, authentication requirements, or pagination behavior. For a tool with no annotations, this is a significant gap.

    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 appropriately sized and front-loaded: it starts with the core purpose, followed by return details, and then parameter explanations in a structured 'Args' section. Every sentence adds value without redundancy, making it efficient and easy to parse.

    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 that there's an output schema (which covers return values), no annotations, and 3 parameters with 0% schema coverage, the description does a decent job. It explains the purpose, return details, and parameters, but lacks behavioral context (e.g., safety, limits) and usage guidelines. It's adequate but has clear gaps, making it a minimum viable 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 description includes an 'Args' section that explains each parameter: 'volume_id' is described with an example, 'max_results' specifies a default value, and 'region' is noted as optional. Since schema description coverage is 0%, this adds substantial meaning beyond the bare schema, compensating well for the lack of schema descriptions. It doesn't reach 5 because it could provide more context, such as valid region formats or constraints on 'max_results'.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'EBS 볼륨의 모든 스냅샷 목록을 조회합니다' (retrieves all snapshots of an EBS volume). It specifies the verb (조회/retrieve) and resource (EBS 볼륨 스냅샷/EBS volume snapshots), but doesn't explicitly differentiate from sibling tools like 'get_snapshot_size' or 'list_ebs_metrics', which is why it doesn't reach a score of 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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contexts where other tools might be more appropriate, such as using 'get_snapshot_size' for specific size details or 'list_ebs_metrics' for metrics. This leaves the agent without clear usage instructions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the metrics retrieved and the statistical values returned (average, max, min), but doesn't address important behavioral aspects like authentication requirements, rate limits, error conditions, or whether this is a read-only operation versus a calculation that might trigger monitoring costs.

    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 and appropriately sized. It begins with the core purpose, explains the calculation method, then provides parameter documentation with examples. Every sentence adds value with no redundant information, and the parameter documentation is clearly separated in an Args section.

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

    Completeness4/5

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

    Given the tool has an output schema (which handles return values) and the description provides good parameter semantics despite 0% schema coverage, the description is reasonably complete. However, for a calculation tool with no annotations, it could better address behavioral aspects like whether this requires specific AWS permissions or has performance implications.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. It provides clear semantic explanations for all 5 parameters with examples for volume_id, start_time, and end_time, plus default values and optionality for period and region. This adds substantial meaning beyond the bare schema, though it doesn't explain parameter constraints or validation rules.

    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 calculates IOPS (I/O operations per second) for EBS volumes, specifying it retrieves VolumeReadOps and VolumeWriteOps metrics to return average, maximum, and minimum IOPS values. This is a specific verb+resource combination that distinguishes it from sibling tools like calculate_throughput or get_ebs_metric.

    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 by specifying the metrics it queries (VolumeReadOps, VolumeWriteOps), but doesn't explicitly state when to use this tool versus alternatives like calculate_throughput or get_ebs_metric. There's no guidance on prerequisites, exclusions, or comparative scenarios with sibling tools.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It discloses the calculation behavior (reads VolumeReadBytes and VolumeWriteBytes metrics, returns MB/s) and mentions optional parameters, but lacks details on permissions needed, rate limits, error conditions, or whether this is a read-only operation (though implied by 'calculate'). It doesn't contradict any annotations.

    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 well-structured with a purpose statement, behavioral details, and parameter explanations in a clear Args section. It's appropriately sized with no wasted sentences, though the parameter explanations could be slightly more concise (e.g., combining start_time/end_time).

    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 5 parameters with 0% schema coverage and an output schema exists (so return values needn't be explained), the description does well: it covers all parameters, explains the calculation behavior, and distinguishes the tool's focus. However, it lacks context on authentication, error handling, or performance characteristics, which would be helpful for a cloud metrics tool.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. It provides clear semantics for all 5 parameters: volume_id (EBS volume ID with example), start_time/end_time (ISO 8601 format), period (collection interval in seconds with default), and region (AWS region, optional). This adds substantial meaning beyond the bare schema, though it doesn't explain parameter interactions or validation rules.

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

    Purpose5/5

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

    The description clearly states the specific action ('calculate throughput'), resource ('EBS volume'), and output unit ('MB/s'), distinguishing it from siblings like calculate_iops (different metric) and get_ebs_metric (generic metric retrieval). It explicitly mentions the metrics used (VolumeReadBytes, VolumeWriteBytes), making the purpose highly specific.

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

    Usage Guidelines3/5

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

    The description implies usage for calculating throughput from specific metrics, but doesn't explicitly state when to use this tool versus alternatives like calculate_iops (for IOPS) or get_ebs_metric (for other metrics). No guidance on prerequisites, exclusions, or comparison with sibling tools is provided.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It discloses that the tool returns statistical data and mentions default values for 'period' and optional 'region', which adds useful behavioral context. However, it doesn't cover important aspects like authentication requirements, rate limits, error conditions, or pagination behavior for potentially large datasets.

    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 well-structured with a clear purpose statement followed by detailed parameter documentation. It's appropriately sized for a 7-parameter tool. The only minor inefficiency is the repetition of '조회' (query/retrieve) in both the purpose statement and parameter descriptions, but overall it's front-loaded and each sentence adds value.

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

    Completeness4/5

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

    For a tool with 7 parameters, no annotations, but with an output schema present, the description provides good coverage. The parameter documentation is comprehensive, and the existence of an output schema means the description doesn't need to explain return values. It could improve by mentioning authentication or error handling, but given the output schema handles return structure, this is reasonably complete.

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

    Parameters5/5

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

    Given 0% schema description coverage, the description fully compensates by providing detailed parameter documentation in the Args section. It explains each parameter's purpose, lists all supported metric names with specific examples, specifies format requirements (ISO 8601 for timestamps), indicates defaults (period: 300), and notes optional parameters. This adds substantial value beyond the bare schema.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: '특정 EBS CloudWatch 지표를 조회합니다' (retrieves specific EBS CloudWatch metrics). It specifies the verb (retrieve/query) and resource (EBS CloudWatch metrics), and distinguishes from siblings like 'list_ebs_metrics' (which likely lists available metrics rather than retrieving data) and 'get_advanced_metrics' (which suggests more complex metrics).

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

    Usage Guidelines3/5

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

    The description implies usage context by mentioning EBS volumes and CloudWatch metrics, but doesn't explicitly state when to use this tool versus alternatives like 'get_advanced_metrics' or 'calculate_iops'. It provides the supported metric names which helps identify appropriate use cases, but lacks explicit guidance on tool selection among siblings.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

ebs_performance_mcp MCP server

Copy to your README.md:

Score Badge

ebs_performance_mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/codemonkyu/ebs_performance_mcp'

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