AWS模型上下文协议服务器

一个提供与AWS服务(如EC2、S3、Lambda等)交互工具的MCP服务器。

  • by kogunlowo123
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 kogunlowo123/mcp-server-aws

使用说明

mcp服务器aws

MCP(模型上下文协议)服务器,提供与AWS服务交互的工具,包括EC2、S3、Lambda、CloudWatch、IAM和STS。

建筑

graph TB
    subgraph Client
        style Client fill:#4A90D9,stroke:#2E6BA6,color:#FFFFFF
        MCP_Client["MCP Client"]
    end

    subgraph Server["mcp-server-aws"]
        style Server fill:#2ECC71,stroke:#1A9B52,color:#FFFFFF
        Index["index.ts<br/>MCP Server Entry"]
        subgraph Tools
            style Tools fill:#F39C12,stroke:#C67D0A,color:#FFFFFF
            T1["ec2_list_instances"]
            T2["s3_list_buckets"]
            T3["s3_get_object"]
            T4["lambda_invoke"]
            T5["cloudwatch_get_metrics"]
            T6["iam_list_roles"]
            T7["sts_get_caller_identity"]
        end
    end

    subgraph AWS["AWS Services"]
        style AWS fill:#E74C3C,stroke:#B83A2E,color:#FFFFFF
        EC2["EC2"]
        S3["S3"]
        Lambda["Lambda"]
        CW["CloudWatch"]
        IAM["IAM"]
        STS["STS"]
    end

    MCP_Client -- "stdio transport" --> Index
    Index --> T1 & T2 & T3 & T4 & T5 & T6 & T7
    T1 --> EC2
    T2 --> S3
    T3 --> S3
    T4 --> Lambda
    T5 --> CW
    T6 --> IAM
    T7 --> STS

安装

npm install
npm run build

配置

通过设置以下环境变量或配置AWS凭据 ~/.aws/credentials:

变量 描述 必填
AWS_ACCESS_KEY_ID AWS访问密钥ID 是(如果不使用配置文件)
AWS_SECRET_ACCESS_KEY AWS秘密访问密钥 是(如果不使用配置文件)
AWS_REGION AWS区域(默认值: us-east-1) 没有
AWS_PROFILE AWS配置文件名称 否

用法

独立

npm start

发展

npm run dev

码头工人

docker build -t mcp-server-aws .
docker run -e AWS_ACCESS_KEY_ID=xxx -e AWS_SECRET_ACCESS_KEY=xxx mcp-server-aws

MCP客户端配置

{
  "mcpServers": {
    "aws": {
      "command": "node",
      "args": ["dist/index.js"],
      "env": {
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

工具参考

工具 说明 参数
ec2_list_instances 列出EC2实例 region?, filters?
s3_list_buckets 列出S3存储桶 无
s3_get_object 从S3获取对象 bucket, key
lambda_invoke 调用Lambda函数 function_name, payload?
cloudwatch_get_metrics 获取CloudWatch指标 namespace, metric_name, dimensions?, period?, start_time, end_time
iam_list_roles 列出IAM角色 path_prefix?, max_items?
sts_get_caller_identity 获取呼叫者身份 无

许可证

麻省理工学院