AWS CLI MCP Server

io.github.musaddiq-dev由 GitHub 账号 musaddiq-dev 发布v0.1.2更新于 Oct 24, 2026

Python MCP server for AWS CLI inspection and operations

概览

AI 生成的概览

一个本地 MCP 服务器,让助手通过 AWS CLI 执行命令、推荐命令、查询区域并检查调用者身份。

可以做什么
以 shell 风格解析参数且不经过 shell 展开来执行 AWS CLI 命令,保留引号参数并拦截 shell 操作符。根据自然语言请求推荐常用 AWS CLI 命令。列出可用的 AWS 区域并返回当前调用者身份。校验配置,并将日志写入 stderr 和本地日志文件。
适用场景
适合在桌面 MCP 客户端中让助手通过 AWS CLI 查看或操作 AWS 账户,例如查询区域、确认当前生效的身份,或在人工审核下执行限定范围的命令。建议用于非生产环境或最小权限配置,且能接受命令执行风险时使用。
运行要求
以 uvx 从 PyPI 包 mdev-aws-mcp-server 运行的本地进程。需要 Python 3.12+、PATH 中可用的 AWS CLI v2,以及通过 profile、SSO、环境变量或 IAM 角色配置的 AWS 凭证。可选设置包括 AWS_PROFILE、AWS_REGION、AWS_MCP_WORKING_DIR、AWS_MCP_REQUIRE_CONFIRMATION 和 AWS_MCP_LOG_LEVEL。
安装前请注意
该服务器使用进程可用的凭证执行 AWS CLI 命令,因此可能修改或删除 AWS 资源。拦截 shell 操作符和标记危险命令不能替代 IAM 最小权限和人工审核。请使用限定范围的 profile,避免长期访问密钥,将 call_aws 保持为手动批准,且不要通过网络暴露该服务器。

安装

在 SourceWeft 中

  1. 打开 控制台中的 AWS CLI MCP Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

AWS MCP Server

A Python Model Context Protocol (MCP) server that lets MCP-compatible clients inspect and operate AWS through the AWS CLI. It supports command execution with validation, command suggestions, AWS region lookup, and caller identity checks.

Features

  • Execute AWS CLI commands without shell expansion, preserving quoted arguments with shell-style parsing
  • Suggest common AWS CLI commands from natural language requests
  • Return available AWS regions
  • Return the current caller identity
  • Support stdio transport for local MCP clients
  • Validate configuration and write logs to stderr plus a local log file

Safety Model

This server can execute AWS CLI commands using the credentials available to the process. It blocks shell operators by using subprocess.run(..., shell=False) and flags destructive-looking commands, but it cannot replace IAM least privilege or human review. Use scoped AWS profiles or roles, prefer non-production accounts for testing, and keep destructive commands on manual approval in your MCP client.

Requirements

Installation

When published to PyPI, install or run the server like a standard Python MCP package:

bash
uvx mdev-aws-mcp-server

For local development from source:

bash
git clone https://github.com/musaddiq-dev/aws-cli-mcp-server.gitcd aws-cli-mcp-serverpython -m venv .venvsource .venv/bin/activatepip install -e .

Configuration

Before running this server, install the AWS CLI using the official AWS CLI install guide, then configure credentials using the official AWS CLI sign-in guide and AWS CLI configuration guide. AWS recommends short-term credentials where possible; avoid long-term IAM user keys unless your use case requires them.

Copy the example environment file and adjust values as needed.

bash
cp .env.example .env
VariableDescriptionDefault
AWS_REGIONDefault AWS regionus-east-1
AWS_PROFILEAWS credentials profiledefault
AWS_MCP_WORKING_DIRWorking directory for file operations/tmp/aws-mcp-work
AWS_MCP_REQUIRE_CONFIRMATIONEmit warnings for destructive-looking operationstrue
AWS_MCP_LOG_LEVELApplication log levelINFO

Running

bash
mdev-aws-mcp-server

From a local checkout before PyPI publication, run:

bash
python -m aws_mcp_server.server

MCP Client Configuration

For published installs, prefer uvx. MCP servers using stdio must write protocol messages only to stdout; this server writes logs to stderr and a local file under ~/.aws-mcp-server/logs.

Claude Desktop / Cursor / Windsurf / Cline

Most MCP clients accept this mcpServers JSON shape:

json
{  "mcpServers": {    "aws": {      "command": "uvx",      "args": ["mdev-aws-mcp-server"],      "env": {        "AWS_PROFILE": "default",        "AWS_REGION": "us-east-1"      }    }  }}

For local development from this repository, use the installed console script path instead:

json
{  "mcpServers": {    "aws": {      "command": "/absolute/path/to/aws-cli-mcp-server/.venv/bin/mdev-aws-mcp-server",      "args": [],      "env": {        "AWS_PROFILE": "default",        "AWS_REGION": "us-east-1"      }    }  }}

Claude Code CLI

bash
claude mcp add aws --env AWS_PROFILE=default --env AWS_REGION=us-east-1 -- uvx mdev-aws-mcp-server

VS Code MCP

VS Code uses the same command/args/env model in its MCP configuration:

json
{  "servers": {    "aws": {      "type": "stdio",      "command": "uvx",      "args": ["mdev-aws-mcp-server"],      "env": {        "AWS_PROFILE": "default",        "AWS_REGION": "us-east-1"      }    }  }}

Tools

ToolPurposeSafety
call_awsExecute an AWS CLI commandCan modify AWS resources
suggest_aws_commandsSuggest common AWS CLI commandsRead-only
get_aws_regionsList AWS regionsRead-only
get_caller_identityReturn current AWS identityRead-only

Development

bash
pip install -e .pip install -e '.[dev]'pytestruff check .ruff format .pyright

Smoke Check

bash
python -m py_compile src/aws_mcp_server/server.py src/aws_mcp_server/config.py src/aws_mcp_server/aws/executor.pypython -m pytest

Manual AWS check, if credentials are configured:

bash
aws sts get-caller-identity

Distribution

This server is published through the standard Python MCP distribution path:

  • PyPI package: mdev-aws-mcp-server
  • MCP Registry name: io.github.musaddiq-dev/aws-cli-mcp-server
  • Runtime hint: uvx
  • Transport: stdio

The mcp-name marker at the top of this README is required for MCP Registry ownership verification. Users should prefer uvx mdev-aws-mcp-server in local MCP client configurations.

Security Notes

  • Do not commit .env, AWS credentials, profiles, access keys, or account-specific outputs.
  • Use least-privilege IAM permissions for the profile or role running this server.
  • Keep call_aws on explicit manual approval in your MCP client.
  • Do not expose this server over a network without adding authentication, TLS, and network controls.
  • Review generated command suggestions before executing them.

License

MIT

来源:README.md,提交 989a081

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分