EBS CloudWatch Metrics MCP
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., "@EBS CloudWatch Metrics MCPCalculate IOPS and throughput for vol-1234567890abcdef0 over the last hour"
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.
EBS CloudWatch Metrics MCP
AWS EBS CloudWatch 지표 계산 MCP 서버입니다. Kiro에서 EBS 볼륨의 성능 지표를 조회하고 분석할 수 있습니다.
기능
IOPS 계산: 읽기/쓰기 IOPS 평균, 최대, 최소 값 계산
처리량 계산: 읽기/쓰기 처리량 (MB/s) 계산
스냅샷 조회: 스냅샷 크기 및 목록 조회
CloudWatch 지표 조회: 모든 EBS CloudWatch 지표 직접 조회
고급 지표 계산: I/O 사용률, 지연 시간, 버스팅 IOPS/처리량 등
설치
uvx 사용 (권장)
uvx ebs-cloudwatch-metrics-mcppip 사용
pip install ebs-cloudwatch-metrics-mcp소스에서 설치
git clone https://github.com/your-repo/ebs-cloudwatch-metrics-mcp.git
cd ebs-cloudwatch-metrics-mcp
pip install -e .Kiro MCP 설정
.kiro/settings/mcp.json 파일에 다음 설정을 추가하세요:
{
"mcpServers": {
"ebs-cloudwatch-metrics": {
"command": "uvx",
"args": ["ebs-cloudwatch-metrics-mcp"],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "ap-northeast-2"
}
}
}
}환경 변수
변수 | 설명 | 기본값 |
| AWS 프로파일 이름 |
|
| AWS 리전 | 프로파일 설정 |
| AWS 액세스 키 ID | - |
| AWS 시크릿 액세스 키 | - |
사용 가능한 도구
1. calculate_iops
EBS 볼륨의 IOPS를 계산합니다.
파라미터:
volume_id(필수): EBS 볼륨 IDstart_time(필수): 조회 시작 시간 (ISO 8601)end_time(필수): 조회 종료 시간 (ISO 8601)period: 지표 수집 간격 (초, 기본값: 300)region: AWS 리전
예시:
calculate_iops(
volume_id="vol-1234567890abcdef0",
start_time="2024-01-01T00:00:00Z",
end_time="2024-01-02T00:00:00Z"
)2. calculate_throughput
EBS 볼륨의 처리량을 계산합니다.
파라미터:
volume_id(필수): EBS 볼륨 IDstart_time(필수): 조회 시작 시간 (ISO 8601)end_time(필수): 조회 종료 시간 (ISO 8601)period: 지표 수집 간격 (초, 기본값: 300)region: AWS 리전
3. get_snapshot_size
EBS 스냅샷의 크기를 조회합니다.
파라미터:
snapshot_id(필수): EBS 스냅샷 IDregion: AWS 리전
4. list_volume_snapshots
EBS 볼륨의 모든 스냅샷 목록을 조회합니다.
파라미터:
volume_id(필수): EBS 볼륨 IDmax_results: 최대 결과 수 (기본값: 100)region: AWS 리전
5. get_ebs_metric
특정 EBS CloudWatch 지표를 조회합니다.
파라미터:
volume_id(필수): EBS 볼륨 IDmetric_name(필수): CloudWatch 지표 이름start_time(필수): 조회 시작 시간 (ISO 8601)end_time(필수): 조회 종료 시간 (ISO 8601)period: 지표 수집 간격 (초, 기본값: 300)statistics: 통계 유형 배열 (기본값: ["Average"])region: AWS 리전
지원되는 지표:
VolumeReadOps- 읽기 작업 수VolumeWriteOps- 쓰기 작업 수VolumeReadBytes- 읽기 바이트 수VolumeWriteBytes- 쓰기 바이트 수VolumeTotalReadTime- 총 읽기 시간VolumeTotalWriteTime- 총 쓰기 시간VolumeIdleTime- 유휴 시간VolumeQueueLength- 큐 길이VolumeThroughputPercentage- 처리량 백분율VolumeConsumedReadWriteOps- 소비된 읽기/쓰기 작업BurstBalance- 버스트 잔액 (gp2)
6. list_ebs_metrics
사용 가능한 EBS CloudWatch 지표 목록을 반환합니다.
파라미터: 없음
7. get_advanced_metrics
EBS 볼륨의 고급 성능 지표를 계산합니다.
파라미터:
volume_id(필수): EBS 볼륨 IDstart_time(필수): 조회 시작 시간 (ISO 8601)end_time(필수): 조회 종료 시간 (ISO 8601)period: 지표 수집 간격 (초, 기본값: 300)region: AWS 리전
반환되는 고급 지표:
io_use_percent- I/O 사용률 (%)avg_read_latency_ms- 평균 읽기 지연 시간 (ms)avg_write_latency_ms- 평균 쓰기 지연 시간 (ms)read_io_size_kib- 읽기 I/O 크기 (KiB)write_io_size_kib- 쓰기 I/O 크기 (KiB)avg_read_iops- 평균 읽기 IOPSavg_write_iops- 평균 쓰기 IOPSavg_total_iops- 평균 총 IOPSavg_read_throughput_mib_s- 평균 읽기 처리량 (MiB/s)avg_write_throughput_mib_s- 평균 쓰기 처리량 (MiB/s)avg_total_throughput_mib_s- 평균 총 처리량 (MiB/s)bursting_read_iops- 버스팅 읽기 IOPSbursting_write_iops- 버스팅 쓰기 IOPSbursting_total_iops- 버스팅 총 IOPSbursting_read_throughput_mib_s- 버스팅 읽기 처리량 (MiB/s)bursting_write_throughput_mib_s- 버스팅 쓰기 처리량 (MiB/s)bursting_total_throughput_mib_s- 버스팅 총 처리량 (MiB/s)burst_balance- BurstBalance (gp2 볼륨만)
필요한 IAM 권한
MCP 서버를 사용하려면 다음 IAM 권한이 필요합니다:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeSnapshots",
"ec2:DescribeVolumes"
],
"Resource": "*"
}
]
}최소 권한 정책
특정 볼륨만 조회하려면 리소스를 제한할 수 있습니다:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricStatistics"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"cloudwatch:namespace": "AWS/EBS"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeSnapshots"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:VolumeId": "vol-1234567890abcdef0"
}
}
}
]
}라이선스
MIT License
Available Tools
7 toolscalculate_iopsA
EBS 볼륨의 IOPS(초당 I/O 작업 수)를 계산합니다.
VolumeReadOps, VolumeWriteOps 지표를 조회하여 평균, 최대, 최소 IOPS를 반환합니다.
Args:
volume_id: EBS 볼륨 ID (예: vol-1234567890abcdef0)
start_time: 조회 시작 시간 (ISO 8601 형식, 예: 2024-01-01T00:00:00Z)
end_time: 조회 종료 시간 (ISO 8601 형식, 예: 2024-01-02T00:00:00Z)
period: 지표 수집 간격 (초 단위, 기본값: 300)
region: AWS 리전 (선택적, 기본값: 환경 변수에서 로드)
| Name | Required | Description | Default |
|---|---|---|---|
| volume_id | Yes | ||
| start_time | Yes | ||
| end_time | Yes | ||
| period | No | ||
| region | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
calculate_throughputA
EBS 볼륨의 처리량(Throughput)을 계산합니다.
VolumeReadBytes, VolumeWriteBytes 지표를 조회하여 MB/s 단위로 반환합니다.
Args:
volume_id: EBS 볼륨 ID (예: vol-1234567890abcdef0)
start_time: 조회 시작 시간 (ISO 8601 형식)
end_time: 조회 종료 시간 (ISO 8601 형식)
period: 지표 수집 간격 (초 단위, 기본값: 300)
region: AWS 리전 (선택적)
| Name | Required | Description | Default |
|---|---|---|---|
| volume_id | Yes | ||
| start_time | Yes | ||
| end_time | Yes | ||
| period | No | ||
| region | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
get_advanced_metricsB
EBS 볼륨의 고급 성능 지표를 계산합니다.
I/O 사용률, 지연 시간, I/O 크기, 평균/버스팅 IOPS 및 처리량 등을 반환합니다.
Args:
volume_id: EBS 볼륨 ID
start_time: 조회 시작 시간 (ISO 8601 형식)
end_time: 조회 종료 시간 (ISO 8601 형식)
period: 지표 수집 간격 (초 단위, 기본값: 300)
region: AWS 리전 (선택적)
| Name | Required | Description | Default |
|---|---|---|---|
| volume_id | Yes | ||
| start_time | Yes | ||
| end_time | Yes | ||
| period | No | ||
| region | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
get_ebs_metricA
특정 EBS CloudWatch 지표를 조회합니다.
지표 이름, 볼륨 ID, 시간 범위를 지정하여 통계 데이터를 반환합니다.
Args:
volume_id: EBS 볼륨 ID
metric_name: CloudWatch 지표 이름. 지원되는 지표: VolumeReadOps, VolumeWriteOps,
VolumeReadBytes, VolumeWriteBytes, VolumeTotalReadTime, VolumeTotalWriteTime,
VolumeIdleTime, VolumeQueueLength, VolumeThroughputPercentage,
VolumeConsumedReadWriteOps, BurstBalance
start_time: 조회 시작 시간 (ISO 8601 형식)
end_time: 조회 종료 시간 (ISO 8601 형식)
period: 지표 수집 간격 (초 단위, 기본값: 300)
statistics: 조회할 통계 유형 (Average, Sum, Minimum, Maximum, SampleCount)
region: AWS 리전 (선택적)
| Name | Required | Description | Default |
|---|---|---|---|
| volume_id | Yes | ||
| metric_name | Yes | ||
| start_time | Yes | ||
| end_time | Yes | ||
| period | No | ||
| statistics | No | ||
| region | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
get_snapshot_sizeB
EBS 스냅샷의 크기를 조회합니다.
스냅샷 ID, 볼륨 ID, 크기(GB), 상태 등의 정보를 반환합니다.
Args:
snapshot_id: EBS 스냅샷 ID (예: snap-1234567890abcdef0)
region: AWS 리전 (선택적)
| Name | Required | Description | Default |
|---|---|---|---|
| snapshot_id | Yes | ||
| region | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 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.
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.
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.
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.
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.
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.
list_ebs_metricsB
사용 가능한 EBS CloudWatch 지표 목록을 반환합니다.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
list_volume_snapshotsB
EBS 볼륨의 모든 스냅샷 목록을 조회합니다.
각 스냅샷의 ID, 크기, 상태, 생성 시간 등을 반환합니다.
Args:
volume_id: EBS 볼륨 ID (예: vol-1234567890abcdef0)
max_results: 최대 결과 수 (기본값: 100)
region: AWS 리전 (선택적)
| Name | Required | Description | Default |
|---|---|---|---|
| volume_id | Yes | ||
| max_results | No | ||
| region | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 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.
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.
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.
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.
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.
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v0.1.0- First observed
calculate_iops - First observed
calculate_throughput - First observed
get_advanced_metrics - First observed
get_ebs_metric - First observed
get_snapshot_size - First observed
list_ebs_metrics - First observed
list_volume_snapshots
TDQS
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.
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.
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.
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.
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
Read-only AWS cost analysis: find idle and underutilized resources, with evidence.
Lowers your AWS bill by helping you clean up and optimize your setup
Read-only Amazon SES observability: search events, inspect bounces, pull delivery stats.
AWS Cost Explorer cost, forecast, and anomaly reporting through user-connected IAM credentials.
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/codemonkyu/ebs_performance_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server