AWS的MCP代理
概述
MCP Proxy for AWS是MCP客户端(AI助手和开发人员工具)和后端AWS MCP服务器之间的轻量级客户端桥梁。
代理处理 SigV4 使用本地AWS凭据进行身份验证,并提供动态工具发现,使其成为希望访问AWS Hosted SigV4安全MCP服务器而无需复杂网关设置的开发人员的理想选择。
先决条件
- 安装Python 3.10+
- 安装
uv包管理器 - 使用凭据安装和配置AWS CLI
- (可选,适用于docker用户)
安装
使用PyPi
# Run the server
uvx mcp-proxy-for-aws@latest 使用本地存储库
git clone https://github.com/aws/mcp-proxy-for-aws.git
cd mcp-proxy-for-aws
uv run mcp_proxy_for_aws/server.py 使用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=
# Credentials through parameters
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export AWS_SESSION_TOKEN=
# AWS Region
export AWS_REGION=设置示例
将以下配置添加到MCP客户端配置文件中(例如,对于Amazon Q Developer CLI,编辑 ~/.aws/amazonq/mcp.json): 备注 通过替换添加自己的端点 ``
从本地运行-使用紫外线
{
"mcpServers": {
"": {
"disabled": false,
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"/path/to/mcp_proxy_for_aws",
"run",
"server.py",
"",
"--service",
"",
"--profile",
"default",
"--region",
"us-east-1",
"--read-only",
"--log-level",
"INFO",
]
}
}
}使用Docker
{
"mcpServers": {
"": {
"command": "docker",
"args": [
"run",
"--rm",
"--volume",
"/full/path/to/.aws:/app/.aws:ro",
"mcp-proxy-for-aws",
""
],
"env": {}
}
}
}发展与贡献
有关开发设置、测试和贡献指南,请参阅:
- Developpent.md -开发环境设置和测试
- 贡献.md -如何为这个项目做出贡献
了解SigV4的资源:
- 信号V4:
- SigV4a:
许可证
版权所有Amazon.com,股份有限公司或其附属公司。保留所有权利。 根据Apache许可证2.0版(“许可证”)许可。
免责声明
LLM是非确定性的,他们会犯错误,我们建议您在面向客户的账户上使用这些工具之前,始终彻底测试并遵循您组织的最佳实践。此软件包的用户全权负责实施适当的安全控制,并且必须使用AWS身份和访问管理(IAM)来管理对AWS资源的访问。您有责任配置适当的IAM策略、角色和权限,因IAM配置不当而导致的任何安全漏洞都是您的唯一责任。使用此软件包即表示您已阅读并理解本免责声明,并同意自行承担使用该软件包的风险。
