文章目录
- 一、关于 AWS MCP Servers
- 什么是模型上下文协议(MCP)以及它是如何与AWS MCP服务器协同工作的?
- 为什么选择MCP服务器?
- 二、可用 Servers
- 核心MCP服务器
- AWS 文档服务器
- 亚马逊 Bedrock 知识库检索 MCP 服务器
- AWS CDK MCP 服务器
- 成本分析 MCP 服务器
- 亚马逊 Nova Canvas MCP 服务器
- AWS 图表 MCP 服务器
- AWS Lambda MCP 服务器
- AWS Terraform MCP 服务器
- 服务器用例
- 三、安装和设置
- 在容器中运行 MCP 服务器
- 使用 Cline 和 Amazon Bedrock 入门
- `cline_mcp_settings.json`
- 开始使用光标
- 四、开始使用 cursor
- `.cursor/mcp.json`
- 使用Windsurf入门
- `~/.codeium/windsurf/mcp_config.json`
- 样例
- 文档
- Vibe 编码
- 其他资源
- 安全
一、关于 AWS MCP Servers
一套专门化的 MCP 服务器,帮助您在任意使用 MCP 的环境中充分利用 AWS。
- github : https://github.com/awslabs/mcp
什么是模型上下文协议(MCP)以及它是如何与AWS MCP服务器协同工作的?
模型上下文协议(MCP)是一个开放的协议,它使得LLM应用与外部数据源和工具之间的无缝集成成为可能。无论您是在构建一个AI驱动的IDE、增强聊天界面,还是创建定制的AI工作流程,MCP都提供了一种标准化的方式来连接LLM与它们所需的上下文。
模型上下文协议README : https://github.com/modelcontextprotocol
MCP服务器是一个轻量级程序,它通过标准化的模型上下文协议公开特定的功能。宿主应用(如聊天机器人、IDE和其他AI工具)拥有MCP客户端,这些客户端与MCP服务器保持1:1的连接。常见的MCP客户端包括像Q Developer、Cline、Cursor、Windsurf这样的代理AI编码助手,以及像Claude Desktop这样的聊天机器人应用,还有更多客户端即将推出。MCP服务器可以访问本地数据源和远程服务,以提供额外的上下文,从而改善模型生成的输出。
AWS MCP服务器使用此协议为AI应用提供访问AWS文档、上下文指导和最佳实践的途径。通过标准化的MCP客户端-服务器架构,AWS功能成为您开发环境或AI应用的智能扩展。
AWS MCP服务器使增强型云原生开发、基础设施管理和开发工作流程成为可能,使AI辅助云计算更加易于访问和高效。
模型上下文协议是一个由Anthropic, PBC. 运行的开源项目,并欢迎整个社区的贡献。有关MCP的更多信息,您可以在这里找到进一步文档。
为什么选择MCP服务器?
MCP服务器通过以下几种关键方式增强了基础模型(FMs)的功能:
- 提升输出质量:通过在模型上下文中直接提供相关信息,MCP服务器显著提高了模型对特定领域(如AWS服务)的响应质量。这种方法减少了幻觉,提供了更准确的技术细节,实现了更精确的代码生成,并确保推荐与当前的AWS最佳实践和服务能力保持一致。
- 获取最新文档:基础模型可能不具备对最新发布、API或SDK的知识。MCP服务器通过引入最新文档来填补这一差距,确保您的AI助手始终使用最新的AWS功能。
- 工作流程自动化:MCP服务器将常见的工作流程转换为基础模型可以直接使用的工具。无论是CDK、Terraform还是其他AWS特定的工作流程,这些工具使AI助手能够以更高的准确性和效率执行复杂任务。
- 特定领域知识:MCP服务器提供了关于AWS服务的深入、上下文相关的知识,这些知识可能在基础模型的训练数据中并未完全体现,从而使得在云开发任务中提供更准确和有帮助的响应成为可能。
二、可用 Servers
此单一代码库包含以下MCP服务器:
核心MCP服务器
https://pypi.org/project/awslabs.core-mcp-server/
一个用于管理和协调其他AWS Labs MCP服务器的服务器。
- 自动MCP服务器管理
- 规划和指导以编排AWS Labs MCP服务器
- UVX安装支持
- 集中配置
了解更多 | 文档
AWS 文档服务器
https://pypi.org/project/awslabs.aws-documentation-mcp-server/
一个用于访问 AWS 文档和最佳实践的服务器。
- 使用官方 AWS 搜索 API 搜索文档
- 获取 AWS 文档页面的内容推荐
- 将文档转换为 Markdown 格式
了解更多 | 文档
亚马逊 Bedrock 知识库检索 MCP 服务器
https://pypi.org/project/awslabs.bedrock-kb-retrieval-mcp-server/
一个用于访问亚马逊 Bedrock 知识库的服务器。
- 发现知识库及其数据源
- 使用自然语言查询知识库
- 通过数据源筛选结果
- 重新排序结果
了解更多 | 文档
AWS CDK MCP 服务器
https://pypi.org/project/awslabs.cdk-mcp-server/
一个用于 AWS CDK 最佳实践的服务器。
- AWS CDK 项目分析和辅助
- CDK 构造推荐
- 基础设施即代码的最佳实践
了解更多 | 文档
成本分析 MCP 服务器
https://pypi.org/project/awslabs.cost-analysis-mcp-server/
一个用于 AWS 成本分析的服务器。
- 分析和可视化 AWS 成本
- 使用自然语言查询成本数据
- 生成成本报告和洞察
了解更多 | 文档
亚马逊 Nova Canvas MCP 服务器
https://pypi.org/project/awslabs.nova-canvas-mcp-server/
一个用于使用亚马逊 Nova Canvas 生成图像的服务器。
- 基于文本的图像生成,具有可自定义的参数
- 使用特定调色的板进行颜色引导的图像生成
- 工作空间集成,用于保存生成的图像
- 通过配置文件进行 AWS 认证
了解更多 | 文档
AWS 图表 MCP 服务器
https://pypi.org/project/awslabs.aws-diagram-mcp-server/
一个服务器,用于无缝创建使用 Python diagrams 包 DSL 的图表。
- 使用 Python 代码生成专业图表
- 支持 AWS 架构、序列图、流程图和类图
- 自定义图表外观、布局和样式
- 代码扫描以确保图表生成的安全性
了解更多 | 文档
AWS Lambda MCP 服务器
https://pypi.org/project/awslabs.lambda-mcp-server/
一个服务器,用于选择和运行 AWS Lambda 函数作为 MCP 工具,无需代码更改。
- 此服务器充当 MCP 客户端和 AWS Lambda 函数之间的桥梁,允许基础模型(FMs)作为工具访问和运行 Lambda 函数。
- 例如,可以使用此方法访问私有资源,如内部应用程序和数据库,而无需提供公共网络访问。
- 此方法允许 MCP 客户端使用其他 AWS 服务、私有网络和公共互联网。
- Lambda 函数描述由 MCP 用于描述工具,并应指导 FMs 在何时(该函数提供什么?)以及如何(需要哪些参数?使用哪种语法?)使用它。
了解更多 | 文档
AWS Terraform MCP 服务器
https://pypi.org/project/awslabs.terraform-mcp-server/
一个用于 AWS Terraform 最佳实践的服务器。
- 以安全为首要的开发工作流程
- Checkov 集成
- AWS 和 AWSCC 提供者文档
- AWS-IA GenAI 模块
- Terraform 工作流程执行
了解更多 | 文档
服务器用例
例如,您可以使用AWS 文档 MCP 服务器来帮助您的 AI 助手研究和生成任何 AWS 服务(如 Amazon Bedrock 内联代理)的最新代码。或者,您可以使用CDK MCP 服务器或Terraform MCP 服务器,让您的 AI 助手创建使用最新 API 并遵循 AWS 最佳实践的代码化基础设施实现。使用成本分析 MCP 服务器,您可以询问“在我部署之前,这个 CDK 项目的预估月成本是多少?”或者“你能帮我了解这个基础设施设计可能产生的 AWS 服务费用吗?”并收到详细的成本估算和预算规划见解。
三、安装和设置
每个服务器都有特定的安装说明。通常,您可以:
1、从Astral安装uv
2、使用uv python install 3.10
安装Python
3、配置具有访问所需服务的AWS凭证
4、将服务器添加到您的MCP客户端配置中
Amazon Q CLI MCP的示例配置(~/.aws/amazonq/mcp.json
):
{"mcpServers": {"awslabs.core-mcp-server": {"command": "uvx","args": ["awslabs.core-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR","MCP_SETTINGS_PATH": "path to your mcp settings file"}},"awslabs.nova-canvas-mcp-server": {"command": "uvx","args": ["awslabs.nova-canvas-mcp-server@latest"],"env": {"AWS_PROFILE": "your-aws-profile","AWS_REGION": "us-east-1","FASTMCP_LOG_LEVEL": "ERROR"}},"awslabs.bedrock-kb-retrieval-mcp-server": {"command": "uvx","args": ["awslabs.bedrock-kb-retrieval-mcp-server@latest"],"env": {"AWS_PROFILE": "your-aws-profile","AWS_REGION": "us-east-1","FASTMCP_LOG_LEVEL": "ERROR"}},"awslabs.cost-analysis-mcp-server": {"command": "uvx","args": ["awslabs.cost-analysis-mcp-server@latest"],"env": {"AWS_PROFILE": "your-aws-profile","FASTMCP_LOG_LEVEL": "ERROR"}},"awslabs.cdk-mcp-server": {"command": "uvx","args": ["awslabs.cdk-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR"}},"awslabs.aws-documentation-mcp-server": {"command": "uvx","args": ["awslabs.aws-documentation-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR"},"disabled": false,"autoApprove": []},"awslabs.lambda-mcp-server": {"command": "uvx","args": ["awslabs.lambda-mcp-server@latest"],"env": {"AWS_PROFILE": "your-aws-profile","AWS_REGION": "us-east-1","FUNCTION_PREFIX": "your-function-prefix","FUNCTION_LIST": "your-first-function, your-second-function","FUNCTION_TAG_KEY": "your-tag-key","FUNCTION_TAG_VALUE": "your-tag-value"}},"awslabs.terraform-mcp-server": {"command": "uvx","args": ["awslabs.terraform-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR"},"disabled": false,"autoApprove": []},}
}
请查看各个服务器的 README 文件以获取具体要求和配置选项。
关于使用 uvx
“@latest” 后缀时的性能说明:
使用“@latest”后缀会在每次启动您的MCP客户端时检查并下载最新的MCP服务器包,但这会带来初始加载时间增加的代价。如果您想最小化初始加载时间,请移除“@latest”,并使用以下方法之一自行管理uv缓存:
uv cache clean <工具>
: 其中 {工具} 是您想要从缓存中删除并重新安装的 mcp 服务器(例如:“awslabs.lambda-mcp-server”)(请记住删除 ‘<>’)。uvx <tool>@latest
:这将使用最新版本刷新工具并将其添加到uv缓存中。
在容器中运行 MCP 服务器
此示例使用 docker 与 “awslabs.nova-canvas-mcp-server”,并且可以针对每个 MCP 服务器重复此操作
- 构建并标记镜像
cd src/nova-canvas-mcp-server
docker build -t awslabs/nova-canvas-mcp-server .
- 可选地,将敏感的环境变量保存到文件中:
# 一个包含虚构 AWS 临时凭证的 .env 文件内容
AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
- 根据需要使用 docker 选项:
--env
、--env-file
和--volume
,因为容器内不可用"env": {}
。
{"mcpServers": {"awslabs.nova-canvas-mcp-server": {"command": "docker","args": ["run","--rm","--interactive","--env","FASTMCP_LOG_LEVEL=ERROR","--env","AWS_REGION=us-east-1","--env-file","/full/path/to/.env","--volume","/full/path/to/.aws:/app/.aws","awslabs/nova-canvas-mcp-server:latest"],"env": {}}}}
使用 Cline 和 Amazon Bedrock 入门
使用 Cline 和 Amazon Bedrock 入门
重要提示: 遵循以下说明可能会产生费用,并受 Amazon Bedrock 定价 的约束。您需承担任何相关费用。除了在 Cline 设置中选择所需的模型外,请确保您选择的模型(例如 anthropic.claude-3-7-sonnet
)已在 Amazon Bedrock 中启用。有关此信息,请参阅 这些 AWS 文档 了解如何启用模型访问 Amazon Bedrock 基础模型(FMs)。
1、按照 安装和设置 部分的步骤进行操作,以从 Astral 安装 uv
,安装 Python,并使用所需服务配置 AWS 凭据。
2、如果您使用 Visual Studio Code,请安装 Cline VS Code 扩展(或您首选 IDE 的等效扩展)。安装完成后,点击扩展以打开它。当提示时,选择您希望使用的层级。在这种情况下,我们将使用 Amazon Bedrock,因此 Cline 的免费层就足够了,因为我们将通过 Amazon Bedrock API 而不是 Cline API 发送请求。
3、选择 MCP 服务器 按钮。
4、选择 已安装 选项卡,然后点击 配置 MCP 服务器 以打开 cline_mcp_settings.json
文件。
5、在 cline_mcp_settings.json
文件中,在 mcpServers
对象中添加您希望使用的 MCP 服务器。以下是一个示例,它将使用一些当前可在此存储库中找到的 AWS MCP 服务器。确保保存文件以安装 MCP 服务器。
cline_mcp_settings.json
{"mcpServers": {"awslabs.core-mcp-server": {"command": "uvx","args": ["awslabs.core-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR","MCP_SETTINGS_PATH": "path to your mcp settings file"}},"awslabs.nova-canvas-mcp-server": {"command": "uvx","args": ["awslabs.nova-canvas-mcp-server@latest"],"env": {"AWS_PROFILE": "your-aws-profile","AWS_REGION": "us-east-1","FASTMCP_LOG_LEVEL": "ERROR"}},"awslabs.terraform-mcp-server": {"command": "uvx","args": ["awslabs.terraform-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR"},"disabled": false,"autoApprove": []},}}
6、安装完成后,您应该在 MCP 服务器已安装 选项卡下看到您的 MCP 服务器列表,并且它们应该有一个绿色的滑块来显示它们已启用。以下是一个示例,展示了两个可能的 AWS MCP 服务器。完成操作后,请点击 完成。现在您应该可以看到 Cline 聊天界面。
7、默认情况下,Cline 将设置为 API 提供程序,免费层有限制。接下来,让我们更新 API 提供程序为 AWS Bedrock,这样我们就可以通过 Bedrock 使用 LLM,账单将通过您连接的 AWS 账户进行。
8、点击设置齿轮以打开 Cline 设置。然后在 API 提供程序 下,将此从 Cline
切换到 AWS Bedrock
并选择 AWS Profile
作为身份验证类型。请注意,AWS Credentials
选项也可以使用,但它使用静态凭据(访问密钥 ID 和密钥),而不是在令牌过期时自动重新分配的临时凭据,因此使用 AWS Profile 的临时凭据更安全且推荐使用。
9、根据您希望使用的现有 AWS Profile 填写配置,选择所需的 AWS 区域,并启用跨区域推理。
10、接下来,在设置页面向下滚动,直到到达显示“自定义指令”的文本框。粘贴以下片段以确保每次提示都以 mcp-core
服务器为起点:
For every new project, always look at your MCP servers and use mcp-core as the starting point every time. Also after a task completion include the list of MCP servers used in the operation.
11、粘贴自定义提示后,点击完成返回聊天界面。
12、现在您可以开始提问并测试您已安装的 AWS MCP 服务器的功能。聊天界面的默认选项是“计划”,这将为您提供输出以便您手动操作(例如,提供一个您可以复制并粘贴到文件中的示例配置)。然而,您可以选择切换到“行动”,这将允许 Cline 代表您进行操作(例如,使用网络浏览器搜索内容、克隆存储库、执行代码等)。您可以选择启用“自动批准”部分以避免点击批准建议,但我们建议在测试期间关闭此选项,尤其是如果您已选择“行动”切换。
注意: 为了获得最佳结果,请提示Cline使用您希望使用的特定AWS MCP服务器。例如,使用Terraform MCP服务器,执行...
开始使用光标
四、开始使用 cursor
1、按照安装和设置部分中上述步骤进行操作,从Astral安装uv
,安装Python,并配置AWS凭证以及所需的服务。
2、根据您的使用情况,您可以将MCP配置放在两个位置:
A. 项目配置
- 对于特定于项目的工具,在您的项目目录中创建一个
.cursor/mcp.json
文件。 - 这允许您定义仅在特定项目中可用的MCP服务器。
B. 全局配置
- 对于您希望在所有项目中使用的工具,在您的家目录中创建一个
~/.cursor/mcp.json
文件。 - 这使得MCP服务器在您的所有Cursor工作区中可用。
.cursor/mcp.json
{"mcpServers": {"awslabs.core-mcp-server": {"command": "uvx","args": ["awslabs.core-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR","MCP_SETTINGS_PATH": "path to your mcp settings file"}},"awslabs.nova-canvas-mcp-server": {"command": "uvx","args": ["awslabs.nova-canvas-mcp-server@latest"],"env": {"AWS_PROFILE": "your-aws-profile","AWS_REGION": "us-east-1","FASTMCP_LOG_LEVEL": "ERROR"}},"awslabs.terraform-mcp-server": {"command": "uvx","args": ["awslabs.terraform-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR"},"disabled": false,"autoApprove": []},}}
3、在聊天中使用MCP Composer代理将自动使用MCP设置页面“可用工具”下列出的任何MCP工具,如果它认为它们是相关的。若要有意提示工具使用,请提示Cursor使用您希望使用的特定AWS MCP服务器。例如,使用Terraform MCP服务器,执行...
4、工具批准 默认情况下,当代理想要使用MCP工具时,它将显示一条消息请求您的批准。您可以使用工具名称旁边的箭头展开消息,并查看代理调用工具时使用的参数。
使用Windsurf入门
使用Windsurf入门
1、按照安装和设置部分中的步骤进行操作,以从Astral安装uv
,安装Python,并配置AWS凭证以及所需的服务。
2、访问MCP设置
- 导航到Windsurf - 设置 > 高级设置或使用命令面板 > 打开Windsurf设置页面
- 查找“模型上下文协议(MCP)服务器”部分
3、添加MCP服务器
- 点击“添加服务器”以添加新的MCP服务器
- 您可以从GitHub、Puppeteer、PostgreSQL等可用的模板中进行选择
- 或者,点击“添加自定义服务器”来配置您自己的服务器
4、手动配置
- 您还可以手动编辑位于
~/.codeium/windsurf/mcp_config.json
的MCP配置文件
~/.codeium/windsurf/mcp_config.json
{"mcpServers": {"awslabs.core-mcp-server": {"command": "uvx","args": ["awslabs.core-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR","MCP_SETTINGS_PATH": "path to your mcp settings file"}},"awslabs.nova-canvas-mcp-server": {"command": "uvx","args": ["awslabs.nova-canvas-mcp-server@latest"],"env": {"AWS_PROFILE": "your-aws-profile","AWS_REGION": "us-east-1","FASTMCP_LOG_LEVEL": "ERROR"}},"awslabs.terraform-mcp-server": {"command": "uvx","args": ["awslabs.terraform-mcp-server@latest"],"env": {"FASTMCP_LOG_LEVEL": "ERROR"},"disabled": false,"autoApprove": []},}}
样例
在samples目录中提供了AWS MCP服务器的现成示例。这些示例提供了可工作的代码和逐步指南,以帮助您开始使用每个MCP服务器。
文档
所有服务器的全面文档可在我们的文档网站上找到。
每个服务器的文档:
- 核心 MCP 服务器
- Amazon Bedrock 知识库检索 MCP 服务器
- AWS CDK MCP 服务器
- 成本分析 MCP 服务器
- Amazon Nova Canvas MCP 服务器
- AWS 图表 MCP 服务器
文档包括:
- 每个服务器的详细指南
- 安装和配置说明
- API 参考
- 使用示例
Vibe 编码
您可以使用这些MCP服务器与您的AI编码助手一起进行Vibe 编码。有关如何改进您的氛围编码体验的技巧和窍门,请参阅我们的指南。
其他资源
- 介绍 AWS MCP 服务器用于代码助手
- 使用 AWS MCP 服务器进行 Vibe 编码 | AWS Show & Tell
安全
有关更多信息,请参阅CONTRIBUTING。
2025-05-06(二)