awslabs.cloudwatch-appsignals-mcp-server 0.1.3__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.
@@ -14,4 +14,4 @@
14
14
 
15
15
  """AWS Application Signals MCP Server."""
16
16
 
17
- __version__ = '0.1.0'
17
+ __version__ = '0.1.4'
@@ -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
- # Initialize AWS clients with logging
48
- try:
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
- logs_client = boto3.client('logs', region_name=AWS_REGION, config=config)
51
- appsignals_client = boto3.client('application-signals', region_name=AWS_REGION, config=config)
52
- cloudwatch_client = boto3.client('cloudwatch', region_name=AWS_REGION, config=config)
53
- xray_client = boto3.client('xray', region_name=AWS_REGION, config=config)
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
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/
@@ -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-server": {
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
- "AWS_ACCESS_KEY_ID": "[AWS Access Key ID]",
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
- "-e", "AWS_ACCESS_KEY_ID=[your data]",
172
- "-e", "AWS_SECRET_ACCESS_KEY=[your data]",
173
- "-e", "AWS_REGION=[your data]",
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 the standard AWS credential chain via boto3. It will automatically use credentials from:
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
- No additional credential configuration is needed beyond your standard AWS setup.
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.3.dist-info/METADATA,sha256=GwmUhjfkNdP_2Q1JC_RgQarlVoiadRgC6htTeV0WSQQ,11834
6
- awslabs_cloudwatch_appsignals_mcp_server-0.1.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
7
- awslabs_cloudwatch_appsignals_mcp_server-0.1.3.dist-info/entry_points.txt,sha256=iGwIMLU6AsBawl2Fhqi9GoeWdMGIVtg86-McaaNQqAQ,114
8
- awslabs_cloudwatch_appsignals_mcp_server-0.1.3.dist-info/licenses/LICENSE,sha256=zE1N4JILDTkSIDtdmqdnKKxKEQh_VdqeoAV2230eNOI,10141
9
- awslabs_cloudwatch_appsignals_mcp_server-0.1.3.dist-info/licenses/NOTICE,sha256=Pfbul2Ga0IJU2RMZFHC8QwDvNk72WO2XMn9l3390VYs,108
10
- awslabs_cloudwatch_appsignals_mcp_server-0.1.3.dist-info/RECORD,,