Sign inSign up

mcp/iam-mcp-server

Verified Publisher

By mcp

Updated 2 months ago

IAM user, role, group, and policy management.

Image
Machine learning & AI
0

10K+

mcp/iam-mcp-server repository overview

AWS IAM MCP Server

IAM user, role, group, and policy management.

What is an MCP Server?

MCP Info

AttributeDetails
Docker Imagemcp/iam-mcp-server
Authorawslabs
Repositoryhttps://github.com/awslabs/mcp

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/awslabs/mcp/blob/636aca8e109b5559006044f035bb89c16e9e5410/src/iam-mcp-server/Dockerfile
Commit636aca8e109b5559006044f035bb89c16e9e5410
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/iam-mcp-server --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceApache License 2.0

Available Tools (29)

Tools provided by this ServerShort Description
add_user_to_groupAdd a user to an IAM group.
attach_group_policyAttach a managed policy to an IAM group.
attach_user_policyAttach a managed policy to an IAM user.
create_access_keyCreate a new access key for an IAM user.
create_groupCreate a new IAM group.
create_roleCreate a new IAM role.
create_userCreate a new IAM user.
delete_access_keyDelete an access key for an IAM user.
delete_groupDelete an IAM group.
delete_role_policyDelete an inline policy from an IAM role.
delete_userDelete an IAM user.
delete_user_policyDelete an inline policy from an IAM user.
detach_group_policyDetach a managed policy from an IAM group.
detach_user_policyDetach a managed policy from an IAM user.
get_groupGet detailed information about a specific IAM group.
get_managed_policy_documentRetrieve the policy document for a managed policy.
get_role_policyRetrieve an inline policy for an IAM role.
get_userGet detailed information about a specific IAM user.
get_user_policyRetrieve an inline policy for an IAM user.
list_groupsList IAM groups in the account.
list_policiesList IAM policies in the account.
list_role_policiesList all inline policies for an IAM role.
list_rolesList IAM roles in the account.
list_user_policiesList all inline policies for an IAM user.
list_usersList IAM users in the account.
put_role_policyCreate or update an inline policy for an IAM role.
put_user_policyCreate or update an inline policy for an IAM user.
remove_user_from_groupRemove a user from an IAM group.
simulate_principal_policySimulate IAM policy evaluation for a principal.

Tools Details

Tool: add_user_to_group

Add a user to an IAM group.

ParametersTypeDescription
group_namestringThe name of the IAM group
user_namestringThe name of the IAM user
confirmedboolean optionalMust be true to confirm this write operation

Tool: attach_group_policy

Attach a managed policy to an IAM group.

ParametersTypeDescription
group_namestringThe name of the IAM group
policy_arnstringThe ARN of the policy to attach
confirmedboolean optionalMust be true to confirm this write operation

Tool: attach_user_policy

Attach a managed policy to an IAM user.

ParametersTypeDescription
policy_arnstringThe ARN of the policy to attach
user_namestringThe name of the IAM user
confirmedboolean optionalMust be true to confirm this write operation

Tool: create_access_key

Create a new access key for an IAM user.

ParametersTypeDescription
user_namestringThe name of the IAM user
confirmedboolean optionalMust be true to confirm this write operation

Tool: create_group

Create a new IAM group.

This tool creates a new IAM group in your AWS account. The group will be created without any permissions by default - you'll need to attach policies separately.

Security Best Practices:

  • Use descriptive group names that indicate the group's purpose
  • Set appropriate paths for organizational structure
  • Follow the principle of least privilege when assigning permissions later Parameters|Type|Description -|-|- group_name|string|The name of the new IAM group confirmed|boolean optional|Must be true to confirm this write operation path|string optional|The path for the group

Tool: create_role

Create a new IAM role.

ParametersTypeDescription
assume_role_policy_documentstringThe trust policy document in JSON format (string or dict)
role_namestringThe name of the new IAM role
confirmedboolean optionalMust be true to confirm this write operation
descriptionstring optionalDescription of the role
max_session_durationinteger optionalMaximum session duration in seconds (3600-43200)
pathstring optionalThe path for the role
permissions_boundarystring optionalARN of the permissions boundary policy

Tool: create_user

Create a new IAM user.

