AWS MCP代理

MCP Proxy for AWS是一个轻量级的客户端代理,用于在MCP客户端(如AI助手和开发者工具)与后端AWS MCP服务器之间建立桥梁,支持SigV4认证和动态工具发现。

  • by kbowers
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kbowers/https-github.com-aws-mcp-proxy-for-aws

使用说明

AWS的MCP代理

概述

MCP Proxy for AWS是MCP客户端(AI助手和开发人员工具)和后端AWS MCP服务器之间的轻量级客户端桥梁。

代理处理 SigV4 使用本地AWS凭据进行身份验证,并提供动态工具发现,使其成为希望访问AWS Hosted SigV4安全MCP服务器而无需复杂网关设置的开发人员的理想选择。

先决条件

安装

使用PyPi

# Run the server
uvx mcp-proxy-for-aws@latest <SigV4 MCP endpoint URL>

使用本地存储库

git clone https://github.com/aws/mcp-proxy-for-aws.git
cd mcp-proxy-for-aws
uv run mcp_proxy_for_aws/server.py <SigV4 MCP endpoint URL>

使用Docker

# Build the Docker image
docker build -t mcp-proxy-for-aws .

配置参数

参数 说明 默认值 必填
endpoint MCP端点URL(例如。, https://your-service.us-east-1.amazonaws.com/mcp) 不适用 是
--- --- --- ---
--service SigV4签名的AWS服务名称 如果未提供,则从端点推断 否
--profile 要使用的AWS凭据的AWS配置文件 用途 AWS_PROFILE 如果未设置环境变量 否
--region 要使用的AWS区域 用途 AWS_REGION 如果未设置环境变量,则默认为 us-east-1 没有
--read-only 禁用可能需要写入权限的工具 readOnlyHint=true) False 没有
--retries 配置调用上游服务时的重试次数,将其设置为0将禁用重试。 0 否
--log-level 设置日志记录级别(DEBUG/INFO/WARNING/ERROR/CRITICAL) INFO 没有
--timeout 在所有操作中设置所需的超时时间(秒) 180 否
--connect-timeout 设置所需的连接超时时间(秒) 60 否
--read-timeout 设置所需的读取超时时间(秒) 120 否
--write-timeout 设置所需的写入超时时间(秒) 180 否

可选环境变量

为AWS的MCP代理设置环境变量:

# Credentials through profile
export AWS_PROFILE=<aws_profile>

# Credentials through parameters
export AWS_ACCESS_KEY_ID=<access_key_id>
export AWS_SECRET_ACCESS_KEY=<secret_access_key>
export AWS_SESSION_TOKEN=<session_token>

# AWS Region
export AWS_REGION=<aws_region>

设置示例

将以下配置添加到MCP客户端配置文件中(例如,对于Amazon Q Developer CLI,编辑 ~/.aws/amazonq/mcp.json): 备注 通过替换添加自己的端点 <SigV4 MCP endpoint URL>

从本地运行-使用紫外线

{
  "mcpServers": {
    "<mcp server name>": {
      "disabled": false,
      "type": "stdio",
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp_proxy_for_aws",
        "run",
        "server.py",
        "<SigV4 MCP endpoint URL>",
        "--service",
        "<your service code>",
        "--profile",
        "default",
        "--region",
        "us-east-1",
        "--read-only",
        "--log-level",
        "INFO",
      ]
    }
  }
}

使用Docker

{
  "mcpServers": {
    "<mcp server name>": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--volume",
        "/full/path/to/.aws:/app/.aws:ro",
        "mcp-proxy-for-aws",
        "<SigV4 MCP endpoint URL>"
      ],
      "env": {}
    }
  }
}

发展与贡献

有关开发设置、测试和贡献指南,请参阅:

了解SigV4的资源:

许可证

版权所有Amazon.com,股份有限公司或其附属公司。保留所有权利。 根据Apache许可证2.0版(“许可证”)许可。

免责声明

LLM是非确定性的,他们会犯错误,我们建议您在面向客户的账户上使用这些工具之前,始终彻底测试并遵循您组织的最佳实践。此软件包的用户全权负责实施适当的安全控制,并且必须使用AWS身份和访问管理(IAM)来管理对AWS资源的访问。您有责任配置适当的IAM策略、角色和权限,因IAM配置不当而导致的任何安全漏洞都是您的唯一责任。使用此软件包即表示您已阅读并理解本免责声明,并同意自行承担使用该软件包的风险。