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.
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/Dockerfile +33 -23
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/PKG-INFO +87 -21
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/README.md +85 -19
- awslabs_cloudwatch_appsignals_mcp_server-0.1.3/awslabs/cloudwatch_appsignals_mcp_server/server.py +1346 -0
- awslabs_cloudwatch_appsignals_mcp_server-0.1.3/awslabs/cloudwatch_appsignals_mcp_server/sli_report_client.py +340 -0
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/docker-healthcheck.sh +7 -8
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/pyproject.toml +2 -2
- awslabs_cloudwatch_appsignals_mcp_server-0.1.3/tests/test_server.py +1669 -0
- awslabs_cloudwatch_appsignals_mcp_server-0.1.3/tests/test_sli_report_client.py +443 -0
- awslabs_cloudwatch_appsignals_mcp_server-0.1.3/uv-requirements.txt +26 -0
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/uv.lock +786 -576
- awslabs_cloudwatch_appsignals_mcp_server-0.1.1/awslabs/cloudwatch_appsignals_mcp_server/server.py +0 -271
- awslabs_cloudwatch_appsignals_mcp_server-0.1.1/tests/test_server.py +0 -246
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/.gitignore +0 -0
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/.python-version +0 -0
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/CHANGELOG.md +0 -0
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/LICENSE +0 -0
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/NOTICE +0 -0
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.1 → awslabs_cloudwatch_appsignals_mcp_server-0.1.3}/awslabs/__init__.py +0 -0
- {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
- {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
|
-
#
|
|
16
|
-
FROM public.ecr.aws/
|
|
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
|
|
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/
|
|
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
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
# Install
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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=
|
|
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.
|
|
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.
|
|
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
|
|
54
|
+
- Identify the services monitored by Application Signals
|
|
45
55
|
|
|
46
56
|
2. **`get_service_detail`** - Get detailed information about a specific service
|
|
47
|
-
-
|
|
48
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
65
|
+
4. **`get_slo`** - Gets the details configuration for a specific SLO
|
|
66
|
+
- Return the relevant metrics info, SLO threshold
|
|
54
67
|
|
|
55
|
-
|
|
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
|
-
|
|
58
|
-
|
|
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
|
-
|
|
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
|
-
|
|
79
|
+
## Installation
|
|
64
80
|
|
|
65
|
-
|
|
81
|
+
### One-Click Installation
|
|
82
|
+
|
|
83
|
+
| Cursor | VS Code |
|
|
84
|
+
|:------:|:-------:|
|
|
85
|
+
| [](https://cursor.com/install-mcp?name=awslabs.cloudwatch-appsignals-mcp-server&config=eyJhdXRvQXBwcm92ZSI6W10sImRpc2FibGVkIjpmYWxzZSwidGltZW91dCI6NjAsImNvbW1hbmQiOiJ1dnggYXdzbGFicy5jbG91ZHdhdGNoLWFwcHNpZ25hbHMtbWNwLXNlcnZlckBsYXRlc3QiLCJlbnYiOnsiQVdTX1BST0ZJTEUiOiJbVGhlIEFXUyBQcm9maWxlIE5hbWUgdG8gdXNlIGZvciBBV1MgYWNjZXNzXSIsIkFXU19SRUdJT04iOiJbVGhlIEFXUyByZWdpb24gdG8gcnVuIGluXSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwidHJhbnNwb3J0VHlwZSI6InN0ZGlvIn0%3D) | [](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
|
-
###
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
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
|
|
24
|
+
- Identify the services monitored by Application Signals
|
|
15
25
|
|
|
16
26
|
2. **`get_service_detail`** - Get detailed information about a specific service
|
|
17
|
-
-
|
|
18
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
35
|
+
4. **`get_slo`** - Gets the details configuration for a specific SLO
|
|
36
|
+
- Return the relevant metrics info, SLO threshold
|
|
24
37
|
|
|
25
|
-
|
|
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
|
-
|
|
28
|
-
|
|
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
|
-
|
|
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
|
-
|
|
49
|
+
## Installation
|
|
34
50
|
|
|
35
|
-
|
|
51
|
+
### One-Click Installation
|
|
52
|
+
|
|
53
|
+
| Cursor | VS Code |
|
|
54
|
+
|:------:|:-------:|
|
|
55
|
+
| [](https://cursor.com/install-mcp?name=awslabs.cloudwatch-appsignals-mcp-server&config=eyJhdXRvQXBwcm92ZSI6W10sImRpc2FibGVkIjpmYWxzZSwidGltZW91dCI6NjAsImNvbW1hbmQiOiJ1dnggYXdzbGFicy5jbG91ZHdhdGNoLWFwcHNpZ25hbHMtbWNwLXNlcnZlckBsYXRlc3QiLCJlbnYiOnsiQVdTX1BST0ZJTEUiOiJbVGhlIEFXUyBQcm9maWxlIE5hbWUgdG8gdXNlIGZvciBBV1MgYWNjZXNzXSIsIkFXU19SRUdJT04iOiJbVGhlIEFXUyByZWdpb24gdG8gcnVuIGluXSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwidHJhbnNwb3J0VHlwZSI6InN0ZGlvIn0%3D) | [](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
|
-
###
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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
|
|