Skip to main content

An AWS Labs Model Context Protocol (MCP) server for AWS Application Signals

Reason this release was yanked:

Superceeded by awslabs.cloudwatch-applicationsignals-mcp-server

Project description

CloudWatch Application Signals MCP Server

An MCP (Model Context Protocol) server that provides tools for monitoring and analyzing AWS services using AWS Application Signals.

This server enables AI assistants like Claude, GitHub Copilot, and Amazon Q to help you monitor service health, analyze performance metrics, track SLO compliance, and investigate issues using distributed tracing.

Features

Available Tools

  1. list_monitored_services - List all services monitored by AWS Application Signals

    • Get an overview of all monitored services
    • See service names, types, and key attributes
    • Identify which services are being tracked
  2. get_service_detail - Get detailed information about a specific service

    • Understand service configuration and deployment
    • View available CloudWatch metrics
    • Find associated log groups

Installation

Installing via Smithery

To install CloudWatch Application Signals MCP Server for Claude Desktop automatically via Smithery:

npx @smithery/cli install awslabs.cloudwatch-appsignals-mcp-server --client claude

Installing via Cursor

To install CloudWatch Application Signals MCP Server for Cursor automatically:

Install in Cursor

Installing via uv

When using uv no specific installation is needed. We will use uvx to directly run awslabs.cloudwatch-appsignals-mcp-server.

Installing via Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration When installing a development or unpublished server, add the `--directory` flag:
{
  "mcpServers": {
    "awslabs.cloudwatch-appsignals-mcp-server": {
      "command": "uvx",
      "args": ["--from", "/absolute/path/to/cloudwatch-appsignals-mcp-server", "awslabs.cloudwatch-appsignals-mcp-server"]
    }
  }
}
Published Servers Configuration
{
  "mcpServers": {
    "awslabs.cloudwatch-appsignals-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.cloudwatch-appsignals-mcp-server"]
    }
  }
}

Installing for Amazon Q (Preview)

  • Start Q Developer from here.
  • Click on "Manage Connectors" and choose MCP Client.
  • Click "Add New Context Connector," enter a name like "CloudWatch AppSignals," and enter the command in the format: uvx awslabs.cloudwatch-appsignals-mcp-server.
  • Verify it shows "Connected" in green under the connector.

Debugging

You can use the MCP inspector to debug the server. For uvx installations:

npx @modelcontextprotocol/inspector uvx awslabs.cloudwatch-appsignals-mcp-server

Or if you've installed the package in a specific directory:

cd /path/to/cloudwatch-appsignals-mcp-server
npx @modelcontextprotocol/inspector uv run awslabs.cloudwatch-appsignals-mcp-server

Usage Examples

Example 1: Getting Started with Service Monitoring

User: "What services are being monitored by Application Signals?"
Assistant: I'll check what services are currently being monitored by AWS Application Signals.

[Uses list_monitored_services tool]

I found 3 services being monitored:

• Service: api-gateway-service
  Type: AWS::ApiGateway::RestApi
  Key Attributes:
    Name: api-gateway-service
    Type: AWS::ApiGateway::RestApi
    Environment: production

• Service: order-service
  Type: AWS::ECS::Service
  Key Attributes:
    Name: order-service
    Type: AWS::ECS::Service
    Environment: production
    Platform: ECS

• Service: payment-lambda
  Type: AWS::Lambda::Function
  Key Attributes:
    Name: payment-lambda
    Type: AWS::Lambda::Function
    Environment: production

Example 2: Investigating Service Details

User: "Tell me more about the order-service"
Assistant: I'll get detailed information about the order-service.

[Uses get_service_detail tool]

Here are the details for order-service:

Key Attributes:
  Name: order-service
  Type: AWS::ECS::Service
  Environment: production

Additional Attributes:
  Platform: ECS
  Application: ecommerce-app
  Telemetry.SDK: opentelemetry-1.9.0

Metric References (15 total):
  • AWS/ApplicationSignals/Latency
    Type: GAUGE
    Dimensions: Service=order-service, Operation=GetOrder

  • AWS/ApplicationSignals/ErrorRate
    Type: GAUGE
    Dimensions: Service=order-service, Operation=CreateOrder

Log Group References (2 total):
  • /aws/ecs/order-service
  • /aws/application-signals/order-service

Configuration

Required AWS Permissions

The server requires the following AWS IAM permissions:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "application-signals:ListServices",
        "application-signals:GetService",
        "application-signals:ListServiceLevelObjectives",
        "application-signals:GetServiceLevelObjective",
        "application-signals:BatchGetServiceLevelObjectiveBudgetReport",
        "cloudwatch:GetMetricData",
        "logs:GetQueryResults",
        "logs:StartQuery",
        "logs:StopQuery",
        "xray:GetTraceSummaries",
        "xray:BatchGetTraces"
      ],
      "Resource": "*"
    }
  ]
}

Environment Variables

  • AWS_REGION - AWS region (defaults to us-east-1)
  • MCP_CLOUDWATCH_APPSIGNALS_LOG_LEVEL - Logging level (defaults to INFO)

AWS Credentials

This server uses the standard AWS credential chain via boto3. It will automatically use credentials from:

  • Environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, etc.)
  • AWS credentials file (~/.aws/credentials)
  • AWS config file (~/.aws/config)
  • IAM roles (when running on EC2, ECS, Lambda, etc.)
  • And other standard AWS credential providers

No additional credential configuration is needed beyond your standard AWS setup.

Development

This server is part of the AWS Labs MCP collection. For development and contribution guidelines, please see the main repository documentation.

License

This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file awslabs_cloudwatch_appsignals_mcp_server-0.1.1.tar.gz.

File metadata

File hashes

Hashes for awslabs_cloudwatch_appsignals_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a416a6e42b791891c0219b5f5c39440c3a18102f23ce45e6040f599dfbef397d
MD5 24e76d1554e0bbb93778a1c6af948a21
BLAKE2b-256 290d0fd8c6e405f65f119aa0137f9a87374d57f415a2f997850378430a69c7e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for awslabs_cloudwatch_appsignals_mcp_server-0.1.1.tar.gz:

Publisher: release.yml on awslabs/mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file awslabs_cloudwatch_appsignals_mcp_server-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for awslabs_cloudwatch_appsignals_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6450edb1ffaf33b1a9babe2ce29aea27f10f00b93813010bca583edd43b81e88
MD5 8fe081ab24cc73eb7bd37fea5efa1946
BLAKE2b-256 ab684489ef0812859d449c2190650a3de1727bd193c95989af271c4208baced9

See more details on using hashes here.

Provenance

The following attestation bundles were made for awslabs_cloudwatch_appsignals_mcp_server-0.1.1-py3-none-any.whl:

Publisher: release.yml on awslabs/mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page