Token导航 LogoToken导航TokenDH.com
AWS Resources MCP Server logo
运维云端stdio官方级别未说明来源级核验

AWS Resources MCP Server

MCP Server

@smithery/cli

A Python-based MCP server that lets Claude run boto3 code to query and manage AWS resources. Execute powerful AWS operations directly through Claude with proper sandboxing and containerization. No need for complex setups - just pass your AWS credentials and start interacting with all AWS services.

工具数

1

提示词数

0

GitHub Stars

24

资源数

0
PythonClaude云端部署ClaudeClaude Desktop

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

baryhuang

提供方

baryhuang

最后核验

2026/5/18 04:07

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y @smithery/cli install mcp-server-aws-resources-python --client claude

详细介绍

AWS资源MCP服务器

](https://hub.docker.com/r/buryhuang/mcp-server-aws-resources) ](https://hub.docker.com/r/buryhuang/mcp-server-aws-resources)

概述

一种模型上下文协议(MCP)服务器实现,提供运行生成的python代码,通过boto3查询任何AWS资源。

风险自负: 我没有将操作限制为ReadyOnly,以便谨慎的运维人员可以使用此工具进行管理操作。您的AWS用户角色将决定您可以执行的操作的权限。

演示:修复Dynamodb权限错误

https://github.com/user-attachments/assets/de88688d-d7a0-45e1-94eb-3f5d71e9a7c7

为什么选择另一台AWS MCP服务器?

我尝试了使用开发人员访问权限的AWS聊天机器人。免费级别的资源查询限制为每月25次。下一层是每月19美元,包括我不使用的90%的功能。结果是JSON格式的,并且有很多限制。

我试着用 aws mcp 但遇到了几个问题:

  1. 设置麻烦:必须克隆一个git仓库并处理本地设置
  2. 稳定性问题:在我的Mac上不够稳定
  3. Node.js堆栈:作为一名Python开发人员,我无法有效地为Node.js代码库做出贡献

因此,我创建了这种新方法:

  • 直接从Docker镜像运行-不需要git克隆
  • 使用Python和boto3以获得更好的稳定性
  • 让Python爱好者更容易做出贡献
  • 包括用于代码执行的适当沙盒
  • 保持所有物品的集装箱化和清洁

有关模型上下文协议及其工作原理的更多信息,请参阅 Anthropic的MCP文档.

组件

资源

服务器公开以下资源:

  • aws://query_resources:一种动态资源,通过boto3查询提供对AWS资源的访问

查询示例

以下是您可以执行的一些示例查询:

  1. 列出S3存储桶:
s3 = session.client('s3')
result = s3.list_buckets()
  1. 获取最新的CodePipeline部署:
def get_latest_deployment(pipeline_name):
    codepipeline = session.client('codepipeline')

    result = codepipeline.list_pipeline_executions(
        pipelineName=pipeline_name,
        maxResults=5
    )

    if result['pipelineExecutionSummaries']:
        latest_execution = max(
            [e for e in result['pipelineExecutionSummaries']
             if e['status'] == 'Succeeded'],
            key=itemgetter('startTime'),
            default=None
        )

        if latest_execution:
            result = codepipeline.get_pipeline_execution(
                pipelineName=pipeline_name,
                pipelineExecutionId=latest_execution['pipelineExecutionId']
            )
        else:
            result = None
    else:
        result = None

    return result

result = get_latest_deployment("your-pipeline-name")

备注:所有代码段都必须设置 result 将返回给客户端的变量。这 result 变量将自动转换为JSON格式,并正确处理AWS特定的对象和日期时间值。

工具

服务器提供了一个执行AWS查询的工具:

  • aws_resources_query_or_modify

- 执行boto3代码片段以查询或修改AWS资源 - 输入: - code_snippet (string):使用boto3查询AWS资源的Python代码 - 代码必须设置 result 带有查询输出的变量 - 允许进口: - 肉毒杆菌3 - 操作员 - 数据 - 日期时间 - 皮茨 - 日期 - 关于 - 时间 - 可用的内置功能: - 基本类型:dict、list、tuple、set、str、int、float、bool - 操作:len、max、min、排序、过滤、映射、求和、任意、全部 - 对象处理:hasattr、getattr、isinstance - 其他:打印, __导入__

实现细节

服务器包括几个安全功能:

  • 基于AST的代码分析,用于验证导入和代码结构
  • 受限的执行环境,内置功能有限
  • 通过正确处理AWS特定对象对结果进行JSON序列化
  • 正确的错误处理和报告

设置

先决条件

您需要具有适当权限的AWS凭据才能查询AWS资源。您可以通过以下方式获得这些:

  1. 在您的AWS帐户中创建IAM用户
  2. 为程序化访问生成访问密钥
  3. 确保IAM用户对要查询的AWS服务具有必要的权限

需要以下环境变量:

  • AWS_ACCESS_KEY_ID:您的AWS访问密钥
  • AWS_SECRET_ACCESS_KEY:您的AWS密钥
  • AWS_SESSION_TOKEN:(可选)AWS会话令牌(如果使用临时凭据)
  • AWS_DEFAULT_REGION:AWS区域(如果未设置,则默认为“us-east-1”)

您还可以使用存储在 ~/.aws/credentials 文件。为此,请设置 AWS_PROFILE 将环境变量设置为配置文件名称。

注意:确保您的AWS凭据安全,切勿将其提交给版本控制。

通过Smithery安装

通过以下方式自动安装AWS Resources MCP Server for Claude Desktop 史密瑟里:

npx -y @smithery/cli install mcp-server-aws-resources-python --client claude

Docker安装

您可以在本地构建映像,也可以从Docker Hub中提取映像。该映像是为Linux平台构建的。

支持的平台

  • Linux/amd64
  • Linux/arm64
  • Linux/arm/v7

选项1:从Docker Hub拉取

docker pull buryhuang/mcp-server-aws-resources:latest

选项2:本地构建

docker build -t mcp-server-aws-resources .

运行容器:

docker run \
  -e AWS_ACCESS_KEY_ID=your_access_key_id_here \
  -e AWS_SECRET_ACCESS_KEY=your_secret_access_key_here \
  -e AWS_DEFAULT_REGION=your_AWS_DEFAULT_REGION \
  buryhuang/mcp-server-aws-resources:latest

或者使用存储的凭据和配置文件:

docker run \
  -e AWS_PROFILE=[AWS_PROFILE_NAME] \
  -v ~/.aws:/root/.aws \
  buryhuang/mcp-server-aws-resources:latest

跨平台发布

要为多个平台发布Docker镜像,您可以使用 docker buildx 命令。请按照以下步骤操作:

  1. 创建新的构建器实例 (如果你还没有):
   docker buildx create --use
  1. 为多个平台构建和推广形象:
   docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t buryhuang/mcp-server-aws-resources:latest --push .
  1. 验证映像是否可用于指定的平台:
   docker buildx imagetools inspect buryhuang/mcp-server-aws-resources:latest

使用Claude Desktop

使用Docker运行

使用ACCESS_KEY_ID和SECRET_ACCESS_KEY的示例

{
  "mcpServers": {
    "aws-resources": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AWS_ACCESS_KEY_ID=your_access_key_id_here",
        "-e",
        "AWS_SECRET_ACCESS_KEY=your_secret_access_key_here",
        "-e",
        "AWS_DEFAULT_REGION=us-east-1",
        "buryhuang/mcp-server-aws-resources:latest"
      ]
    }
  }
}

使用PROFILE和装载本地AWS凭据的示例

{
  "mcpServers": {
    "aws-resources": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AWS_PROFILE=default",
        "-v",
        "~/.aws:/root/.aws",
        "buryhuang/mcp-server-aws-resources:latest"
      ]
    }
  }
}

使用Git克隆运行

使用git clone和profile运行的示例

{
  "mcpServers": {
    "aws": {
      "command": "/Users/gmr/.local/bin/uv",
      "args": [
        "--directory",
        "//mcp-server-aws-resources-python",
        "run",
        "src/mcp_server_aws_resources/server.py",
        "--profile",
        "testing"
      ]
    }
  }
}

目录标签

目录标签

PythonClaude云端部署cloud-platformsawsmcp-serverAWS资源管理本地部署Python开发Docker容器boto3查询MCP协议

支持客户端

ClaudeClaude Desktop

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

@smithery/cli

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP