awslabs.iam-mcp-server 1.0.2__tar.gz → 1.0.4__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 (27) hide show
  1. awslabs_iam_mcp_server-1.0.4/Dockerfile +88 -0
  2. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/PKG-INFO +12 -7
  3. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/README.md +10 -5
  4. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/__init__.py +1 -1
  5. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/docker-healthcheck.sh +9 -14
  6. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/pyproject.toml +2 -2
  7. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/uv.lock +665 -465
  8. awslabs_iam_mcp_server-1.0.2/Dockerfile +0 -72
  9. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/.gitignore +0 -0
  10. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/CHANGELOG.md +0 -0
  11. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/DESIGN_COMPLIANCE.md +0 -0
  12. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/LICENSE +0 -0
  13. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/NOTICE +0 -0
  14. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/__init__.py +0 -0
  15. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/aws_client.py +0 -0
  16. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/context.py +0 -0
  17. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/errors.py +0 -0
  18. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/models.py +0 -0
  19. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/server.py +0 -0
  20. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/examples/get_policy_document_example.py +0 -0
  21. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/examples/inline_policy_demo.py +0 -0
  22. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/run_tests.sh +0 -0
  23. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/tests/test_context.py +0 -0
  24. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/tests/test_errors.py +0 -0
  25. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/tests/test_inline_policies.py +0 -0
  26. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/tests/test_server.py +0 -0
  27. {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/uv-requirements.txt +0 -0
@@ -0,0 +1,88 @@
1
+ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
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
+
18
+ # Install the project into `/app`
19
+ WORKDIR /app
20
+
21
+ # Enable bytecode compilation
22
+ ENV UV_COMPILE_BYTECODE=1
23
+
24
+ # Copy from the cache instead of linking since it's a mounted volume
25
+ ENV UV_LINK_MODE=copy
26
+
27
+ # Prefer the system python
28
+ ENV UV_PYTHON_PREFERENCE=only-system
29
+
30
+ # Run without updating the uv.lock file like running with `--frozen`
31
+ ENV UV_FROZEN=true
32
+
33
+ # Copy the required files first
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
49
+
50
+ # Install the project's dependencies using the lockfile and settings
51
+ RUN --mount=type=cache,target=/root/.cache/uv \
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
54
+
55
+ # Then, add the rest of the project source code and install it
56
+ # Installing separately from its dependencies allows optimal layer caching
57
+ COPY . /app
58
+ RUN --mount=type=cache,target=/root/.cache/uv \
59
+ uv sync --python 3.13 --frozen --no-dev --no-editable
60
+
61
+ # Make the directory just in case it doesn't exist
62
+ RUN mkdir -p /root/.local
63
+
64
+ FROM public.ecr.aws/docker/library/python:3.13.5-alpine3.21@sha256:c9a09c45a4bcc618c7f7128585b8dd0d41d0c31a8a107db4c8255ffe0b69375d
65
+
66
+ # Place executables in the environment at the front of the path and include other binaries
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
78
+ COPY --from=uv --chown=app:app /app/.venv /app/.venv
79
+
80
+ # Get healthcheck script
81
+ COPY ./docker-healthcheck.sh /usr/local/bin/docker-healthcheck.sh
82
+
83
+ # Run as non-root
84
+ USER app
85
+
86
+ # When running the container, add --db-path and a bind mount to the host's db file
87
+ HEALTHCHECK --interval=60s --timeout=10s --start-period=10s --retries=3 CMD ["docker-healthcheck.sh"]
88
+ ENTRYPOINT ["awslabs.iam-mcp-server"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.iam-mcp-server
3
- Version: 1.0.2
3
+ Version: 1.0.4
4
4
  Summary: An AWS Labs Model Context Protocol (MCP) server for managing AWS IAM resources including users, roles, policies, and permissions
5
5
  Project-URL: homepage, https://awslabs.github.io/mcp/
6
6
  Project-URL: docs, https://awslabs.github.io/mcp/servers/iam-mcp-server/
@@ -24,7 +24,7 @@ Requires-Python: >=3.10
24
24
  Requires-Dist: boto3>=1.34.0
25
25
  Requires-Dist: botocore>=1.34.0
26
26
  Requires-Dist: loguru>=0.7.0
27
- Requires-Dist: mcp[cli]>=1.6.0
27
+ Requires-Dist: mcp[cli]>=1.11.0
28
28
  Requires-Dist: pydantic>=2.10.6
29
29
  Description-Content-Type: text/markdown
30
30
 
@@ -187,8 +187,13 @@ Add to your `cline_mcp_settings.json`:
187
187
  }
188
188
  ```
189
189
 
190
- #### Cursor
191
- [![Install in Cursor](https://img.shields.io/badge/Install%20in-Cursor-blue?style=flat-square&logo=cursor)](cursor://mcp/install?config=ewogICJtY3BTZXJ2ZXJzIjogewogICAgImF3c2xhYnMuaWFtLW1jcC1zZXJ2ZXIiOiB7CiAgICAgICJjb21tYW5kIjogInV2eCIsCiAgICAgICJhcmdzIjogWyJhd3NsYWJzLmlhbS1tY3Atc2VydmVyQGxhdGVzdCJdLAogICAgICAiZW52IjogewogICAgICAgICJBV1NfUFJPRklMRSI6ICJ5b3VyLWF3cy1wcm9maWxlIiwKICAgICAgICAiQVdTX1JFR0lPTiI6ICJ1cy1lYXN0LTEiLAogICAgICAgICJGQVNUTUNQX0xPR19MRVZFTCI6ICJFUlJPUiIKICAgICAgfQogICAgfQogIH0KfQo=)
190
+ #### One-Click Installation
191
+
192
+ | Cursor | VS Code |
193
+ |:------:|:-------:|
194
+ | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.iam-mcp-server&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJhd3NsYWJzLmlhbS1tY3Atc2VydmVyQGxhdGVzdCJdLCJlbnYiOnsiQVdTX1BST0ZJTEUiOiJ5b3VyLWF3cy1wcm9maWxlIiwiQVdTX1JFR0lPTiI6InVzLWVhc3QtMSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifX0%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=AWS%20IAM%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.iam-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22AWS_PROFILE%22%3A%22your-aws-profile%22%2C%22AWS_REGION%22%3A%22us-east-1%22%2C%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%7D) |
195
+
196
+ #### Manual Configuration
192
197
 
193
198
  Add to your `.cursor/mcp.json`:
194
199
 
@@ -674,11 +679,11 @@ python -m awslabs.iam_mcp_server.server
674
679
 
675
680
  ## Contributing
676
681
 
677
- Contributions are welcome! Please see the main repository's [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.
682
+ Contributions are welcome! Please see the main repository's [CONTRIBUTING.md](https://github.com/awslabs/mcp/blob/main/CONTRIBUTING.md) for guidelines.
678
683
 
679
684
  ## License
680
685
 
681
- This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.
686
+ This project is licensed under the Apache License 2.0. See the [LICENSE](https://github.com/awslabs/mcp/blob/main/src/iam-mcp-server/LICENSE) file for details.
682
687
 
683
688
  ## Support
684
689
 
@@ -689,4 +694,4 @@ For issues and questions:
689
694
 
690
695
  ## Changelog
691
696
 
692
- See [CHANGELOG.md](CHANGELOG.md) for version history and changes.
697
+ See [CHANGELOG.md](https://github.com/awslabs/mcp/blob/main/src/iam-mcp-server/CHANGELOG.md) for version history and changes.
@@ -157,8 +157,13 @@ Add to your `cline_mcp_settings.json`:
157
157
  }
158
158
  ```
159
159
 
160
- #### Cursor
161
- [![Install in Cursor](https://img.shields.io/badge/Install%20in-Cursor-blue?style=flat-square&logo=cursor)](cursor://mcp/install?config=ewogICJtY3BTZXJ2ZXJzIjogewogICAgImF3c2xhYnMuaWFtLW1jcC1zZXJ2ZXIiOiB7CiAgICAgICJjb21tYW5kIjogInV2eCIsCiAgICAgICJhcmdzIjogWyJhd3NsYWJzLmlhbS1tY3Atc2VydmVyQGxhdGVzdCJdLAogICAgICAiZW52IjogewogICAgICAgICJBV1NfUFJPRklMRSI6ICJ5b3VyLWF3cy1wcm9maWxlIiwKICAgICAgICAiQVdTX1JFR0lPTiI6ICJ1cy1lYXN0LTEiLAogICAgICAgICJGQVNUTUNQX0xPR19MRVZFTCI6ICJFUlJPUiIKICAgICAgfQogICAgfQogIH0KfQo=)
160
+ #### One-Click Installation
161
+
162
+ | Cursor | VS Code |
163
+ |:------:|:-------:|
164
+ | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.iam-mcp-server&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJhd3NsYWJzLmlhbS1tY3Atc2VydmVyQGxhdGVzdCJdLCJlbnYiOnsiQVdTX1BST0ZJTEUiOiJ5b3VyLWF3cy1wcm9maWxlIiwiQVdTX1JFR0lPTiI6InVzLWVhc3QtMSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifX0%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=AWS%20IAM%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.iam-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22AWS_PROFILE%22%3A%22your-aws-profile%22%2C%22AWS_REGION%22%3A%22us-east-1%22%2C%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%7D) |
165
+
166
+ #### Manual Configuration
162
167
 
163
168
  Add to your `.cursor/mcp.json`:
164
169
 
@@ -644,11 +649,11 @@ python -m awslabs.iam_mcp_server.server
644
649
 
645
650
  ## Contributing
646
651
 
647
- Contributions are welcome! Please see the main repository's [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.
652
+ Contributions are welcome! Please see the main repository's [CONTRIBUTING.md](https://github.com/awslabs/mcp/blob/main/CONTRIBUTING.md) for guidelines.
648
653
 
649
654
  ## License
650
655
 
651
- This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.
656
+ This project is licensed under the Apache License 2.0. See the [LICENSE](https://github.com/awslabs/mcp/blob/main/src/iam-mcp-server/LICENSE) file for details.
652
657
 
653
658
  ## Support
654
659
 
@@ -659,4 +664,4 @@ For issues and questions:
659
664
 
660
665
  ## Changelog
661
666
 
662
- See [CHANGELOG.md](CHANGELOG.md) for version history and changes.
667
+ See [CHANGELOG.md](https://github.com/awslabs/mcp/blob/main/src/iam-mcp-server/CHANGELOG.md) for version history and changes.
@@ -14,4 +14,4 @@
14
14
 
15
15
  """AWS IAM MCP Server package."""
16
16
 
17
- __version__ = '1.0.0'
17
+ __version__ = '1.0.4'
@@ -1,5 +1,4 @@
1
- #!/bin/bash
2
-
1
+ #!/bin/sh
3
2
  # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
3
  #
5
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,17 +13,13 @@
14
13
  # See the License for the specific language governing permissions and
15
14
  # limitations under the License.
16
15
 
17
- # Simple health check for the IAM MCP Server
18
- # This script checks if the server can start and respond to basic requests
19
-
20
- set -e
16
+ SERVER="iam-mcp-server"
21
17
 
22
- # Check if the server can import and start
23
- timeout 10s python -c "
24
- import sys
25
- sys.path.insert(0, '/app')
26
- from awslabs.iam_mcp_server.server import mcp
27
- print('IAM MCP Server health check passed')
28
- " || exit 1
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
20
+ echo -n "$SERVER is running";
21
+ exit 0;
22
+ fi;
29
23
 
30
- echo "Health check completed successfully"
24
+ # Unhealthy
25
+ exit 1;
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "awslabs.iam-mcp-server"
3
- version = "1.0.2"
3
+ version = "1.0.4"
4
4
  description = "An AWS Labs Model Context Protocol (MCP) server for managing AWS IAM resources including users, roles, policies, and permissions"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
7
7
  dependencies = [
8
8
  "loguru>=0.7.0",
9
9
  "pydantic>=2.10.6",
10
- "mcp[cli]>=1.6.0",
10
+ "mcp[cli]>=1.11.0",
11
11
  "boto3>=1.34.0",
12
12
  "botocore>=1.34.0",
13
13
  ]