This tool creates a new IAM user in your AWS account. The user will be created without any permissions by default - you'll need to attach policies separately.

Security Best Practices:

  • Use descriptive user names that indicate the user's role or purpose
  • Set appropriate paths for organizational structure
  • Consider using permissions boundaries to limit maximum permissions
  • Follow the principle of least privilege when assigning permissions later Parameters|Type|Description -|-|- ctx|string|MCP context for error reporting user_name|string|The name of the new IAM user confirmed|boolean optional|Must be true to confirm this write operation path|string optional|The path for the user permissions_boundary|string optional|ARN of the permissions boundary policy

Tool: delete_access_key

Delete an access key for an IAM user.

ParametersTypeDescription
access_key_idstringThe access key ID to delete
user_namestringThe name of the IAM user
confirmedboolean optionalMust be true to confirm this write operation

Tool: delete_group

Delete an IAM group.

ParametersTypeDescription
group_namestringThe name of the IAM group to delete
confirmedboolean optionalMust be true to confirm this write operation
forceboolean optionalForce delete by removing all members and policies first

Tool: delete_role_policy

Delete an inline policy from an IAM role.

This tool removes an inline policy from the specified role. The policy document will be permanently deleted and cannot be recovered.

ParametersTypeDescription
policy_namestringThe name of the inline policy to delete
role_namestringThe name of the IAM role
confirmedboolean optionalMust be true to confirm this write operation

Tool: delete_user

Delete an IAM user.

ParametersTypeDescription
user_namestringThe name of the IAM user to delete
confirmedboolean optionalMust be true to confirm this write operation
forceboolean optionalForce delete user by removing all attached policies, groups, and access keys first

Tool: delete_user_policy

Delete an inline policy from an IAM user.

This tool removes an inline policy from the specified user. The policy document will be permanently deleted and cannot be recovered.

ParametersTypeDescription
policy_namestringThe name of the inline policy to delete
user_namestringThe name of the IAM user
confirmedboolean optionalMust be true to confirm this write operation

Tool: detach_group_policy

Detach a managed policy from an IAM group.

ParametersTypeDescription
group_namestringThe name of the IAM group
policy_arnstringThe ARN of the policy to detach
confirmedboolean optionalMust be true to confirm this write operation

Tool: detach_user_policy

Detach a managed policy from an IAM user.

ParametersTypeDescription
policy_arnstringThe ARN of the policy to detach
user_namestringThe name of the IAM user
confirmedboolean optionalMust be true to confirm this write operation

Tool: get_group

Get detailed information about a specific IAM group.

This tool retrieves comprehensive information about an IAM group including group members, attached policies, and inline policies. Use this to get a complete picture of a group's configuration and membership.

Usage Tips:

  • Use this after list_groups to get detailed information about specific groups
  • Review attached policies to understand group permissions
  • Check group members to see who has these permissions Parameters|Type|Description -|-|- group_name|string|The name of the IAM group to retrieve

Tool: get_managed_policy_document

Retrieve the policy document for a managed policy.

This tool retrieves the policy document for a specific managed policy version. Use this to examine the actual permissions and wildcards in managed policies.

ParametersTypeDescription
policy_arnstringThe ARN of the managed policy
version_idstring optionalThe version ID of the policy (defaults to current version)

Tool: get_role_policy

Retrieve an inline policy for an IAM role.

This tool retrieves the policy document for a specific inline policy attached to a role.

ParametersTypeDescription
policy_namestringThe name of the inline policy
role_namestringThe name of the IAM role

Tool: get_user

Get detailed information about a specific IAM user.

This tool retrieves comprehensive information about an IAM user including attached policies, group memberships, and access keys. Use this to get a complete picture of a user's permissions and configuration.

Usage Tips:

  • Use this after list_users to get detailed information about specific users
  • Review attached policies to understand user permissions
  • Check access keys to identify potential security issues Parameters|Type|Description -|-|- ctx|string|MCP context for error reporting user_name|string|The name of the IAM user to retrieve

Tool: get_user_policy

Retrieve an inline policy for an IAM user.

This tool retrieves the policy document for a specific inline policy attached to a user.

ParametersTypeDescription
policy_namestringThe name of the inline policy
user_namestringThe name of the IAM user

Tool: list_groups

List IAM groups in the account.

