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.
- awslabs_iam_mcp_server-1.0.4/Dockerfile +88 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/PKG-INFO +12 -7
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/README.md +10 -5
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/__init__.py +1 -1
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/docker-healthcheck.sh +9 -14
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/pyproject.toml +2 -2
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/uv.lock +665 -465
- awslabs_iam_mcp_server-1.0.2/Dockerfile +0 -72
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/.gitignore +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/CHANGELOG.md +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/DESIGN_COMPLIANCE.md +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/LICENSE +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/NOTICE +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/__init__.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/aws_client.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/context.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/errors.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/models.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/awslabs/iam_mcp_server/server.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/examples/get_policy_document_example.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/examples/inline_policy_demo.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/run_tests.sh +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/tests/test_context.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/tests/test_errors.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/tests/test_inline_policies.py +0 -0
- {awslabs_iam_mcp_server-1.0.2 → awslabs_iam_mcp_server-1.0.4}/tests/test_server.py +0 -0
- {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.
|
|
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.
|
|
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
|
-
####
|
|
191
|
-
|
|
190
|
+
#### One-Click Installation
|
|
191
|
+
|
|
192
|
+
| Cursor | VS Code |
|
|
193
|
+
|:------:|:-------:|
|
|
194
|
+
| [](https://cursor.com/en/install-mcp?name=awslabs.iam-mcp-server&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJhd3NsYWJzLmlhbS1tY3Atc2VydmVyQGxhdGVzdCJdLCJlbnYiOnsiQVdTX1BST0ZJTEUiOiJ5b3VyLWF3cy1wcm9maWxlIiwiQVdTX1JFR0lPTiI6InVzLWVhc3QtMSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifX0%3D) | [](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](
|
|
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
|
-
####
|
|
161
|
-
|
|
160
|
+
#### One-Click Installation
|
|
161
|
+
|
|
162
|
+
| Cursor | VS Code |
|
|
163
|
+
|:------:|:-------:|
|
|
164
|
+
| [](https://cursor.com/en/install-mcp?name=awslabs.iam-mcp-server&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJhd3NsYWJzLmlhbS1tY3Atc2VydmVyQGxhdGVzdCJdLCJlbnYiOnsiQVdTX1BST0ZJTEUiOiJ5b3VyLWF3cy1wcm9maWxlIiwiQVdTX1JFR0lPTiI6InVzLWVhc3QtMSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifX0%3D) | [](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](
|
|
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.
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
#!/bin/
|
|
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
|
-
|
|
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
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
24
|
+
# Unhealthy
|
|
25
|
+
exit 1;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "awslabs.iam-mcp-server"
|
|
3
|
-
version = "1.0.
|
|
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.
|
|
10
|
+
"mcp[cli]>=1.11.0",
|
|
11
11
|
"boto3>=1.34.0",
|
|
12
12
|
"botocore>=1.34.0",
|
|
13
13
|
]
|