awslabs.cloudwatch-appsignals-mcp-server 0.1.15__tar.gz → 0.1.17__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 (43) hide show
  1. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/Dockerfile +19 -22
  2. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/PKG-INFO +8 -8
  3. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/README.md +7 -7
  4. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/__init__.py +1 -1
  5. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/docker-healthcheck.sh +1 -1
  6. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/pyproject.toml +1 -1
  7. awslabs_cloudwatch_appsignals_mcp_server-0.1.17/uv-requirements.txt +23 -0
  8. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/uv.lock +11 -10
  9. awslabs_cloudwatch_appsignals_mcp_server-0.1.15/uv-requirements.txt +0 -27
  10. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/.gitignore +0 -0
  11. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/.python-version +0 -0
  12. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/CHANGELOG.md +0 -0
  13. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/LICENSE +0 -0
  14. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/NOTICE +0 -0
  15. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/__init__.py +0 -0
  16. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/audit_presentation_utils.py +0 -0
  17. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/audit_utils.py +0 -0
  18. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/aws_clients.py +0 -0
  19. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/canary_utils.py +0 -0
  20. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/enablement_guides/templates/ec2/ec2-python-enablement.md +0 -0
  21. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/enablement_tools.py +0 -0
  22. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/server.py +0 -0
  23. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/service_audit_utils.py +0 -0
  24. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/service_tools.py +0 -0
  25. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/sli_report_client.py +0 -0
  26. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/slo_tools.py +0 -0
  27. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/trace_tools.py +0 -0
  28. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/awslabs/cloudwatch_appsignals_mcp_server/utils.py +0 -0
  29. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/conftest.py +0 -0
  30. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_audit_presentation_utils.py +0 -0
  31. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_audit_utils.py +0 -0
  32. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_aws_profile.py +0 -0
  33. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_canary_utils.py +0 -0
  34. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_enablement_tools.py +0 -0
  35. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_initialization.py +0 -0
  36. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_server.py +0 -0
  37. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_server_audit_functions.py +0 -0
  38. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_server_audit_tools.py +0 -0
  39. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_service_audit_utils.py +0 -0
  40. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_service_tools_operations.py +0 -0
  41. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_sli_report_client.py +0 -0
  42. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_slo_tools.py +0 -0
  43. {awslabs_cloudwatch_appsignals_mcp_server-0.1.15 → awslabs_cloudwatch_appsignals_mcp_server-0.1.17}/tests/test_utils.py +0 -0
@@ -13,7 +13,11 @@
13
13
  # limitations under the License.
14
14
 
15
15
  # dependabot should continue to update this to the latest hash.
16
- FROM public.ecr.aws/docker/library/python:3.13-alpine@sha256:070342a0cc1011532c0e69972cce2bbc6cc633eba294bae1d12abea8bd05303b AS uv
16
+ FROM public.ecr.aws/amazonlinux/amazonlinux@sha256:e27a70c006c68f0d194cc9b9624714d6ed8d979a94f60f7d31392f4c8294155b AS uv
17
+
18
+ # Install build dependencies needed for compiling packages
19
+ RUN dnf install -y shadow-utils python3 python3-devel gcc && \
20
+ dnf clean all
17
21
 
18
22
  # Install the project into `/app`
19
23
  WORKDIR /app
@@ -25,7 +29,7 @@ ENV UV_COMPILE_BYTECODE=1
25
29
  ENV UV_LINK_MODE=copy
26
30
 
27
31
  # Prefer the system python
28
- ENV UV_PYTHON_PREFERENCE=only-system
32
+ ENV UV_PYTHON_PREFERENCE=only-managed
29
33
 
30
34
  # Run without updating the uv.lock file like running with `--frozen`
31
35
  ENV UV_FROZEN=true
@@ -37,19 +41,10 @@ COPY pyproject.toml uv.lock uv-requirements.txt ./
37
41
  ENV PIP_NO_CACHE_DIR=1 \
38
42
  PIP_DISABLE_PIP_VERSION_CHECK=1
39
43
 
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
49
-
50
44
  # Install the project's dependencies using the lockfile and settings
51
45
  RUN --mount=type=cache,target=/root/.cache/uv \
52
- pip install --require-hashes --requirement uv-requirements.txt --no-cache-dir && \
46
+ python3 -m ensurepip && \
47
+ python3 -m pip install --require-hashes --requirement uv-requirements.txt --no-cache-dir && \
53
48
  uv sync --python 3.13 --frozen --no-install-project --no-dev --no-editable
