Skip to main content
Glama
jghidalgo

Lambda Performance MCP Server

by jghidalgo

Lambda Performance MCP Server (Node.js)

A comprehensive Model Context Protocol (MCP) server for analyzing AWS Lambda performance, tracking cold starts, and providing optimization recommendations. Built with Node.js and the AWS SDK v3.

Features

Performance Analysis

  • Comprehensive Metrics: Duration, memory usage, error rates, invocation counts

  • Cold Start Tracking: Detailed analysis of cold start patterns and frequency

  • Real-time Monitoring: Live performance metrics and alerts

  • Cost Analysis: Detailed cost breakdown and optimization opportunities

Advanced Analytics

  • Percentile Analysis: P50, P90, P95, P99 duration metrics

  • Memory Utilization: Right-sizing recommendations based on actual usage

  • Error Pattern Analysis: Identify and categorize error types

  • Trend Analysis: Performance trends over time

Optimization Recommendations

  • Cold Start Optimization: Provisioned concurrency, package size, initialization

  • Memory Right-sizing: Optimal memory allocation based on usage patterns

  • Cost Optimization: ARM architecture, duration optimization, resource efficiency

  • Performance Tuning: Code optimization, connection pooling, caching strategies

Comparative Analysis

  • Multi-function Comparison: Compare performance across multiple Lambda functions

  • Benchmarking: Identify best and worst performers

  • Resource Utilization: Compare memory, duration, and cost metrics

Related MCP server: AWS FinOps MCP Server

Installation

  1. Clone the repository:

git clone <repository-url>
cd lambda-performance-mcp-nodejs
  1. Install dependencies:

npm install
  1. Configure environment:

cp .env.example .env
# Edit .env with your AWS credentials and configuration
  1. Set up AWS credentials:

# Option 1: Environment variables
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=us-east-1

# Option 2: AWS CLI profile
aws configure --profile lambda-analyzer
export AWS_PROFILE=lambda-analyzer

# Option 3: IAM roles (for EC2/Lambda execution)

Required AWS Permissions

The MCP server requires the following AWS permissions:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:ListFunctions",
        "lambda:GetFunction",
        "lambda:GetFunctionConfiguration",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:GetMetricData",
        "logs:FilterLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": "*"
    }
  ]
}

Usage

Running the MCP Server

# Start the server
npm start

# Development mode with auto-reload
npm run dev

Available Tools

1. Analyze Lambda Performance

{
  "name": "analyze_lambda_performance",
  "arguments": {
    "functionName": "my-lambda-function",
    "timeRange": "24h",
    "includeDetails": true
  }
}

2. Track Cold Starts

{
  "name": "track_cold_starts",
  "arguments": {
    "functionName": "my-lambda-function",
    "timeRange": "24h"
  }
}

3. Get Optimization Recommendations

{
  "name": "get_optimization_recommendations",
  "arguments": {
    "functionName": "my-lambda-function",
    "analysisType": "all"
  }
}

4. Compare Lambda Performance

{
  "name": "compare_lambda_performance",
  "arguments": {
    "functionNames": ["function-1", "function-2", "function-3"],
    "timeRange": "24h",
    "metrics": ["duration", "cold-starts", "errors", "cost"]
  }
}

5. List Lambda Functions

{
  "name": "list_lambda_functions",
  "arguments": {
    "runtime": "nodejs18.x",
    "includeMetrics": true
  }
}

6. Analyze Memory Utilization

{
  "name": "analyze_memory_utilization",
  "arguments": {
    "functionName": "my-lambda-function",
    "timeRange": "24h"
  }
}

7. Get Cost Analysis

{
  "name": "get_cost_analysis",
  "arguments": {
    "functionName": "my-lambda-function",
    "timeRange": "30d"
  }
}

8. Monitor Real-time Performance

{
  "name": "monitor_real_time_performance",
  "arguments": {
    "functionName": "my-lambda-function",
    "duration": 5
  }
}

Configuration with MCP Clients

To use this MCP server with MCP clients, add it to your MCP configuration:

Workspace Configuration (.mcp/settings/mcp.json)

