AI代理的能力边界,往往取决于它能调用多少外部工具。随着模型上下文协议(MCP)成为连接AI模型与数据源的事实标准,把MCP服务器搬进托管云环境就成了顺理成章的下一步。这篇文章讲的是如何在Amazon Bedrock AgentCore上部署MongoDB MCP服务器,让AI代理直接、结构化地访问MongoDB数据库。

最终你会得到一个容器化的MongoDB MCP服务器,以AgentCore MCP运行时形态运行。AI代理可以查询集合、检查模式、运行聚合管道、与MongoDB Atlas交互——全部通过MCP协议,由AgentCore统一管理。架构链路很清晰:AI代理 → Bedrock AgentCore → MongoDB MCP服务器(容器) → MongoDB/Atlas。AgentCore负责会话管理、扩缩容和调用路由,MCP服务器则处理MongoDB专属的工具逻辑。

打开网易新闻 查看精彩图片

动手之前需要备齐几样东西:AWS CLI v2已安装配置、Docker或Finch用于构建镜像、一个Amazon ECR私有仓库、目标区域已开通Bedrock AgentCore访问权限,以及MongoDB连接串或Atlas API凭证。

第一步先在ECR创建私有仓库存镜像:

aws ecr create-repository \
--repository-name mongodb-mcp-server \
--region us-east-1

记下输出里的仓库URI,下一步要用。

第二步构建并推送容器镜像。MongoDB MCP Server仓库在deploy/aws/Dockerfile位置放了一个针对AWS优化的Dockerfile,预配置了AgentCore兼容性。先克隆仓库:

git clone https://github.com/mongodb-js/mongodb-mcp-server.git
cd mongodb-mcp-server

然后认证ECR、构建镜像、推送:

# 用ECR认证Docker
aws ecr get-login-password --region us-east-1 | \
docker login --username AWS --password-stdin \
.dkr.ecr.us-east-1.amazonaws.com

# 构建ARM64镜像(AgentCore强制要求)
docker build --platform linux/arm64 \
-t .dkr.ecr.us-east-1.amazonaws.com/mongodb-mcp-server:latest \
-f deploy/aws/Dockerfile .

# 推送到ECR
docker push .dkr.ecr.us-east-1.amazonaws.com/mongodb-mcp-server:latest

关键点:AgentCore运行时只认linux/arm64镜像,必须带--platform linux/arm64参数构建。

这个Dockerfile刻意保持极简。服务器以非root用户(mcp)运行保障安全,基础镜像用node:24-alpine控制体积。

第三步配置AgentCore运行时。创建AgentCore MCP运行时的时候,把容器镜像URI指向你的ECR镜像。核心配置通过环境变量在AgentCore运行时里完成。