AWS API MCP Chatbot 集成
这个仓库包含了一个参考实现,用于在AWS API MCP服务器与聊天渠道(如Telegram和WhatsApp)之间建立桥梁。这也是我在题为的会议中用作演示的原型 *随时随地与您的AWS基础设施聊天:AWS API MCP服务器的强大功能* 为2025年印尼AWS社区日活动。
⚠️ 免责声明 ⚠️
这个解决方案旨在展示初步的能力和 不适用于生产工作负载为了演示目的,特意放宽了诸如宽松的IAM(身份和访问管理)策略、公开访问的终端节点以及简化的认证机制等配置 在任何生产部署之前必须进行固化处理。
也请记住 人工智能也会犯错!
永远 验证和确认 输出结果,如果可能的话 实现传统逻辑处理 在将其应用于生产或关键环境之前,尤其是当 您配置AWS API MCP服务器时拥有特权访问权限。 作者不承担任何责任 在部署到生产环境时,需注意此解决方案可能对您的工作负载或环境产生的任何意外或不利影响。
入门指南
这些说明将帮助您重建沙盒环境,部署AWS资源,并连接聊天渠道,以实现由Bedrock支持的端到端对话。
安装与运行
- 克隆仓库。
git clone https://github.com/revawiki/aws-api-mcp-chatbot-integration.git
cd aws-api-mcp-chatbot-integration- 提供核心AWS资源。
- 按照规范指南部署并配置所有所需的AWS资源 spec/。 - 这个原型资源完全通过AWS控制台进行配置,如需使用Terraform或AWS CLI方法,请遵循所有(相关指南或步骤) spec/ 细节。
- Lambda 环境变量的详细信息。
- MCP_HOSTMCP服务器(EC2实例)的主机名。 - SESSION_TABLE_NAMEDynamoDB 表的名称wiki-dynamo-sandbox)。 - INTEGRATION_AUTH_TOKEN一个简单的承载令牌用于Webhook认证。您可以使用这个 令牌生成器 或者使用隐秘生成技术在本地生成。 - INTEGRATION_API_TOKEN: - for WhatsApp填写Fonnte设备令牌。 - for(介词,表示“对于”、“为了”、“针对”等意思) Telegram(电报)填写Telegram机器人令牌。
- 验证对Bedrock的访问权限。
- 确认Lambda执行角色可以通过Converse API调用所需的Bedrock模型。 - 评论 spec/iam-role.md 遵循最小权限策略指南。
通道配置
- Telegram 机器人
- 拥有一个活跃的Telegram账号后,请遵循以下指南: channel/telegram-bot.md。 - 验证监听器Lambda是否接收到来自外部的消息,并且响应者是否调用了Telegram的sendMessage API。
- 通过Fonnte使用WhatsApp
- 注册Fonnte并遵循相关指南 channel/fonnte-whatsapp.md。 - 验证监听器 Lambda 是否接收到了入站消息,以及响应者是否调用了 Fonnte 的发送 API。
- 事件路由
- 确保 EventBridge 规则转发监听器事件lambda.telegram.listener, lambda.whatsapp.listener) 到匹配的响应 Lambda。 - 通过CloudWatch Logs和通道客户端验证端到端流程。
使用了(或构建于)
- Amazon Lambda 用于监听器和响应器功能。
- Amazon EventBridge(亚马逊事件总线) 用于监听者和响应者之间的消息广播。
- Amazon DynamoDB 用于会话和状态持久化。
- 亚马逊Bedrock 用于生成式回答。
- Amazon EC2 用于托管MCP服务器。
- AWS API MCP 服务器 以便FM(调频服务/某个特定系统或设备)与AWS(亚马逊网络服务)基础设施进行通信。
- 用于运行MCP服务器。
功劳/学分/贡献
- AWS 实验室团队 取得了重大突破。
- 印度尼西亚AWS用户组 感谢给我这个机会来分享这个原型。
问题/咨询
如果您对这个项目有任何问题,请随时联系我们 reva.wiki@gmail.com非常感谢。