{
  "mcpServers": {
    "lambda-performance": {
      "command": "node",
      "args": ["path/to/lambda-performance-mcp-nodejs/index.js"],
      "env": {
        "AWS_REGION": "us-east-1",
        "AWS_ACCESS_KEY_ID": "your_access_key",
        "AWS_SECRET_ACCESS_KEY": "your_secret_key"
      },
      "disabled": false,
      "autoApprove": [
        "list_lambda_functions",
        "analyze_lambda_performance",
        "track_cold_starts"
      ]
    }
  }
}

Global Configuration (~/.mcp/settings/mcp.json)

{
  "mcpServers": {
    "lambda-performance": {
      "command": "node",
      "args": ["path/to/lambda-performance-mcp-nodejs/index.js"],
      "env": {
        "AWS_PROFILE": "default"
      },
      "disabled": false
    }
  }
}

Key Features Explained

Cold Start Analysis

  • Pattern Detection: Identifies when and why cold starts occur

  • Duration Analysis: Tracks initialization times and optimization opportunities

  • Trigger Identification: Determines what causes cold starts (idle time, scaling, deployments)

  • Timeline Visualization: Shows cold start frequency over time

Performance Optimization

  • Memory Right-sizing: Analyzes actual memory usage vs. allocated memory

  • Duration Optimization: Identifies performance bottlenecks and optimization opportunities

  • Cost Optimization: Provides recommendations to reduce Lambda costs

  • Architecture Recommendations: Suggests ARM vs x86 based on workload compatibility

Real-time Monitoring

  • Live Metrics: Current invocation rates, duration, and error rates

  • Performance Alerts: Automatic detection of performance issues

  • Activity Tracking: Recent invocation history and patterns

Example Outputs

Performance Analysis

# Lambda Performance Analysis: my-function

## Summary
- **Total Invocations**: 15,432
- **Average Duration**: 245ms
- **Cold Start Rate**: 12.3%
- **Error Rate**: 0.8%
- **Memory Utilization**: 67%

## Performance Metrics
- **P50 Duration**: 180ms
- **P95 Duration**: 450ms
- **P99 Duration**: 890ms
- **Max Duration**: 1,200ms

## Cold Start Analysis
- **Total Cold Starts**: 1,898
- **Average Cold Start Duration**: 1,200ms
- **Cold Start Pattern**: Moderate frequency during low traffic

Optimization Recommendations

# Optimization Recommendations: my-function

## Priority Recommendations
1. **Right-size Memory Allocation** (Impact: High)
   - Current memory is over-provisioned
   - Implementation: Reduce memory from 512MB to 256MB
   - Expected Improvement: Reduce costs by 25%

2. **Optimize Cold Start Performance** (Impact: High)
   - High cold start rate detected
   - Implementation: Implement provisioned concurrency for 2-3 instances
   - Expected Improvement: Reduce cold starts by 85%

Troubleshooting

Common Issues

  1. Permission Errors

    • Ensure AWS credentials have required permissions

    • Check CloudWatch Logs access for cold start analysis

  2. No Data Available

    • Verify function name is correct

    • Check if function has been invoked in the specified time range

    • Ensure CloudWatch logging is enabled

  3. Connection Timeouts

    • Check AWS region configuration

    • Verify network connectivity to AWS services

Debug Mode

# Enable debug logging
export LOG_LEVEL=debug
npm start

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Submit a pull request

Support

For issues and questions:

  • Check the troubleshooting section

  • Review AWS permissions

  • Verify environment configuration

  • Check CloudWatch Logs for detailed error messages

Available Tools

8 tools
analyze_lambda_performanceC

Analyze Lambda function performance metrics including cold starts, duration, and errors