54
49
 
55
50
  # Then, add the rest of the project source code and install it
@@ -61,20 +56,22 @@ RUN --mount=type=cache,target=/root/.cache/uv \
61
56
  # Make the directory just in case it doesn't exist
62
57
  RUN mkdir -p /root/.local
63
58
 
64
- FROM public.ecr.aws/docker/library/python:3.13-alpine@sha256:070342a0cc1011532c0e69972cce2bbc6cc633eba294bae1d12abea8bd05303b
59
+ FROM public.ecr.aws/amazonlinux/amazonlinux@sha256:e27a70c006c68f0d194cc9b9624714d6ed8d979a94f60f7d31392f4c8294155b
65
60
 
66
61
  # Place executables in the environment at the front of the path and include other binaries
67
- ENV PATH="/app/.venv/bin:$PATH" \
62
+ ENV PATH="/app/.venv/bin:$PATH:/usr/sbin" \
68
63
  PYTHONUNBUFFERED=1
69
64
 
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
65
+ # Install other tools as needed for the MCP server
66
+ # Add non-root user and ability to change directory into /root
67
+ RUN dnf install -y shadow-utils procps && \
68
+ dnf clean all && \
69
+ groupadd --force --system app && \
70
+ useradd app -g app -d /app && \
71
+ chmod o+x /root
76
72
 
77
- # Copy application artifacts from build stage
73
+ # Get the project from the uv layer
74
+ COPY --from=uv --chown=app:app /root/.local /root/.local
78
75
  COPY --from=uv --chown=app:app /app/.venv /app/.venv
79
76
 
80
77
  # Get healthcheck script
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.cloudwatch-appsignals-mcp-server
3
- Version: 0.1.15
3
+ Version: 0.1.17
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/
@@ -36,7 +36,7 @@ Description-Content-Type: text/markdown
36
36
 
37
37
  An MCP (Model Context Protocol) server that provides comprehensive tools for monitoring and analyzing AWS services using [AWS Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Signals.html).
38
38
 
39
- 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 with advanced audit capabilities and root cause analysis.
39
+ This server enables AI assistants like Kiro, Claude, and GitHub Copilot to help you monitor service health, analyze performance metrics, track SLO compliance, and investigate issues using distributed tracing with advanced audit capabilities and root cause analysis.
40
40
 
41
41
  ## Key Features
42
42
 
@@ -225,19 +225,19 @@ FILTER attributes.aws.local.service = "payment-service" and attributes.aws.local
225
225
 
226
226
  ### One-Click Installation
227
227
 
