AWS MSK MCP Server

AWS MSK MCP Server

AWS MSK MCP 服务器是一种轻量级的服务器实现,使用模型上下文协议(MCP)为 Amazon Managed Streaming for Apache Kafka (MSK) 集群提供全面的管理、操作和监控工具。它使大型语言模型(LLM)应用和 AI 代理能够使用自然语言与 MSK 环境互动,从而简化自动化、故障排除和与数据流管道的集成。

Author: awslabs


查看协议

什么是 AWS MSK MCP 服务器?

AWS MSK MCP 服务器为 AI 驱动的助手、聊天机器人和代理提供标准化接口,以无缝地与 Amazon MSK 集群互动。通过将高级请求转换为安全、有效的 AWS MSK API 操作,它允许用户通过编程或对话界面发现、监控和管理 Kafka 资源,从而弥合 LLM 能力与 AWS 上数据流基础设施之间的差距。

如何配置

  1. 先决条件
    • 确保安装了 Python 和 uv
    • 设置 AWS 凭证(通过环境变量、~/.aws/credentials 文件或 AWS SSO/个人资料)。
    • 为您的用户/角色分配访问 MSK 集群和必要资源的权限。
  2. 将 MCP 服务器添加到配置
    • 编辑您的 MCP 客户端配置文件(例如 ~/.aws/amazonq/mcp.json.cursor/mcp.json等),如下所示:
      {
        "mcpServers": {
          "awslabs.aws-msk-mcp-server": {
            "command": "uvx",
            "args": ["awslabs.aws-msk-mcp-server@latest"],
            "env": {
              "AWS_PROFILE": "your-aws-profile",
              "AWS_REGION": "us-east-1",
              "FASTMCP_LOG_LEVEL": "ERROR"
            }
          }
        }
      }
      
    • 根据需要调整 AWS_PROFILEAWS_REGION
  3. (可选)Docker
    • 您也可以在 Docker 容器中运行服务器,使用适当的 --env 变量和凭证的卷挂载。
  4. 重启您的 MCP 客户端
    • 配置后,重启您的 MCP 兼容工具(Q Developer CLI、Cursor、Windsurf 等),以启用 MSK 服务器。

如何使用

  1. 发现工具
    • 使用您的 AI 助手界面列出可用的 AWS MSK 工具,或运行 tools/list MCP 端点。
  2. 调用操作
    • 您可以发出自然语言命令,如 "列出我所有的 MSK 集群"、"描述 Kafka 经纪人的健康状况" 或 "获取特定集群的连接信息。"
    • LLM 或代理将调用服务器暴露的相应 MCP 工具(即 API 功能)。
  3. 工作流集成
    • 将 MSK 流操作集成到涉及其他 AWS 资源的更大工作流中,或自动化监控、扩展或主题管理等任务。
  4. 审批与安全
    • 默认情况下,大多数客户端会显示提示以批准潜在的敏感操作,确保 MSK 资源的安全操作。

主要功能

  • **集群发现:**列出并详细说明您账户和区域内所有可用的 Amazon MSK 集群。
  • **集群监控:**获取运行中的 Kafka 集群和经纪人的健康、状态和性能指标。
  • **资源管理:**访问连接详细信息,管理主题,并查询集群配置。
  • **无缝 AI 集成:**直接插件供 LLM 代理和助手使用,支持自然语言操作和工作流自动化。
  • **最新上下文:**使用实时 AWS APIs 显示最新的集群配置、监控信息和集成点。
  • **安全与控制:**利用 IAM 权限和 MCP 审批流程,确保安全且可审计的操作。

使用案例

  • **开发者生产力:**在编码或配置数据流管道时快速查找 MSK 集群端点或主题详细信息。
  • **操作监控:**通过 AI 助手自动化健康检查并排除 Kafka 集群的性能问题。
  • **对话式 DevOps:**使聊天机器人能够实时回答"我的 Kafka 集群健康吗?"或"如何将我的应用连接到这个 MSK 经纪人?"。
  • **自动化数据工程:**将 MSK 主题管理或流状态检查集成到跨多个 AWS 服务的更大 AI 驱动工作流中。
  • **AI 辅助故障排除:**以自然语言生成补救步骤或诊断命令,以更快地解决事件。

常见问题

问:AWS MSK MCP 服务器需要哪些权限?
答:该服务器需要执行 kafka:ListClusterskafka:DescribeCluster 和其他相关 MSK API 的权限。将托管策略或自定义策略(最小权限访问)附加到您的 AWS 身份上。

问:我可以在本地和云端使用 MSK MCP 服务器吗?
答:是的。您可以在本地运行服务器进行开发/测试,也可以将其部署在远程/云实例上以供团队使用。两种模式均完全支持。

问:如何确保操作安全?
答:所有操作都将验证您的 IAM 权限,并且交互式审批流程(如果在客户端启用)要求在执行高影响命令之前进行人工确认。

问:这支持 MSK 无服务器集群吗?
答:是的,支持发现和管理提供的和无服务器的 MSK 集群,但需依赖于您 AWS 区域内的 API 覆盖。

问:使用这个服务器会产生额外费用吗?
答:AWS MCP 服务器本身是开源和免费的,但与 AWS 资源的交互可能会产生标准的 AWS 服务费用。