awslabs.cloudwatch-appsignals-mcp-server 0.1.1__tar.gz → 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/Dockerfile +33 -23
  2. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/PKG-INFO +87 -21
  3. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/README.md +85 -19
  4. awslabs_cloudwatch_appsignals_mcp_server-0.1.3/awslabs/cloudwatch_appsignals_mcp_server/server.py +1346 -0
  5. awslabs_cloudwatch_appsignals_mcp_server-0.1.3/awslabs/cloudwatch_appsignals_mcp_server/sli_report_client.py +340 -0
  6. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/docker-healthcheck.sh +7 -8
  7. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/pyproject.toml +2 -2
  8. awslabs_cloudwatch_appsignals_mcp_server-0.1.3/tests/test_server.py +1669 -0
  9. awslabs_cloudwatch_appsignals_mcp_server-0.1.3/tests/test_sli_report_client.py +443 -0
  10. awslabs_cloudwatch_appsignals_mcp_server-0.1.3/uv-requirements.txt +26 -0
  11. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/uv.lock +786 -576
  12. awslabs_cloudwatch_appsignals_mcp_server-0.1.1/awslabs/cloudwatch_appsignals_mcp_server/server.py +0 -271
  13. awslabs_cloudwatch_appsignals_mcp_server-0.1.1/tests/test_server.py +0 -246
  14. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/.gitignore +0 -0
  15. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/.python-version +0 -0
  16. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/CHANGELOG.md +0 -0
  17. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/LICENSE +0 -0
  18. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/NOTICE +0 -0
  19. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/awslabs/__init__.py +0 -0
  20. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/awslabs/cloudwatch_appsignals_mcp_server/__init__.py +0 -0
  21. {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/tests/test_initialization.py +0 -0
@@ -12,8 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- #FROM public.ecr.aws/sam/build-python3.10:1.137.1-20250411084548
16
- FROM public.ecr.aws/sam/build-python3.10@sha256:d821662474d65f3cf2fc97dba2fa807a3adb580d02895fc4545527812550ea65 AS uv
15
+ # dependabot should continue to update this to the latest hash.
16
+ FROM public.ecr.aws/docker/library/python:3.13.5-alpine3.21@sha256:c9a09c45a4bcc618c7f7128585b8dd0d41d0c31a8a107db4c8255ffe0b69375d AS uv
17
17
 
18
18
  # Install the project into `/app`
19
19
  WORKDIR /app
@@ -31,40 +31,50 @@ ENV UV_PYTHON_PREFERENCE=only-system
31
31
  ENV UV_FROZEN=true
32
32
 
33
33
  # Copy the required files first
34
- COPY pyproject.toml uv.lock ./
34
+ COPY pyproject.toml uv.lock uv-requirements.txt ./
35
+
36
+ # Python optimization and uv configuration
37
+ ENV PIP_NO_CACHE_DIR=1 \
38
+ PIP_DISABLE_PIP_VERSION_CHECK=1
39
+
40
+ # Install system dependencies and Python package manager
41
+ RUN apk update && \
42
+ apk add --no-cache --virtual .build-deps \
43
+ build-base \
44
+ gcc \
45
+ musl-dev \
46
+ libffi-dev \
47
+ openssl-dev \
48
+ cargo
35
49
 
36
50
  # Install the project's dependencies using the lockfile and settings
37
51
  RUN --mount=type=cache,target=/root/.cache/uv \
38
- pip install uv==0.7.11 && \
39
- uv sync --frozen --no-install-project --no-dev --no-editable
52
+ pip install --require-hashes --requirement uv-requirements.txt --no-cache-dir && \
53
+ uv sync --python 3.13 --frozen --no-install-project --no-dev --no-editable
40
54
 
41
55
  # Then, add the rest of the project source code and install it
42
56
  # Installing separately from its dependencies allows optimal layer caching
43
57
  COPY . /app
44
58
  RUN --mount=type=cache,target=/root/.cache/uv \
45
- uv sync --frozen --no-dev --no-editable
59
+ uv sync --python 3.13 --frozen --no-dev --no-editable
46
60
 
47
61
  # Make the directory just in case it doesn't exist
48
62
  RUN mkdir -p /root/.local
49
63
 
50
- FROM public.ecr.aws/sam/build-python3.10@sha256:d821662474d65f3cf2fc97dba2fa807a3adb580d02895fc4545527812550ea65
64
+ FROM public.ecr.aws/docker/library/python:3.13.5-alpine3.21@sha256:c9a09c45a4bcc618c7f7128585b8dd0d41d0c31a8a107db4c8255ffe0b69375d
51
65
 
52
66
  # Place executables in the environment at the front of the path and include other binaries
53
- ENV PATH="/app/.venv/bin:$PATH:/usr/sbin"
54
-
55
- # Install lsof for the healthcheck
56
- # Install other tools as needed for the MCP server
57
- # Add non-root user and ability to change directory into /root
58
- RUN yum update -y && \
59
- yum install -y lsof && \
60
- yum clean all -y && \
61
- rm -rf /var/cache/yum && \
62
- groupadd --force --system app && \
63
- useradd app -g app -d /app && \
64
- chmod o+x /root
65
-
66
- # Get the project from the uv layer
67
- COPY --from=uv --chown=app:app /root/.local /root/.local
67
+ ENV PATH="/app/.venv/bin:$PATH" \
68
+ PYTHONUNBUFFERED=1
69
+
70
+ # Install runtime dependencies and create application user
71
+ RUN apk update && \
72
+ apk add --no-cache ca-certificates && \
73
+ update-ca-certificates && \
74
+ addgroup -S app && \
75
+ adduser -S app -G app -h /app
76
+
77
+ # Copy application artifacts from build stage
68
78
  COPY --from=uv --chown=app:app /app/.venv /app/.venv
69
79
 
70
80
  # Get healthcheck script
@@ -74,5 +84,5 @@ COPY ./docker-healthcheck.sh /usr/local/bin/docker-healthcheck.sh
74
84
  USER app
75
85
 
76
86
  # When running the container, add --db-path and a bind mount to the host's db file
77
- HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 CMD [ "docker-healthcheck.sh" ]
87
+ HEALTHCHECK --interval=60s --timeout=10s --start-period=10s --retries=3 CMD ["docker-healthcheck.sh"]
78
88
  ENTRYPOINT ["awslabs.cloudwatch-appsignals-mcp-server"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.cloudwatch-appsignals-mcp-server
3
- Version: 0.1.1
3
+ Version: 0.1.3
4
4
  Summary: An AWS Labs Model Context Protocol (MCP) server for AWS Application Signals
5
5
  Project-URL: Homepage, https://awslabs.github.io/mcp/
6
6
  Project-URL: Documentation, https://awslabs.github.io/mcp/servers/cloudwatch-appsignals-mcp-server/
@@ -24,7 +24,7 @@ Requires-Python: >=3.10
24
24
  Requires-Dist: boto3>=1.37.24
25
25
  Requires-Dist: httpx>=0.24.0
26
26
  Requires-Dist: loguru>=0.7.3
27
- Requires-Dist: mcp[cli]>=1.6.0
27
+ Requires-Dist: mcp[cli]>=1.11.0
28
28
  Requires-Dist: pydantic>=2.11.1
29
29
  Description-Content-Type: text/markdown
30
30
 
@@ -34,41 +34,88 @@ An MCP (Model Context Protocol) server that provides tools for monitoring and an
34
34
 
35
35
  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.
36
36
 
37
- ## Features
37
+ ## Key Features
38
+
39
+ 1. Monitor overall service health, diagnose root causes, and recommend actionable fixes with the built-in APM expertise.
40
+ 2. Generate business insights from telemetry data through natural language queries.
41
+
42
+ ## Prerequisites
43
+
44
+ 1. [Sign-Up for an AWS account](https://aws.amazon.com/free/?trk=78b916d7-7c94-4cab-98d9-0ce5e648dd5f&sc_channel=ps&ef_id=Cj0KCQjwxJvBBhDuARIsAGUgNfjOZq8r2bH2OfcYfYTht5v5I1Bn0lBKiI2Ii71A8Gk39ZU5cwMLPkcaAo_CEALw_wcB:G:s&s_kwcid=AL!4422!3!432339156162!e!!g!!aws%20sign%20up!9572385111!102212379327&gad_campaignid=9572385111&gbraid=0AAAAADjHtp99c5A9DUyUaUQVhVEoi8of3&gclid=Cj0KCQjwxJvBBhDuARIsAGUgNfjOZq8r2bH2OfcYfYTht5v5I1Bn0lBKiI2Ii71A8Gk39ZU5cwMLPkcaAo_CEALw_wcB)
45
+ 2. [Enable Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html) for your applications
46
+ 3. Install `uv` from [Astral](https://docs.astral.sh/uv/getting-started/installation/) or the [GitHub README](https://github.com/astral-sh/uv#installation)
47
+ 4. Install Python using `uv python install 3.10`
38
48
 
39
49
  ### Available Tools
40
50
 
41
51
  1. **`list_monitored_services`** - List all services monitored by AWS Application Signals
42
52
  - Get an overview of all monitored services
43
53
  - See service names, types, and key attributes
44
- - Identify which services are being tracked
54
+ - Identify the services monitored by Application Signals
45
55
 
46
56
  2. **`get_service_detail`** - Get detailed information about a specific service
47
- - Understand service configuration and deployment
48
- - View available CloudWatch metrics
57
+ - Get Service key properties such as Hosting environment, list of APIs,etc
58
+ - Get the list of ApplicationSignals metrics available on service
49
59
  - Find associated log groups
50
60
 
51
- ## Installation
61
+ 3. **`list_slis`** - List all SLOs and SLIs status for all services
62
+ - List the configured SLOs and across all services
63
+ - Find out all breached SLIs and status
52
64
 
53
- ### Installing via Smithery
65
+ 4. **`get_slo`** - Gets the details configuration for a specific SLO
66
+ - Return the relevant metrics info, SLO threshold
54
67
 
55
- To install CloudWatch Application Signals MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/awslabs.cloudwatch-appsignals-mcp-server):
68
+ 5. **`search_transaction_spans`** - Queries OTel Spans data via Transaction Search
69
+ - Query OTel Spans to root cause the potential problems
70
+ - Generate business performance insights summaries
56
71
 
57
- ```bash
58
- npx @smithery/cli install awslabs.cloudwatch-appsignals-mcp-server --client claude
59
- ```
72
+ 6. **`query_sampled_traces`** - Queries AWS X-Ray traces to gain deeper insights
73
+ - Find the impact from the tracing dependency view
74
+ - Return the exact error stack for LLM to suggest the actionable fixes
60
75
 
61
- ### Installing via Cursor
76
+ 7. **`query_service_metrics`** - Queries Application Signals metrics for root causing service performance issues
77
+ - Query Application Signals RED metrics to correlate the relevant OTel Spans/Traces for troubleshooting
62
78
 
63
- To install CloudWatch Application Signals MCP Server for Cursor automatically:
79
+ ## Installation
64
80
 
65
- [![Install in Cursor](https://img.shields.io/badge/Install%20in%20Cursor-Install-blue?style=for-the-badge&logo=cursor&logoColor=white)](https://cursor.com/settings/extensions/install?server=awslabs.cloudwatch-appsignals-mcp-server)
81
+ ### One-Click Installation
82
+
83
+ | Cursor | VS Code |
84
+ |:------:|:-------:|
85
+ | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/install-mcp?name=awslabs.cloudwatch-appsignals-mcp-server&config=eyJhdXRvQXBwcm92ZSI6W10sImRpc2FibGVkIjpmYWxzZSwidGltZW91dCI6NjAsImNvbW1hbmQiOiJ1dnggYXdzbGFicy5jbG91ZHdhdGNoLWFwcHNpZ25hbHMtbWNwLXNlcnZlckBsYXRlc3QiLCJlbnYiOnsiQVdTX1BST0ZJTEUiOiJbVGhlIEFXUyBQcm9maWxlIE5hbWUgdG8gdXNlIGZvciBBV1MgYWNjZXNzXSIsIkFXU19SRUdJT04iOiJbVGhlIEFXUyByZWdpb24gdG8gcnVuIGluXSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwidHJhbnNwb3J0VHlwZSI6InN0ZGlvIn0%3D) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=CloudWatch%20Application%20Signals%20MCP%20Server&config=%7B%22autoApprove%22%3A%5B%5D%2C%22disabled%22%3Afalse%2C%22timeout%22%3A60%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cloudwatch-appsignals-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22AWS_PROFILE%22%3A%22%5BThe%20AWS%20Profile%20Name%20to%20use%20for%20AWS%20access%5D%22%2C%22AWS_REGION%22%3A%22%5BThe%20AWS%20region%20to%20run%20in%5D%22%2C%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22transportType%22%3A%22stdio%22%7D) |
66
86
 
67
87
  ### Installing via `uv`
68
88
 
69
89
  When using [`uv`](https://docs.astral.sh/uv/) no specific installation is needed. We will
70
90
  use [`uvx`](https://docs.astral.sh/uv/guides/tools/) to directly run *awslabs.cloudwatch-appsignals-mcp-server*.
71
91
 
92
+ ### Installing for Amazon Q (Preview)
93
+
94
+ - Start Amazon Q Developer CLI from [here](https://github.com/aws/amazon-q-developer-cli).
95
+ - Add the following configuration in `~/.aws/amazonq/mcp.json` file.
96
+ ```json
97
+ {
98
+ "mcpServers": {
99
+ "awslabs.cloudwatch-appsignals-mcp-server": {
100
+ "autoApprove": [],
101
+ "disabled": false,
102
+ "timeout": 60,
103
+ "command": "uvx",
104
+ "args": [
105
+ "awslabs.cloudwatch-appsignals-mcp-server@latest"
106
+ ],
107
+ "env": {
108
+ "AWS_ACCESS_KEY_ID": "[AWS Access Key ID]",
109
+ "AWS_SECRET_ACCESS_KEY": "[AWS Access Key]",
110
+ "AWS_REGION": "[AWS Region]",
111
+ "FASTMCP_LOG_LEVEL": "ERROR"
112
+ },
113
+ "transportType": "stdio"
114
+ }
115
+ }
116
+ }
117
+ ```
118
+
72
119
  ### Installing via Claude Desktop
73
120
 
74
121
  On MacOS: `~/Library/Application\ Support/Claude/claude_desktop_config.json`
@@ -98,19 +145,38 @@ On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
98
145
  "mcpServers": {
99
146
  "awslabs.cloudwatch-appsignals-mcp-server": {
100
147
  "command": "uvx",
101
- "args": ["awslabs.cloudwatch-appsignals-mcp-server"]
148
+ "args": ["awslabs.cloudwatch-appsignals-mcp-server@latest"]
102
149
  }
103
150
  }
104
151
  }
105
152
  ```
106
153
  </details>
107
154
 
108
- ### Installing for Amazon Q (Preview)
155
+ ### Build and install docker image locally on the same host of your LLM client
156
+
157
+ 1. `git clone https://github.com/awslabs/mcp.git`
158
+ 2. Go to sub-directory 'src/cloudwatch-appsignals-mcp-server/'
159
+ 3. Run 'docker build -t awslabs/cloudwatch-appsignals-mcp-server:latest .'
109
160
 
110
- - Start Q Developer from [here](https://q.aws/chat).
111
- - Click on "Manage Connectors" and choose MCP Client.
112
- - Click "Add New Context Connector," enter a name like "CloudWatch AppSignals," and enter the command in the format: `uvx awslabs.cloudwatch-appsignals-mcp-server`.
113
- - Verify it shows "Connected" in green under the connector.
161
+ ### Add or update your LLM client's config with following:
162
+ ```json
163
+ {
164
+ "mcpServers": {
165
+ "awslabs.cloudwatch-appsignals-mcp-server": {
166
+ "command": "docker",
167
+ "args": [
168
+ "run",
169
+ "-i",
170
+ "--rm",
171
+ "-e", "AWS_ACCESS_KEY_ID=[your data]",
172
+ "-e", "AWS_SECRET_ACCESS_KEY=[your data]",
173
+ "-e", "AWS_REGION=[your data]",
174
+ "awslabs/cloudwatch-appsignals-mcp-server:latest"
175
+ ]
176
+ }
177
+ }
178
+ }
179
+ ```
114
180
 
115
181
  ### Debugging
116
182
 
@@ -4,41 +4,88 @@ An MCP (Model Context Protocol) server that provides tools for monitoring and an
4
4
 
5
5
  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.
6
6
 
7
- ## Features
7
+ ## Key Features
8
+
9
+ 1. Monitor overall service health, diagnose root causes, and recommend actionable fixes with the built-in APM expertise.
10
+ 2. Generate business insights from telemetry data through natural language queries.
11
+
12
+ ## Prerequisites
13
+
14
+ 1. [Sign-Up for an AWS account](https://aws.amazon.com/free/?trk=78b916d7-7c94-4cab-98d9-0ce5e648dd5f&sc_channel=ps&ef_id=Cj0KCQjwxJvBBhDuARIsAGUgNfjOZq8r2bH2OfcYfYTht5v5I1Bn0lBKiI2Ii71A8Gk39ZU5cwMLPkcaAo_CEALw_wcB:G:s&s_kwcid=AL!4422!3!432339156162!e!!g!!aws%20sign%20up!9572385111!102212379327&gad_campaignid=9572385111&gbraid=0AAAAADjHtp99c5A9DUyUaUQVhVEoi8of3&gclid=Cj0KCQjwxJvBBhDuARIsAGUgNfjOZq8r2bH2OfcYfYTht5v5I1Bn0lBKiI2Ii71A8Gk39ZU5cwMLPkcaAo_CEALw_wcB)
15
+ 2. [Enable Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html) for your applications
16
+ 3. Install `uv` from [Astral](https://docs.astral.sh/uv/getting-started/installation/) or the [GitHub README](https://github.com/astral-sh/uv#installation)
17
+ 4. Install Python using `uv python install 3.10`
8
18
 
9
19
  ### Available Tools
10
20
 
11
21
  1. **`list_monitored_services`** - List all services monitored by AWS Application Signals
12
22
  - Get an overview of all monitored services
13
23
  - See service names, types, and key attributes
14
- - Identify which services are being tracked
24
+ - Identify the services monitored by Application Signals
15
25
 
16
26
  2. **`get_service_detail`** - Get detailed information about a specific service
17
- - Understand service configuration and deployment
18
- - View available CloudWatch metrics
27
+ - Get Service key properties such as Hosting environment, list of APIs,etc
28
+ - Get the list of ApplicationSignals metrics available on service
19
29
  - Find associated log groups
20
30
 
21
- ## Installation
31
+ 3. **`list_slis`** - List all SLOs and SLIs status for all services
32
+ - List the configured SLOs and across all services
33
+ - Find out all breached SLIs and status
22
34
 
23
- ### Installing via Smithery
35
+ 4. **`get_slo`** - Gets the details configuration for a specific SLO
36
+ - Return the relevant metrics info, SLO threshold
24
37
 
25
- To install CloudWatch Application Signals MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/awslabs.cloudwatch-appsignals-mcp-server):
38
+ 5. **`search_transaction_spans`** - Queries OTel Spans data via Transaction Search
39
+ - Query OTel Spans to root cause the potential problems
40
+ - Generate business performance insights summaries
26
41
 
27
- ```bash
28
- npx @smithery/cli install awslabs.cloudwatch-appsignals-mcp-server --client claude
29
- ```
42
+ 6. **`query_sampled_traces`** - Queries AWS X-Ray traces to gain deeper insights
43
+ - Find the impact from the tracing dependency view
44
+ - Return the exact error stack for LLM to suggest the actionable fixes
30
45
 
31
- ### Installing via Cursor
46
+ 7. **`query_service_metrics`** - Queries Application Signals metrics for root causing service performance issues
47
+ - Query Application Signals RED metrics to correlate the relevant OTel Spans/Traces for troubleshooting
32
48
 
33
- To install CloudWatch Application Signals MCP Server for Cursor automatically:
49
+ ## Installation
34
50
 
35
- [![Install in Cursor](https://img.shields.io/badge/Install%20in%20Cursor-Install-blue?style=for-the-badge&logo=cursor&logoColor=white)](https://cursor.com/settings/extensions/install?server=awslabs.cloudwatch-appsignals-mcp-server)
51
+ ### One-Click Installation
52
+
53
+ | Cursor | VS Code |
54
+ |:------:|:-------:|
55
+ | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/install-mcp?name=awslabs.cloudwatch-appsignals-mcp-server&config=eyJhdXRvQXBwcm92ZSI6W10sImRpc2FibGVkIjpmYWxzZSwidGltZW91dCI6NjAsImNvbW1hbmQiOiJ1dnggYXdzbGFicy5jbG91ZHdhdGNoLWFwcHNpZ25hbHMtbWNwLXNlcnZlckBsYXRlc3QiLCJlbnYiOnsiQVdTX1BST0ZJTEUiOiJbVGhlIEFXUyBQcm9maWxlIE5hbWUgdG8gdXNlIGZvciBBV1MgYWNjZXNzXSIsIkFXU19SRUdJT04iOiJbVGhlIEFXUyByZWdpb24gdG8gcnVuIGluXSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwidHJhbnNwb3J0VHlwZSI6InN0ZGlvIn0%3D) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=CloudWatch%20Application%20Signals%20MCP%20Server&config=%7B%22autoApprove%22%3A%5B%5D%2C%22disabled%22%3Afalse%2C%22timeout%22%3A60%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cloudwatch-appsignals-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22AWS_PROFILE%22%3A%22%5BThe%20AWS%20Profile%20Name%20to%20use%20for%20AWS%20access%5D%22%2C%22AWS_REGION%22%3A%22%5BThe%20AWS%20region%20to%20run%20in%5D%22%2C%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22transportType%22%3A%22stdio%22%7D) |
36
56
 
37
57
  ### Installing via `uv`
38
58
 
39
59
  When using [`uv`](https://docs.astral.sh/uv/) no specific installation is needed. We will
40
60
  use [`uvx`](https://docs.astral.sh/uv/guides/tools/) to directly run *awslabs.cloudwatch-appsignals-mcp-server*.
41
61
 
62
+ ### Installing for Amazon Q (Preview)
63
+
64
+ - Start Amazon Q Developer CLI from [here](https://github.com/aws/amazon-q-developer-cli).
65
+ - Add the following configuration in `~/.aws/amazonq/mcp.json` file.
66
+ ```json
67
+ {
68
+ "mcpServers": {
69
+ "awslabs.cloudwatch-appsignals-mcp-server": {
70
+ "autoApprove": [],
71
+ "disabled": false,
72
+ "timeout": 60,
73
+ "command": "uvx",
74
+ "args": [
75
+ "awslabs.cloudwatch-appsignals-mcp-server@latest"
76
+ ],
77
+ "env": {
78
+ "AWS_ACCESS_KEY_ID": "[AWS Access Key ID]",
79
+ "AWS_SECRET_ACCESS_KEY": "[AWS Access Key]",
80
+ "AWS_REGION": "[AWS Region]",
81
+ "FASTMCP_LOG_LEVEL": "ERROR"
82
+ },
83
+ "transportType": "stdio"
84
+ }
85
+ }
86
+ }
87
+ ```
88
+
42
89
  ### Installing via Claude Desktop
43
90
 
44
91
  On MacOS: `~/Library/Application\ Support/Claude/claude_desktop_config.json`
@@ -68,19 +115,38 @@ On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
68
115
  "mcpServers": {
69
116
  "awslabs.cloudwatch-appsignals-mcp-server": {
70
117
  "command": "uvx",
71
- "args": ["awslabs.cloudwatch-appsignals-mcp-server"]
118
+ "args": ["awslabs.cloudwatch-appsignals-mcp-server@latest"]
72
119
  }
73
120
  }
74
121
  }
75
122
  ```
76
123
  </details>
77
124
 
78
- ### Installing for Amazon Q (Preview)
125
+ ### Build and install docker image locally on the same host of your LLM client
126
+
127
+ 1. `git clone https://github.com/awslabs/mcp.git`
128
+ 2. Go to sub-directory 'src/cloudwatch-appsignals-mcp-server/'
129
+ 3. Run 'docker build -t awslabs/cloudwatch-appsignals-mcp-server:latest .'
79
130
 
80
- - Start Q Developer from [here](https://q.aws/chat).
81
- - Click on "Manage Connectors" and choose MCP Client.
82
- - Click "Add New Context Connector," enter a name like "CloudWatch AppSignals," and enter the command in the format: `uvx awslabs.cloudwatch-appsignals-mcp-server`.
83
- - Verify it shows "Connected" in green under the connector.
131
+ ### Add or update your LLM client's config with following:
132
+ ```json
133
+ {
134
+ "mcpServers": {
135
+ "awslabs.cloudwatch-appsignals-mcp-server": {
136
+ "command": "docker",
137
+ "args": [
138
+ "run",
139
+ "-i",
140
+ "--rm",
141
+ "-e", "AWS_ACCESS_KEY_ID=[your data]",
142
+ "-e", "AWS_SECRET_ACCESS_KEY=[your data]",
143
+ "-e", "AWS_REGION=[your data]",
144
+ "awslabs/cloudwatch-appsignals-mcp-server:latest"
145
+ ]
146
+ }
147
+ }
148
+ }
149
+ ```
84
150
 
85
151
  ### Debugging
86
152