awslabs.cloudwatch-appsignals-mcp-server 0.1.2__py3-none-any.whl → 0.1.4__py3-none-any.whl
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/__init__.py +1 -1
- awslabs/cloudwatch_appsignals_mcp_server/server.py +25 -6
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info → awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info}/METADATA +27 -22
- awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info/RECORD +10 -0
- awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info/RECORD +0 -10
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info → awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info}/WHEEL +0 -0
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info → awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info}/entry_points.txt +0 -0
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info → awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info}/licenses/LICENSE +0 -0
- {awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info → awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info}/licenses/NOTICE +0 -0
|
@@ -44,14 +44,33 @@ logger.debug(f'CloudWatch AppSignals MCP Server initialized with log level: {log
|
|
|
44
44
|
AWS_REGION = os.environ.get('AWS_REGION', 'us-east-1')
|
|
45
45
|
logger.debug(f'Using AWS region: {AWS_REGION}')
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
|
|
48
|
+
# Initialize AWS clients
|
|
49
|
+
def _initialize_aws_clients():
|
|
50
|
+
"""Initialize AWS clients with proper configuration."""
|
|
49
51
|
config = Config(user_agent_extra=f'awslabs.cloudwatch-appsignals-mcp-server/{__version__}')
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
|
|
53
|
+
# Check for AWS_PROFILE environment variable
|
|
54
|
+
if aws_profile := os.environ.get('AWS_PROFILE'):
|
|
55
|
+
logger.debug(f'Using AWS profile: {aws_profile}')
|
|
56
|
+
session = boto3.Session(profile_name=aws_profile, region_name=AWS_REGION)
|
|
57
|
+
logs = session.client('logs', config=config)
|
|
58
|
+
appsignals = session.client('application-signals', config=config)
|
|
59
|
+
cloudwatch = session.client('cloudwatch', config=config)
|
|
60
|
+
xray = session.client('xray', config=config)
|
|
61
|
+
else:
|
|
62
|
+
logs = boto3.client('logs', region_name=AWS_REGION, config=config)
|
|
63
|
+
appsignals = boto3.client('application-signals', region_name=AWS_REGION, config=config)
|
|
64
|
+
cloudwatch = boto3.client('cloudwatch', region_name=AWS_REGION, config=config)
|
|
65
|
+
xray = boto3.client('xray', region_name=AWS_REGION, config=config)
|
|
66
|
+
|
|
54
67
|
logger.debug('AWS clients initialized successfully')
|
|
68
|
+
return logs, appsignals, cloudwatch, xray
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
# Initialize clients at module level
|
|
72
|
+
try:
|
|
73
|
+
logs_client, appsignals_client, cloudwatch_client, xray_client = _initialize_aws_clients()
|
|
55
74
|
except Exception as e:
|
|
56
75
|
logger.error(f'Failed to initialize AWS clients: {str(e)}')
|
|
57
76
|
raise
|
|
@@ -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.4
|
|
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
|
|
|
@@ -78,11 +78,11 @@ This server enables AI assistants like Claude, GitHub Copilot, and Amazon Q to h
|
|
|
78
78
|
|
|
79
79
|
## Installation
|
|
80
80
|
|
|
81
|
-
###
|
|
81
|
+
### One-Click Installation
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
[](https://cursor.com/install-mcp?name=awslabs.cloudwatch-appsignals-mcp-server&config=eyJhdXRvQXBwcm92ZSI6W10sImRpc2FibGVkIjpmYWxzZSwidGltZW91dCI6NjAsImNvbW1hbmQiOiJ1dnggYXdzbGFicy5jbG91ZHdhdGNoLWFwcHNpZ25hbHMtbWNwLXNlcnZlckBsYXRlc3QiLCJlbnYiOnsiQVdTX1BST0ZJTEUiOiJbVGhlIEFXUyBQcm9maWxlIE5hbWUgdG8gdXNlIGZvciBBV1MgYWNjZXNzXSIsIkFXU19SRUdJT04iOiJbVGhlIEFXUyByZWdpb24gdG8gcnVuIGluXSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwidHJhbnNwb3J0VHlwZSI6InN0ZGlvIn0%3D)
|
|
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) |
|
|
86
86
|
|
|
87
87
|
### Installing via `uv`
|
|
88
88
|
|
|
@@ -96,17 +96,15 @@ use [`uvx`](https://docs.astral.sh/uv/guides/tools/) to directly run *awslabs.cl
|
|
|
96
96
|
```json
|
|
97
97
|
{
|
|
98
98
|
"mcpServers": {
|
|
99
|
-
"awslabs.cloudwatch-appsignals-mcp
|
|
99
|
+
"awslabs.cloudwatch-appsignals-mcp": {
|
|
100
100
|
"autoApprove": [],
|
|
101
101
|
"disabled": false,
|
|
102
|
-
"timeout": 60,
|
|
103
102
|
"command": "uvx",
|
|
104
103
|
"args": [
|
|
105
104
|
"awslabs.cloudwatch-appsignals-mcp-server@latest"
|
|
106
105
|
],
|
|
107
106
|
"env": {
|
|
108
|
-
"
|
|
109
|
-
"AWS_SECRET_ACCESS_KEY": "[AWS Access Key]",
|
|
107
|
+
"AWS_PROFILE": "[The AWS Profile Name to use for AWS access]",
|
|
110
108
|
"AWS_REGION": "[AWS Region]",
|
|
111
109
|
"FASTMCP_LOG_LEVEL": "ERROR"
|
|
112
110
|
},
|
|
@@ -130,7 +128,11 @@ On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
|
|
|
130
128
|
"mcpServers": {
|
|
131
129
|
"awslabs.cloudwatch-appsignals-mcp-server": {
|
|
132
130
|
"command": "uvx",
|
|
133
|
-
"args": ["--from", "/absolute/path/to/cloudwatch-appsignals-mcp-server", "awslabs.cloudwatch-appsignals-mcp-server"]
|
|
131
|
+
"args": ["--from", "/absolute/path/to/cloudwatch-appsignals-mcp-server", "awslabs.cloudwatch-appsignals-mcp-server"],
|
|
132
|
+
"env": {
|
|
133
|
+
"AWS_PROFILE": "[The AWS Profile Name to use for AWS access]",
|
|
134
|
+
"AWS_REGION": "[AWS Region]"
|
|
135
|
+
}
|
|
134
136
|
}
|
|
135
137
|
}
|
|
136
138
|
}
|
|
@@ -145,7 +147,11 @@ On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
|
|
|
145
147
|
"mcpServers": {
|
|
146
148
|
"awslabs.cloudwatch-appsignals-mcp-server": {
|
|
147
149
|
"command": "uvx",
|
|
148
|
-
"args": ["awslabs.cloudwatch-appsignals-mcp-server@latest"]
|
|
150
|
+
"args": ["awslabs.cloudwatch-appsignals-mcp-server@latest"],
|
|
151
|
+
"env": {
|
|
152
|
+
"AWS_PROFILE": "[The AWS Profile Name to use for AWS access]",
|
|
153
|
+
"AWS_REGION": "[AWS Region]"
|
|
154
|
+
}
|
|
149
155
|
}
|
|
150
156
|
}
|
|
151
157
|
}
|
|
@@ -168,9 +174,9 @@ On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
|
|
|
168
174
|
"run",
|
|
169
175
|
"-i",
|
|
170
176
|
"--rm",
|
|
171
|
-
"-
|
|
172
|
-
"-e", "
|
|
173
|
-
"-e", "AWS_REGION=[
|
|
177
|
+
"-v", "${HOME}/.aws:/root/.aws:ro",
|
|
178
|
+
"-e", "AWS_PROFILE=[The AWS Profile Name to use for AWS access]",
|
|
179
|
+
"-e", "AWS_REGION=[AWS Region]",
|
|
174
180
|
"awslabs/cloudwatch-appsignals-mcp-server:latest"
|
|
175
181
|
]
|
|
176
182
|
}
|
|
@@ -293,19 +299,18 @@ The server requires the following AWS IAM permissions:
|
|
|
293
299
|
|
|
294
300
|
### Environment Variables
|
|
295
301
|
|
|
302
|
+
- `AWS_PROFILE` - AWS profile name to use for authentication (defaults to `default` profile)
|
|
296
303
|
- `AWS_REGION` - AWS region (defaults to us-east-1)
|
|
297
304
|
- `MCP_CLOUDWATCH_APPSIGNALS_LOG_LEVEL` - Logging level (defaults to INFO)
|
|
298
305
|
|
|
299
306
|
### AWS Credentials
|
|
300
307
|
|
|
301
|
-
This server uses
|
|
302
|
-
- Environment variables (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, etc.)
|
|
303
|
-
- AWS credentials file (`~/.aws/credentials`)
|
|
304
|
-
- AWS config file (`~/.aws/config`)
|
|
305
|
-
- IAM roles (when running on EC2, ECS, Lambda, etc.)
|
|
306
|
-
- And other standard AWS credential providers
|
|
308
|
+
This server uses AWS profiles for authentication. Set the `AWS_PROFILE` environment variable to use a specific profile from your `~/.aws/credentials` file.
|
|
307
309
|
|
|
308
|
-
|
|
310
|
+
The server will use the standard AWS credential chain via boto3, which includes:
|
|
311
|
+
- AWS Profile specified by `AWS_PROFILE` environment variable
|
|
312
|
+
- Default profile from AWS credentials file
|
|
313
|
+
- IAM roles when running on EC2, ECS, Lambda, etc.
|
|
309
314
|
|
|
310
315
|
## Development
|
|
311
316
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
awslabs/__init__.py,sha256=WuqxdDgUZylWNmVoPKiK7qGsTB_G4UmuXIrJ-VBwDew,731
|
|
2
|
+
awslabs/cloudwatch_appsignals_mcp_server/__init__.py,sha256=6vmUCHck_8wqXqEWD9SzvA41SPclXnmtBdjnzTA5nVM,681
|
|
3
|
+
awslabs/cloudwatch_appsignals_mcp_server/server.py,sha256=aHrgd6emnS34-qyldcwjzG9qOPQVd1PLmge44mElPr8,58892
|
|
4
|
+
awslabs/cloudwatch_appsignals_mcp_server/sli_report_client.py,sha256=t9ZtbD-yBv-HxGI0Bc_d9b4XtTDNEE59ekCMSh6j_Mo,12641
|
|
5
|
+
awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info/METADATA,sha256=hg5fGQY8Ri6RUbxgRKrUas-2ckK3Arm6Us9JOBT1Vk8,12115
|
|
6
|
+
awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
7
|
+
awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info/entry_points.txt,sha256=iGwIMLU6AsBawl2Fhqi9GoeWdMGIVtg86-McaaNQqAQ,114
|
|
8
|
+
awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info/licenses/LICENSE,sha256=zE1N4JILDTkSIDtdmqdnKKxKEQh_VdqeoAV2230eNOI,10141
|
|
9
|
+
awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info/licenses/NOTICE,sha256=Pfbul2Ga0IJU2RMZFHC8QwDvNk72WO2XMn9l3390VYs,108
|
|
10
|
+
awslabs_cloudwatch_appsignals_mcp_server-0.1.4.dist-info/RECORD,,
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
awslabs/__init__.py,sha256=WuqxdDgUZylWNmVoPKiK7qGsTB_G4UmuXIrJ-VBwDew,731
|
|
2
|
-
awslabs/cloudwatch_appsignals_mcp_server/__init__.py,sha256=UDBzXsnaAPF0tJrYn7iFk3Kxcnpri-58PAoEZYjrNNE,681
|
|
3
|
-
awslabs/cloudwatch_appsignals_mcp_server/server.py,sha256=yVmgTqYHAIJCzWxopj3o15P8ntrgjmRN5rGzWTKgYF8,58146
|
|
4
|
-
awslabs/cloudwatch_appsignals_mcp_server/sli_report_client.py,sha256=t9ZtbD-yBv-HxGI0Bc_d9b4XtTDNEE59ekCMSh6j_Mo,12641
|
|
5
|
-
awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info/METADATA,sha256=U37D6kDzm7yxIeMrs0ZCzF_q04EYRFYq2TITJ4SibEY,11177
|
|
6
|
-
awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
7
|
-
awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info/entry_points.txt,sha256=iGwIMLU6AsBawl2Fhqi9GoeWdMGIVtg86-McaaNQqAQ,114
|
|
8
|
-
awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info/licenses/LICENSE,sha256=zE1N4JILDTkSIDtdmqdnKKxKEQh_VdqeoAV2230eNOI,10141
|
|
9
|
-
awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info/licenses/NOTICE,sha256=Pfbul2Ga0IJU2RMZFHC8QwDvNk72WO2XMn9l3390VYs,108
|
|
10
|
-
awslabs_cloudwatch_appsignals_mcp_server-0.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|