1 模型概述
AWS MCP Servers Samples 是一个开源项目集合,它展示了如何在多种编程语言和框架中实现 Model Context Protocol (MCP) 服务器。MCP本身是一个开放的协议,它使得LLM应用与外部数据源和工具之间的无缝集成成为可能。这些示例服务器充当了AI模型与外部资源(如AWS服务、数据库、文件系统等)之间的桥梁,极大地扩展了AI模型的能力。
1.1 核心能力
该项目中的MCP服务器示例具备多样化的能力,主要包括:
-
数据访问与集成:安全地连接和操作各种数据源,如文件系统(包括类似Google Drive的云存储)、PostgreSQL、SQLite数据库等,使LLM能够读取、查询和处理结构化与非结构化数据。
-
开发工具联动:与常用开发工具集成,例如 Git、GitHub、GitLab,允许AI模型执行读取仓库、搜索代码、管理问题等操作。
-
云服务与成本管理:这是AWS MCP示例的特色之一。例如 Cost Analysis MCP Server 和 aws-finops-mcp-server 可以自然语言查询和分析AWS成本与使用情况,识别浪费的云资源,并生成优化建议报告。
-
基础设施即代码(IaC):AWS CDK MCP Server 和 AWS Terraform MCP Server 可以帮助AI助手基于最新API和最佳实践来生成或分析基础设施代码。
-
其他工具扩展:项目还展示了与 Slack、Google Maps、浏览器自动化工具(如Puppeteer) 等集成的示例,覆盖了沟通、地理位置信息和Web交互等多种场景。
1.2 主要技术特点
-
标准化协议:MCP提供了一种开放标准,简化了AI模型与外部工具的集成过程,改善了不同组件间的兼容性。
-
多语言支持:示例覆盖了TypeScript、Python、Java/Kotlin(Spring AI)等多种语言和技术栈,开发者可以选用自己熟悉的技术。
-
灵活通信:支持 Server-Sent Events (SSE) 和标准输入输出(stdio) 两种通信协议,适应不同部署环境(本地、容器、云服务器)。
-
安全保障:通常内置权限控制和日志记录机制,确保数据交互的安全性。许多服务器(如FinOps服务器)强调AWS凭证安全地保留在本地。
-
可扩展性:开发者可以基于这些示例,实现额外的MCP处理器来添加自定义业务逻辑,同时保持协议兼容性。
1.3 应用场景
AWS MCP Servers Samples适用于多种需要增强AI模型能力的场景:
-
云成本优化与FinOps: 云架构师或财务运维(FinOps)团队可以利用成本分析类MCP服务器,通过自然语言对话快速获取云资源使用报告、发现成本异常并接收优化建议。
-
AI辅助的云原生开发: 开发者可以借助CDK或Terraform MCP服务器,让人工智能助手协助编写、审查符合AWS最佳实践的基础设施代码,提升开发效率和质量。
-
智能客服与知识库检索: 集成类似Bedrock知识库检索MCP服务器的项目,可以构建能智能回答专业问题的客服机器人,它能从企业知识库中精准获取信息。
-
企业内部数据查询与分析:通过连接数据库、文件系统或内部API的MCP服务器,员工可以用自然语言查询企业数据,而无需编写复杂的SQL或程序代码。
-
自动化工作流:结合Git、Slack等工具型MCP服务器,可以构建自动化工作流,例如代码提交后自动生成变更摘要并通知相关频道。
2 安装与部署方式
安装和配置MCP服务器通常涉及几个关键步骤:准备环境、安装服务器本身、以及在您选择的MCP客户端中进行配置。下面我将分系统介绍。
2.1 前置准备工作
无论哪种系统,都需要先完成以下准备工作:
-
安装 Python 和 pip:许多MCP服务器由Python编写。请从Python官网下载并安装最新版本(推荐3.10或以上)。
pip
通常会随之安装。 -
安装 UV(推荐):
uv
是一个快速的Python包安装器和解析器,由Astral开发。安装UV能加速后续操作。# 在Linux/macOS上安装uv curl -LsSf https://astral.sh/uv/install.sh | sh # 在Windows上(PowerShell) powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
安装后,请重启终端或按照提示将UV添加到您的PATH环境变量中。
-
配置AWS凭证(如果需要访问AWS服务):对于需要与AWS服务(如Cost Explorer, S3等)交互的MCP服务器,您需要配置有效的AWS凭证。
-
安装并配置AWS CLI:遵循官方指南安装AWS CLI,然后运行
aws configure
输入您的AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
、默认区域等。 -
确保配置的IAM用户/角色具有MCP服务器所需的最小权限(例如,成本分析服务器需要
ce:Get*
等权限)。
-
2.2 Windows系统安装与配置
以安装 Cost Analysis MCP Server 为例:
-
打开PowerShell:以管理员身份运行。
-
使用UV安装MCP服务器:UV会自动处理依赖和虚拟环境。
# 使用uvx直接运行(推荐,无需永久安装) uvx awslabs.cost-analysis-mcp-server # 或者先安装包 uv pip install awslabs.cost-analysis-mcp-server
-
验证安装:如果安装成功,通常不会有错误输出。您也可以尝试运行
uvx awslabs.cost-analysis-mcp-server --help
查看帮助信息。 -
配置MCP客户端(以Claude for Desktop为例):
-
找到Claude的MCP配置文件。通常在
%USERPROFILE%\AppData\Roaming\Claude\mcp.json
。 -
用文本编辑器编辑此文件(如果不存在则创建),添加服务器配置:
{ "mcpServers": { "aws-cost-analysis": { "command": "uvx", "args": ["awslabs.cost-analysis-mcp-server@latest"], "env": { "AWS_PROFILE": "your-profile-name" // 指定AWS配置文件名,如果需要 } } } }
-
保存文件并完全重启Claude。在Claude的新对话中,您应该能看到服务器激活的通知。
-
2.3 macOS系统安装与配置
在macOS上,流程与Windows类似,通常更简单。
-
打开终端(Terminal)。
-
安装MCP服务器:
# 使用uvx安装并运行 uvx awslabs.cost-analysis-mcp-server
-
配置MCP客户端(以Cursor代码编辑器为例):
-
Cursor的配置文件位于
~/.cursor/mcp.json
。 -
编辑此文件:
{ "mcpServers": { "aws-cost-analysis": { "command": "uvx", "args": ["awslabs.cost-analysis-mcp-server"] } } }
-
保存文件并重启Cursor。在Cursor中,您就可以向AI助手询问AWS成本相关的问题了。
-
2.4 Linux系统安装与配置
在Ubuntu、CentOS等Linux发行版上,流程与macOS几乎完全相同。
-
打开终端。
-
安装系统可能缺失的依赖(视具体服务器而定):
# 在Ubuntu/Debian上 sudo apt update sudo apt install -y build-essential python3-dev # 可能需要的编译工具
-
安装并配置MCP服务器:步骤与macOS完全一致,使用
uvx
安装并在您选择的客户端中配置mcp.json
。
2.5 安装常见问题与解决方案
问题现象 | 可能原因 | 解决方案 |
---|---|---|
uv 命令未找到 |
UV未正确安装或未加入PATH | 重新安装UV,或手动将其所在目录(如 ~/.cargo/bin )添加到系统的PATH环境变量中 |
安装时提示Python版本不兼容或SSL相关错误 | 系统Python版本过旧或SSL库问题 | 使用uv python install 3.11 安装较新的Python版本,并使用此版本环境。确保系统SSL库为最新版本。 |
客户端无法连接服务器,报错 “connection refused” | 服务器命令路径错误、未安装或权限问题 | 确保在mcp.json 中command 和args 书写正确。确保已通过uvx 或pip 成功安装服务器。在终端手动运行命令测试是否正常。 |
AWS权限错误 (e.g., AccessDeniedException) | 配置的AWS凭证权限不足 | 检查并给IAM用户/角色附加所需的权限策略(如CostExplorerReadOnlyAccess )。 |
Claude/Cursor 读取配置失败 | mcp.json 文件格式错误(如缺少逗号、括号) |
使用JSON验证工具(如JSONLint)检查配置文件格式。 |
关键提示:大部分MCP服务器都通过 uvx
安装和运行,这是一种非常简洁的方式。核心配置在于客户端的 mcp.json
文件,一定要确保其路径和格式正确。
3 配套客户端
MCP服务器需要与支持MCP协议的客户端配合使用才能发挥作用。以下是几个主流且兼容AWS MCP Servers的客户端:
客户端名称 | 开发者 | 是否付费 | 主要特点 | 下载地址 | 配置方式 (摘要) |
---|---|---|---|---|---|
Claude Desktop | Anthropic | 免费使用 | 聊天机器人界面,对话体验优秀,支持多种MCP服务器 | https://claude.ai/download | 编辑 ~/Library/Application Support/Claude/mcp.json (macOS) 或 %USERPROFILE%\AppData\Roaming\Claude\mcp.json (Windows) |
Cursor | Anysphere | 免费版与付费Pro版 | 专为AI辅助编程设计的代码编辑器,深度集成MCP | https://cursor.com/ | 编辑 ~/.cursor/mcp.json 文件 |
Amazon Q Developer | Amazon | 免费使用 | AWS推出的IDE插件和CLI工具,深度集成AWS服务,对AWS系列MCP服务器支持可能最好 | https://aws.amazon.com/cn/q/developer/ | CLI使用 ~/.aws/amazonq/mcp.json 25 |
Windsurf | Codeium | 未知 | 由Codeium开发的AI编码助手,支持MCP | 可能内置于Codeium产品中 | 编辑 ~/.codeium/windsurf/mcp_config.json 6 |
表:兼容AWS MCP Servers的主要客户端
这些客户端大部分都采用编辑JSON配置文件的方式来添加和管理MCP服务器。配置完成后,通常需要重启客户端才能生效。
4 案例讲解:使用Cost Analysis MCP Server分析云成本
让我们模拟一个云架构师小张的实际工作场景。小张需要快速分析其上个月在AWS上的主要开销来源,并找出潜在的优化点。
4.1 场景模拟
-
角色:云架构师 / DevOps工程师 / 财务运维(FinOps)
-
痛点:AWS成本管理控制台数据庞大,手动筛选费时费力,希望快速直观地获取洞察。
-
目标:通过自然语言与AI助手对话,快速查询成本数据,生成报告。
-
工具:Cost Analysis MCP Server5 + Claude Desktop
4.2 操作步骤与代码示例
-
安装服务器:小张已在电脑上通过PowerShell执行了
uvx awslabs.cost-analysis-mcp-server
完成了服务器的安装。 -
配置客户端:小张在Claude的
mcp.json
文件中配置好了该服务器。 -
开始对话:小张打开Claude,新建一个对话。Claude自动提示检测到新的MCP服务器工具。小张开始提问:
“帮我查询一下上个月AWS成本最高的三项服务是什么?并用表格形式展示。”
Claude在背后调用了Cost Analysis MCP服务器提供的工具(可能是
query_cost_data
或类似功能),该工具通过AWS SDK和Cost Explorer API获取数据并返回给Claude,Claude再组织成人类可读的格式回复给小张。 -
进阶查询:小张根据初步结果继续追问:
“为什么Elastic Compute Cloud (EC2)的成本这么高?能否分析一下可能的原因并提供一些优化建议?”
MCP服务器可能会提供更深入的分析工具,或者Claude可以结合之前的成本数据和其自身的知识库来生成优化建议(例如检查实例使用率、推荐预留实例、发现空闲实例等)。
4.3 代码与配置片段
虽然MCP服务器本身是开源的,但其价值在于被客户端调用。对于开发者而言,更关心的是如何创建自己的MCP服务器。以下是一个极度简化的Python示例,展示了MCP服务器可能的结构:
# 示例:一个简化的MCP服务器框架 (基于Python FastMCP概念) # 注意:这是一个概念演示,非aws-cost-analysis服务器的真实代码。 from fastmcp import FastMCP import boto3 from datetime import datetime, timedelta # 初始化MCP服务器,命名 mcp = FastMCP("AWS-Cost-Server") # 定义一个可供AI客户端调用的"工具" @mcp.tool() def get_top_cost_services(time_period: int = 30) -> str: """获取指定时间内成本最高的AWS服务。 Args: time_period (int): 要查询的天数,默认为30天。 Returns: str: 包含成本数据的格式化字符串。 """ # 1. 使用Boto3创建Cost Explorer客户端 client = boto3.client('ce') # 2. 计算时间范围 end_date = datetime.now().date() start_date = end_date - timedelta(days=time_period) # 3. 构建查询请求 response = client.get_cost_and_usage( TimePeriod={ 'Start': start_date.isoformat(), 'End': end_date.isoformat() }, Granularity='MONTHLY', Metrics=['UnblendedCost'], GroupBy=[{ 'Type': 'DIMENSION', 'Key': 'SERVICE' }] ) # 4. 处理响应,提取前3名服务 services = [] for group in response['ResultsByTime'][0]['Groups']: service_name = group['Keys'][0] cost = group['Metrics']['UnblendedCost']['Amount'] services.append((service_name, float(cost))) services_sorted = sorted(services, key=lambda x: x[1], reverse=True)[:3] # 5. 格式化结果 (AI客户端会收到这个结果并进行展示) result_string = "| 服务名称 | 成本 (USD) |\n|----------|------------|\n" for service, cost in services_sorted: result_string += f"| {service} | ${cost:.2f} |\n" return result_string # 启动服务器 if __name__ == "__main__": mcp.run(transport='stdio') # 也可以使用 'sse'
这个示例代码展示了MCP服务器的核心思路:
-
使用
@mcp.tool()
装饰器将函数暴露为AI模型可调用的工具。 -
工具内部使用AWS SDK(Boto3)调用真正的AWS API(这里是Cost Explorer)获取数据。
-
将获取到的数据格式化成字符串(如Markdown表格)返回。
-
AI客户端(如Claude)会收到这个结果,并可能进一步美化或解释后呈现给用户。
5 使用成本与商业价值
5.1 使用成本评估
使用AWS MCP Servers Samples项目本身基本上是零货币成本的,因为它是开源项目。主要的成本可能体现在以下几个方面:
-
基础设施资源成本:
-
极低:MCP服务器通常运行在本地开发机上,计算和内存消耗很小,几乎可忽略。
-
如果调用AWS服务(如Cost Explorer API、S3、EC2等),可能会产生标准的API请求费用和数据检索费用。但这些费用通常极其低廉,尤其是对于查询操作。
-
-
人力成本:
-
学习与配置成本:开发者需要花费一些时间理解MCP概念、安装和配置服务器与客户端。项目提供的丰富示例能有效降低这部分成本。
-
开发与定制成本:如果基于样本进行二次开发以适应企业内部特定需求,则需要投入相应的开发工时。
-
-
客户端成本:
-
如前面所述,大部分优秀的MCP客户端(如Claude, Cursor免费版, Amazon Q)目前均可免费使用。
-
5.2 商业价值与收益
尽管需要投入一些学习和配置时间,但成功部署和应用MCP服务器能带来的商业价值是显著的:
-
提升开发与运维效率:这是最直接的价值。通过自然语言交互快速完成查询、代码生成、基础设施编排等任务,将员工从繁琐的重复性操作和上下文切换中解放出来,使其能更专注于高价值的创新工作。例如,一句问答替代了在AWS控制台多次点击筛选和导出数据。
-
降低云资源浪费,优化成本:Cost Analysis/FinOps类服务器能帮助企业快速识别并消除资源浪费(如闲置实例、未挂载的存储),直接转化为云支出的下降。这对于资源规模较大的企业来说,价值巨大。
-
降低专业知识门槛:非专家员工(如产品经理、财务人员)也可以通过自然语言对话,获取原本需要复杂SQL查询或技术知识才能得到的数据洞察,赋能更多角色参与数据驱动决策。
-
增强AI能力集成度:提供了一种标准化、可复用、且安全的方式将企业内部的工具、数据和API赋能给AI助手,打破了LLM训练数据陈旧和缺乏私有知识的壁垒,使得AI助手在企业内部变得更加有用和强大。
-
未来竞争力:提前布局和探索AI与现有工作流深度集成的模式,为未来更广泛的AI应用场景积累经验,构建组织在AI时代的竞争优势。
总结来说,AWS MCP Servers Samples项目是一个“低投入、高潜在回报”的典范。它为企业和个人开发者提供了一个绝佳的试验场,去探索和实践如何利用MCP协议将AI能力无缝、安全、强大地集成到日常工作和业务流程中,最终实现降本增效和赋能创新的商业目标。
希望这份详细的测评能帮助您全面了解AWS MCP Servers Samples项目。如果您有任何其他问题,欢迎随时提出!

关注 “悠AI” 更多干货技巧行业动态