ParametersJSON Schema
NameRequiredDescriptionDefault
functionNameYesName of the Lambda function to analyze
timeRangeNoTime range for analysis (default: 24h)
includeDetailsNoInclude detailed metrics and logs (default: true)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions what metrics are analyzed but doesn't disclose behavioral traits like whether this is a read-only operation, if it requires specific permissions, rate limits, or what the output format looks like. For a performance analysis tool with no annotations, this leaves significant 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 that front-loads the core purpose. Every word earns its place by specifying the resource and key metrics without unnecessary elaboration.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete for a performance analysis tool. It doesn't explain what the analysis returns (e.g., aggregated metrics, time-series data, recommendations) or behavioral aspects like permissions or rate limits. With 3 parameters and multiple similar siblings, more context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain the significance of the timeRange options or what 'includeDetails' entails). Baseline 3 is appropriate when the schema does the heavy lifting.

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 ('Analyze') and resource ('Lambda function performance metrics') with specific metrics listed (cold starts, duration, errors). It distinguishes from some siblings like 'list_lambda_functions' or 'get_cost_analysis', but doesn't explicitly differentiate from similar tools like 'compare_lambda_performance' or 'monitor_real_time_performance'.

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. With siblings like 'compare_lambda_performance', 'monitor_real_time_performance', and 'track_cold_starts', the description doesn't indicate whether this is for historical analysis, real-time monitoring, comparative analysis, or specialized cold start tracking.

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

analyze_memory_utilizationC

Analyze memory utilization and provide right-sizing recommendations

ParametersJSON Schema
NameRequiredDescriptionDefault
functionNameYesName of the Lambda function
timeRangeNoTime range for memory analysis (default: 24h)

TDQS

C2.9/5.0
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 states the tool analyzes and provides recommendations, implying a read-only, non-destructive operation, but doesn't detail aspects like rate limits, authentication needs, error handling, or what the recommendations entail. For a tool with zero annotation coverage, this is insufficient.

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 that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized, making it easy for an agent to parse quickly.

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

Completeness2/5

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

Given the tool's complexity (analyzing memory utilization with recommendations), lack of annotations, and no output schema, the description is incomplete. It doesn't explain the format or nature of the recommendations, potential side effects, or how it integrates with sibling tools. This leaves significant gaps for an agent to understand the tool's full context.

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

Parameters3/5

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

The input schema has 100% description coverage, fully documenting both parameters. The description adds no additional parameter semantics beyond what the schema provides, such as explaining how 'functionName' relates to memory analysis or the implications of 'timeRange' choices. With high schema coverage, the baseline score of 3 is appropriate.

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: 'Analyze memory utilization and provide right-sizing recommendations.' It specifies the action ('analyze') and resource ('memory utilization') with an additional outcome ('right-sizing recommendations'). However, it doesn't explicitly differentiate from siblings like 'analyze_lambda_performance' or 'get_optimization_recommendations,' which might overlap in scope.

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 when to choose it over siblings such as 'analyze_lambda_performance' or 'get_optimization_recommendations,' nor does it specify prerequisites or exclusions. This leaves the agent without context for tool selection.

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

compare_lambda_performanceB

Compare performance metrics between multiple Lambda functions

ParametersJSON Schema
NameRequiredDescriptionDefault
functionNamesYesList of Lambda function names to compare
timeRangeNoTime range for comparison (default: 24h)
metricsNoMetrics to compare (default: all)

TDQS

B3.1/5.0
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. While 'compare performance metrics' implies a read-only operation, it doesn't specify whether this requires specific permissions, what format the comparison results take, whether data is aggregated or real-time, or any rate limits. For a tool with 3 parameters and no annotation coverage, this is insufficient.

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 that directly states the tool's purpose without any unnecessary words. It's appropriately sized and front-loaded with the core functionality.

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 3 parameters with full schema coverage but no annotations and no output schema, the description is minimally adequate. However, for a comparison tool that likely returns complex performance data, the lack of output information and behavioral context leaves significant gaps in understanding how to interpret results.

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

Parameters3/5

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

The schema description coverage is 100%, with all parameters well-documented in the schema itself. The description doesn't add any meaningful parameter semantics beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is complete.

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 verb 'compare' and the resource 'performance metrics between multiple Lambda functions', which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like 'analyze_lambda_performance' or 'monitor_real_time_performance', which likely have overlapping functionality.

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. With multiple sibling tools related to Lambda performance analysis (analyze_lambda_performance, monitor_real_time_performance, track_cold_starts), there's no indication of what makes this tool distinct or when it's the appropriate choice.

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

get_cost_analysisC

Analyze Lambda function costs and identify optimization opportunities

ParametersJSON Schema
NameRequiredDescriptionDefault
functionNameNoName of the Lambda function (optional for account-wide analysis)
timeRangeNoTime range for cost analysis (default: 30d)

TDQS