This tool retrieves a list of IAM groups from your AWS account with optional filtering. Use this to get an overview of all groups or find specific groups by path prefix.

Usage Tips:

  • Use path_prefix to filter groups by organizational structure
  • Adjust max_items to control response size for large accounts
  • Results may be paginated for accounts with many groups Parameters|Type|Description -|-|- max_items|integer optional|Maximum number of groups to return path_prefix|string optional|Path prefix to filter groups (e.g., "/division_abc/")

Tool: list_policies

List IAM policies in the account.

ParametersTypeDescription
max_itemsinteger optionalMaximum number of policies to return
only_attachedboolean optionalOnly return policies that are attached to a user, group, or role
path_prefixstring optionalPath prefix to filter policies
scopestring optionalScope of policies to list: "All", "AWS", or "Local"

Tool: list_role_policies

List all inline policies for an IAM role.

This tool retrieves the names of all inline policies attached to the specified role.

ParametersTypeDescription
role_namestringThe name of the IAM role

Tool: list_roles

List IAM roles in the account.

ParametersTypeDescription
max_itemsinteger optionalMaximum number of roles to return
path_prefixstring optionalPath prefix to filter roles (e.g., "/service-role/")

Tool: list_user_policies

List all inline policies for an IAM user.

This tool retrieves the names of all inline policies attached to the specified user.

ParametersTypeDescription
user_namestringThe name of the IAM user

Tool: list_users

List IAM users in the account.

This tool retrieves a list of IAM users from your AWS account with optional filtering. Use this to get an overview of all users or find specific users by path prefix.

Usage Tips:

  • Use path_prefix to filter users by organizational structure
  • Adjust max_items to control response size for large accounts
  • Results may be paginated for accounts with many users Parameters|Type|Description -|-|- ctx|string|MCP context for error reporting max_items|integer optional|Maximum number of users to return path_prefix|string optional|Path prefix to filter users (e.g., "/division_abc/")

Tool: put_role_policy

Create or update an inline policy for an IAM role.

This tool creates a new inline policy or updates an existing one for the specified role. Inline policies are directly embedded in a single user, role, or group and have a one-to-one relationship with the identity.

ParametersTypeDescription
policy_documentstringThe policy document in JSON format (string or dict)
policy_namestringThe name of the inline policy
role_namestringThe name of the IAM role
confirmedboolean optionalMust be true to confirm this write operation

Tool: put_user_policy

Create or update an inline policy for an IAM user.

This tool creates a new inline policy or updates an existing one for the specified user. Inline policies are directly embedded in a single user, role, or group and have a one-to-one relationship with the identity.

Security Best Practices:

  • Follow the principle of least privilege when creating policies
  • Use managed policies for common permissions that can be reused
  • Regularly review and audit inline policies
  • Test policies using simulate_principal_policy before applying Parameters|Type|Description -|-|- policy_document|string|The policy document in JSON format (string or dict) policy_name|string|The name of the inline policy user_name|string|The name of the IAM user confirmed|boolean optional|Must be true to confirm this write operation

Tool: remove_user_from_group

Remove a user from an IAM group.

ParametersTypeDescription
group_namestringThe name of the IAM group
user_namestringThe name of the IAM user
confirmedboolean optionalMust be true to confirm this write operation

Tool: simulate_principal_policy

Simulate IAM policy evaluation for a principal.

ParametersTypeDescription
action_namesarrayList of actions to simulate
policy_source_arnstringARN of the user or role to simulate
context_entriesstring optionalContext entries for the simulation
resource_arnsstring optionalList of resource ARNs to test against

Use this MCP Server

{
  "mcpServers": {
    "awslabs-iam": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AWS_REGION",
        "-e",
        "AWS_PROFILE",
        "-e",
        "AWS_ACCESS_KEY_ID",
        "-e",
        "AWS_SECRET_ACCESS_KEY",
        "mcp/iam-mcp-server"
      ],
      "env": {
        "AWS_REGION": "us-east-1",
        "AWS_PROFILE": "default",
        "AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE",
        "AWS_SECRET_ACCESS_KEY": "your-aws-secret-access-key"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:84e5e818d

Size

120.5 MB

Last updated

2 months ago

docker pull mcp/iam-mcp-server

This week's pulls

Pulls:

101

Last week