228
- | Cursor | VS Code |
229
- |:------:|:-------:|
230
- | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/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) |
228
+ | Kiro | Cursor | VS Code |
229
+ |:----:|:------:|:-------:|
230
+ | [![Add to Kiro](https://kiro.dev/images/add-to-kiro.svg)](https://kiro.dev/launch/mcp/add?name=awslabs.cloudwatch-appsignals-mcp-server&config=%7B%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%7D) | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/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) |
231
231
 
232
232
  ### Installing via `uv`
233
233
 
234
234
  When using [`uv`](https://docs.astral.sh/uv/) no specific installation is needed. We will
235
235
  use [`uvx`](https://docs.astral.sh/uv/guides/tools/) to directly run *awslabs.cloudwatch-appsignals-mcp-server*.
236
236
 
237
- ### Installing for Amazon Q (Preview)
237
+ ### Installing for Kiro
238
+
239
+ Example configuration for Kiro (~/.kiro/settings/mcp.json):
238
240
 
239
- - Start Amazon Q Developer CLI from [here](https://github.com/aws/amazon-q-developer-cli).
240
- - Add the following configuration in `~/.aws/amazonq/mcp.json` file.
241
241
  ```json
242
242
  {
243
243
  "mcpServers": {
@@ -6,7 +6,7 @@
6
6
 
7
7
  An MCP (Model Context Protocol) server that provides comprehensive tools for monitoring and analyzing AWS services using [AWS Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Signals.html).
8
8
 
9
- 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 with advanced audit capabilities and root cause analysis.
9
+ This server enables AI assistants like Kiro, Claude, and GitHub Copilot to help you monitor service health, analyze performance metrics, track SLO compliance, and investigate issues using distributed tracing with advanced audit capabilities and root cause analysis.
10
10
 
11
11
  ## Key Features
12
12
 
@@ -195,19 +195,19 @@ FILTER attributes.aws.local.service = "payment-service" and attributes.aws.local
195
195
 
196
196
  ### One-Click Installation
197
197
 
198
- | Cursor | VS Code |
199
- |:------:|:-------:|
200
- | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/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) |
198
+ | Kiro | Cursor | VS Code |
199
+ |:----:|:------:|:-------:|
200
+ | [![Add to Kiro](https://kiro.dev/images/add-to-kiro.svg)](https://kiro.dev/launch/mcp/add?name=awslabs.cloudwatch-appsignals-mcp-server&config=%7B%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%7D) | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/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) |
201
201
 
202
202
  ### Installing via `uv`
203
203
 
204
204
  When using [`uv`](https://docs.astral.sh/uv/) no specific installation is needed. We will
205
205
  use [`uvx`](https://docs.astral.sh/uv/guides/tools/) to directly run *awslabs.cloudwatch-appsignals-mcp-server*.
206
206
 
207
- ### Installing for Amazon Q (Preview)
207
+ ### Installing for Kiro
208
+
209
+ Example configuration for Kiro (~/.kiro/settings/mcp.json):
208
210
 
209
- - Start Amazon Q Developer CLI from [here](https://github.com/aws/amazon-q-developer-cli).
210
- - Add the following configuration in `~/.aws/amazonq/mcp.json` file.
211
211
  ```json
212
212
  {
213
213
  "mcpServers": {
@@ -14,4 +14,4 @@
14
14
 
15
15
  """AWS Application Signals MCP Server."""
16
16
 
17
- __version__ = '0.1.15'
17
+ __version__ = '0.1.17'
@@ -16,7 +16,7 @@
16
16
  SERVER="cloudwatch-appsignals-mcp-server"
17
17
 
18
18
  # Check if the server process is running
19
- if pgrep -P 0 -a -l -x -f "/app/.venv/bin/python3 /app/.venv/bin/awslabs.$SERVER" > /dev/null; then
19
+ if pgrep -P 0 -a -l -x -f "/app/.venv/bin/python3? /app/.venv/bin/awslabs.$SERVER" > /dev/null; then
20
20
  echo -n "$SERVER is running";
21
21
  exit 0;
22
22
  fi;
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "awslabs.cloudwatch-appsignals-mcp-server"
3
- version = "0.1.15"
3
+ version = "0.1.17"
4
4
  description = "An AWS Labs Model Context Protocol (MCP) server for AWS Application Signals"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -0,0 +1,23 @@
1
+ # This file was autogenerated by uv via the following command:
2
+ # uv pip compile --generate-hashes --output-file=uv-requirements.txt --strip-extras uv-requirements.in
3
+ uv==0.9.24 \
4
+ --hash=sha256:009cc82cdfc48add6ec13a0c4ffbb788ae2cab53573b4218069ca626721a404b \
5
+ --hash=sha256:15d3955bfb03a7b78aaf5afb639cedefdf0fc35ff844c92e3fe6e8700b94b84f \
6
+ --hash=sha256:1914d33e526167dc202ec4a59119c68467b31f7c71dcf8b1077571d091ca3e7c \
7
+ --hash=sha256:207c8a2d4c4d55589feb63b4be74f6ff6ab92fa81b14a6515007ccec5a868ae0 \
8
+ --hash=sha256:38c59e18fe5fa42f7baeb4f08c94914cee6d87ff8faa6fc95c994dbc0de26c90 \
9
+ --hash=sha256:3b610d89d6025000d08cd9bd458c6e264003a0ecfdaa8e4eba28938130cd1837 \
10
+ --hash=sha256:44c0b8a78724e4cfa8e9c0266023c70fc792d0b39a5da17f5f847af2b530796b \
11
+ --hash=sha256:488a07e59fb417bf86de5630197223b7a0223229e626afc124c26827db78cff8 \
12
+ --hash=sha256:63a0a46693098cf8446e41bd5d9ce7d3bc9b775a63fe0c8405ab6ee328424d46 \
13
+ --hash=sha256:6720c9939cca7daff3cccc35dd896bbe139d7d463c62cba8dbbc474ff8eb93d1 \
14
+ --hash=sha256:68a3186074c03876ee06b68730d5ff69a430296760d917ebbbb8e3fb54fb4091 \
15
+ --hash=sha256:69531d9a8772afb2dff68fef2469f666e4f8a0132b2109e36541c423415835da \
16
+ --hash=sha256:75a000f529ec92235b10fb5e16ca41f23f46c643308fd6c5b0d7b73ca056c5b9 \
17
+ --hash=sha256:841ede01d6dcf1676a21dce05f3647ba171c1d92768a03e8b8b6b7354b34a6d2 \
18
+ --hash=sha256:8cd626306b415491f839b1a9100da6795c82c44d4cf278dd7ace7a774af89df4 \
19
+ --hash=sha256:8d3c0fec7aa17f936a5b258816e856647b21f978a81bcfb2dc8caf2892a4965e \
20
+ --hash=sha256:aafe7dd9b633672054cf27f1a8e4127506324631f1af5edd051728f4f8085351 \
21
+ --hash=sha256:d59d31c25fc530c68db9164174efac511a25fc882cec49cd48f75a18e7ebd6d5 \
22
+ --hash=sha256:d7d1333d9c21088c89cb284ef29fdf48dc2015fe993174a823a3e7c991db90f9
23
+ # via -r uv-requirements.in (contents of `uv==0.9.24`)
@@ -46,7 +46,7 @@ wheels = [
46
46
 
47
47
  [[package]]
48
48
  name = "awslabs-cloudwatch-appsignals-mcp-server"
49
- version = "0.1.15"
49
+ version = "0.1.17"
50
50
  source = { editable = "." }
51
51
  dependencies = [
52
52
  { name = "boto3" },
@@ -504,11 +504,11 @@ wheels = [
504
504
 
505
505
  [[package]]
506
506
  name = "filelock"
507
- version = "3.20.1"
507
+ version = "3.20.3"
508
508
  source = { registry = "https://pypi.org/simple" }
509
- sdist = { url = "https://files.pythonhosted.org/packages/a7/23/ce7a1126827cedeb958fc043d61745754464eb56c5937c35bbf2b8e26f34/filelock-3.20.1.tar.gz", hash = "sha256:b8360948b351b80f420878d8516519a2204b07aefcdcfd24912a5d33127f188c", size = 19476, upload-time = "2025-12-15T23:54:28.027Z" }
509
+ sdist = { url = "https://files.pythonhosted.org/packages/1d/65/ce7f1b70157833bf3cb851b556a37d4547ceafc158aa9b34b36782f23696/filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1", size = 19485, upload-time = "2026-01-09T17:55:05.421Z" }
510
510
  wheels = [
511
- { url = "https://files.pythonhosted.org/packages/e3/7f/a1a97644e39e7316d850784c642093c99df1290a460df4ede27659056834/filelock-3.20.1-py3-none-any.whl", hash = "sha256:15d9e9a67306188a44baa72f569d2bfd803076269365fdea0934385da4dc361a", size = 16666, upload-time = "2025-12-15T23:54:26.874Z" },
511
+ { url = "https://files.pythonhosted.org/packages/b5/36/7fb70f04bf00bc646cd5bb45aa9eddb15e19437a28b8fb2b4a5249fac770/filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1", size = 16701, upload-time = "2026-01-09T17:55:04.334Z" },
512
512
  ]
513
513
 
514
514
  [[package]]
@@ -1606,11 +1606,11 @@ wheels = [
1606
1606
 
1607
1607
  [[package]]
1608
1608
  name = "urllib3"
1609
- version = "2.6.2"
1609
+ version = "2.6.3"
1610
1610
  source = { registry = "https://pypi.org/simple" }
1611
- sdist = { url = "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz", hash = "sha256:016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", size = 432930, upload-time = "2025-12-11T15:56:40.252Z" }
1611
+ sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" }
1612
1612
  wheels = [
1613
- { url = "https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl", hash = "sha256:ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", size = 131182, upload-time = "2025-12-11T15:56:38.584Z" },
1613
+ { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" },
1614
1614
  ]
1615
1615
 
1616
1616
  [[package]]
@@ -1629,16 +1629,17 @@ wheels = [
1629
1629
 
1630
1630
  [[package]]
1631
1631
  name = "virtualenv"
1632
- version = "20.31.2"
1632
+ version = "20.36.1"
1633
1633
  source = { registry = "https://pypi.org/simple" }
1634
1634
  dependencies = [
1635
1635
  { name = "distlib" },
1636
1636
  { name = "filelock" },
1637
1637
  { name = "platformdirs" },
1638
+ { name = "typing-extensions", marker = "python_full_version < '3.11'" },
1638
1639
  ]
1639
- sdist = { url = "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af", size = 6076316, upload-time = "2025-05-08T17:58:23.811Z" }
1640
+ sdist = { url = "https://files.pythonhosted.org/packages/aa/a3/4d310fa5f00863544e1d0f4de93bddec248499ccf97d4791bc3122c9d4f3/virtualenv-20.36.1.tar.gz", hash = "sha256:8befb5c81842c641f8ee658481e42641c68b5eab3521d8e092d18320902466ba", size = 6032239, upload-time = "2026-01-09T18:21:01.296Z" }
1640
1641
  wheels = [
1641
- { url = "https://files.pythonhosted.org/packages/f3/40/b1c265d4b2b62b58576588510fc4d1fe60a86319c8de99fd8e9fec617d2c/virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11", size = 6057982, upload-time = "2025-05-08T17:58:21.15Z" },
1642
+ { url = "https://files.pythonhosted.org/packages/6a/2a/dc2228b2888f51192c7dc766106cd475f1b768c10caaf9727659726f7391/virtualenv-20.36.1-py3-none-any.whl", hash = "sha256:575a8d6b124ef88f6f51d56d656132389f961062a9177016a50e4f507bbcc19f", size = 6008258, upload-time = "2026-01-09T18:20:59.425Z" },
1642
1643
  ]
1643
1644
 
1644
1645
  [[package]]
@@ -1,27 +0,0 @@
1
- #
2
- # This file is autogenerated by pip-compile with Python 3.12
3
- # by the following command:
4
- #
5
- # pip-compile --generate-hashes --output-file=uv-requirements.txt --strip-extras uv-requirements.in
6
- #
7
- uv==0.9.6 \
8
- --hash=sha256:0169a85d3ba5ef1c37089d64ff26de573439ca84ecf549276a2eee42d7f833f2 \
9
- --hash=sha256:0fde18c22376c8b02954c7db3847bc75ac42619932c44b43f49d056e5cfb05f9 \
10
- --hash=sha256:166175ba952d2ad727e1dbd57d7cfc1782dfe7b8d79972174a46a7aa33ddceec \
11
- --hash=sha256:3c2c2b2b093330e603d838fec26941ab6f62e8d62a012f9fa0d5ed88da39d907 \
12
- --hash=sha256:538716ec97f8d899baa7e1c427f4411525459c0ef72ea9b3625ce9610c9976e6 \
13
- --hash=sha256:547fd27ab5da7cd1a833288a36858852451d416a056825f162ecf2af5be6f8b8 \
14
- --hash=sha256:62e3f057a9ae5e5003a7cd56b617e940f519f6dabcbb22d36cdd0149df25d409 \
15
- --hash=sha256:6403176b55388cf94fb8737e73b26ee2a7b1805a9139da5afa951210986d4fcd \
16
- --hash=sha256:7e89c964f614fa3f0481060cac709d6da50feac553e1e11227d6c4c81c87af7c \
17
- --hash=sha256:86e05782f9b75d39ab1c0af98bf11e87e646a36a61d425021d5b284073e56315 \
18
- --hash=sha256:90122a76e6441b8c580fc9faf06bd8c4dbe276cb1c185ad91eceb2afa78e492a \
19
- --hash=sha256:95a62c1f668272555ad0c446bf44a9924dee06054b831d04c162e0bad736dc28 \
20
- --hash=sha256:a7c6067919d87208c4a6092033c3bc9799cb8be1c8bc6ef419a1f6d42a755329 \
21
- --hash=sha256:b2f934737c93f88c906b6a47bcc083170210fe5d66565e80a7c139599e5cbf2f \
22
- --hash=sha256:b31377ebf2d0499afc5abe3fe1abded5ca843f3a1161b432fe26eb0ce15bab8e \
23
- --hash=sha256:d1072db92cc9525febdf9d113c23916dfc20ca03e21218cc7beefe7185a90631 \
24
- --hash=sha256:e700b2098f9d365061c572d0729b4e8bc71c6468d83dfaae2537cd66e3cb1b98 \
25
- --hash=sha256:ea67369918af24ea7e01991dfc8b8988d1b0b7c49cb39d9e5bc0c409930a0a3f \
26
- --hash=sha256:f0ba311b3ca49d246f36d444d3ee81571619ef95e5f509eb694a81defcbed262
27
- # via -r uv-requirements.in (contents of `uv==0.9.6`)