C2.9/5.0
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 analyzing costs and identifying optimization opportunities, but doesn't describe what the analysis returns (e.g., cost breakdowns, savings estimates), whether it requires specific permissions, or any rate limits. 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 that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality, making it easy to understand at a glance.

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

Completeness2/5

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

Given the complexity of cost analysis and optimization identification, the description is insufficient. With no annotations and no output schema, it doesn't explain what the analysis returns or any behavioral constraints. The description should provide more context about the tool's output and usage patterns to be complete for this type of analytical tool.

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

Parameters3/5

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

The schema has 100% description coverage, so parameters are well-documented in the structured fields. The description adds no additional parameter semantics beyond what's in the schema, but since schema coverage is high, the baseline score of 3 is appropriate as the description doesn't need to compensate for gaps.

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 as analyzing Lambda function costs and identifying optimization opportunities, which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_optimization_recommendations' or 'analyze_lambda_performance' that might overlap in optimization analysis.

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. With siblings like 'get_optimization_recommendations' and 'analyze_lambda_performance' that might handle similar optimization tasks, there's no indication of when this cost-focused tool is preferred or what distinguishes it from other analysis tools.

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

get_optimization_recommendationsC

Get performance optimization recommendations for Lambda functions

ParametersJSON Schema
NameRequiredDescriptionDefault
functionNameYesName of the Lambda function
analysisTypeNoType of optimization analysis (default: all)

TDQS

C2.9/5.0
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 states what the tool does but lacks critical details: it doesn't specify if this is a read-only operation, what permissions are required, whether it triggers any side effects, or how results are returned (e.g., format, pagination). 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 a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like safety, permissions, or return format, which are crucial for a tool that likely interacts with cloud resources. For a tool with 2 parameters and no structured safety hints, more context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters thoroughly (functionName and analysisType with enum values). The description doesn't add any meaningful parameter semantics beyond what's in the schema, such as explaining the implications of different analysisType values. Baseline 3 is appropriate when the schema does the heavy lifting.

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 verb 'Get' and the resource 'performance optimization recommendations for Lambda functions', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'analyze_lambda_performance' or 'get_cost_analysis', which appear to have overlapping domains.

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 like 'analyze_lambda_performance' or 'get_cost_analysis'. There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage based on tool names alone.

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

list_lambda_functionsC

List all Lambda functions in the account with basic performance info

ParametersJSON Schema
NameRequiredDescriptionDefault
runtimeNoFilter by runtime (e.g., nodejs18.x, python3.9)
includeMetricsNoInclude basic performance metrics (default: false)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'basic performance info' but doesn't disclose behavioral traits such as pagination, rate limits, permissions required, or what 'basic' entails. This is inadequate for a tool with potential complexity in cloud environments.

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 a single, efficient sentence that front-loads the core purpose. It avoids waste but could be slightly more structured for clarity, such as separating scope from output details.

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

Completeness2/5

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

Given no annotations, no output schema, and moderate complexity (listing cloud resources), the description is incomplete. It lacks details on return format, error handling, or behavioral constraints, leaving significant gaps for an AI agent to use the tool effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters fully. The description adds no additional meaning beyond implying filtering and metrics inclusion, which the schema covers. Baseline 3 is appropriate as the schema does the heavy lifting.

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 verb ('List') and resource ('Lambda functions in the account'), specifying scope ('all') and additional data ('basic performance info'). It distinguishes from siblings by focusing on listing rather than analysis, monitoring, or comparison, though it doesn't explicitly name alternatives.

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 siblings like 'analyze_lambda_performance' or 'monitor_real_time_performance'. The description implies it's for listing with basic info, but lacks explicit context, prerequisites, or exclusions for tool selection.

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

monitor_real_time_performanceC

Get real-time performance metrics and alerts for Lambda functions

ParametersJSON Schema
NameRequiredDescriptionDefault
functionNameYesName of the Lambda function
durationNoMonitoring duration in minutes (default: 5)

TDQS

C2.9/5.0
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 'real-time performance metrics and alerts' but doesn't specify what metrics are included, how alerts are triggered, whether this is a read-only operation, or any rate limits. This leaves significant gaps in understanding the tool's behavior.

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 that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand quickly.

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

Completeness2/5

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

Given the complexity of performance monitoring and the lack of annotations and output schema, the description is insufficient. It doesn't explain what metrics or alerts are returned, how the data is formatted, or any prerequisites like permissions. For a tool with no structured behavioral data, this leaves too much ambiguity.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters ('functionName' and 'duration') with clear descriptions. The description doesn't add any additional meaning or context beyond what the schema provides, such as explaining the scope of 'real-time' or how 'duration' affects the output.

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 ('Get') and target ('real-time performance metrics and alerts for Lambda functions'), making the purpose understandable. However, it doesn't differentiate from siblings like 'analyze_lambda_performance' or 'track_cold_starts', which might also involve performance monitoring 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?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'analyze_lambda_performance', 'track_cold_starts', and 'compare_lambda_performance', there's no indication of what makes this tool distinct or when it's preferred over others.

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

track_cold_startsC

Track and analyze cold start patterns for Lambda functions

ParametersJSON Schema
NameRequiredDescriptionDefault
functionNameYesName of the Lambda function
timeRangeNoTime range for cold start analysis (default: 24h)

TDQS

C2.9/5.0
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 the action ('track and analyze') but lacks details on what the analysis entails, output format, whether it's read-only or mutative, rate limits, or authentication needs. This is a significant gap for a tool with potential complexity in analyzing patterns.

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 that front-loads the core purpose without unnecessary words. It uses clear terminology and avoids redundancy, making it appropriately sized for the tool's scope.

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

Completeness2/5

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

Given no annotations, no output schema, and a tool that involves analysis (implying potential complexity), the description is incomplete. It doesn't explain what 'track and analyze' yields, such as metrics, trends, or actionable insights, leaving gaps in understanding the tool's full behavior and output.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters (functionName and timeRange with enum values). The description adds no additional parameter semantics beyond implying cold start analysis, which is already covered by the tool's purpose. This meets the baseline for high schema coverage.

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 verb ('track and analyze') and resource ('cold start patterns for Lambda functions'), making the purpose evident. It distinguishes from siblings by focusing specifically on cold starts rather than general performance, memory, cost, or listing functions. However, it doesn't explicitly differentiate from 'analyze_lambda_performance' which might overlap, preventing a perfect score.

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 prerequisites, context, or exclusions, and fails to reference sibling tools like 'analyze_lambda_performance' or 'monitor_real_time_performance' that might be relevant for performance analysis. Usage is implied but not articulated.

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

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have distinct purposes, such as analyze_lambda_performance for general metrics, analyze_memory_utilization for memory-specific analysis, and compare_lambda_performance for comparisons. However, analyze_lambda_performance and monitor_real_time_performance could be confused, as both involve performance metrics, though one is general analysis and the other is real-time monitoring.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, such as analyze_lambda_performance, list_lambda_functions, and track_cold_starts. This uniformity makes the tool set predictable and easy to understand.

Tool Count5/5

With 8 tools, the server is well-scoped for Lambda performance analysis, covering key areas like monitoring, cost, optimization, and specific metrics. Each tool serves a clear purpose without being overwhelming or insufficient.

Completeness4/5

The tool set covers core aspects of Lambda performance analysis, including listing functions, analyzing metrics, cost, optimization, and cold starts. A minor gap is the lack of tools for configuration updates or direct action implementation, but agents can work around this by using recommendations from existing tools.

Maintenance

ActivityInactive
ResponsivenessNo issues

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
    B
    quality
    D
    maintenance
    Provides a comprehensive suite of 76 tools for AWS cloud resource optimization, cost management, and infrastructure monitoring. It enables users to identify unused resources, analyze cost trends, right-size capacity, and maintain security compliance through natural language.
    76
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables natural language analysis of AWS costs, automated FinOps waste audits, and budget monitoring across multiple profiles and regions while keeping credentials secure locally.
    182
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables analyzing AWS cloud costs through natural language queries, providing cost summaries, anomaly detection, idle resource identification, rightsizing recommendations, and tagging compliance via Claude.
    10
    41
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables analyzing AWS cloud costs from billing data, identifying waste, and providing mergeable fixes, with findings reconciled to actual invoices and priced at your negotiated rates.
    6
    MIT

Appeared in Searches

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/jghidalgo/lambda-performance-mcp-nodejs'

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