关于 AWS Strands Agents: Building and Connecting Your First Model Context Protocol (MCP) Server
这是一个基于 JavaScript/Node.js 的 MCP 服务示例,用于按当前位置和天气条件搜索 Shutterstock 图片,并展示如何通过 Strands Agents 编排天气与图片搜索。面向探索 MCP 服务和 Agent 集成的开发者。
主要功能
- 01按位置与天气搜索 Shutterstock 图片
- 02通过 NWS API 获取天气信息
- 03使用 Strands Agents 编排多个 Agent
- 04支持 STDIO 与 Streamable HTTP 传输
适用场景
- 01构建结合天气情境的图片搜索流程
- 02学习 Strands Agents 与 MCP 服务的连接方式
MCP 相关
该项目实现 MCP 服务,向客户端提供 Shutterstock 媒体搜索能力。示例还展示 Strands Agents 如何连接服务并结合天气数据编排调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
AWS Strands Agents:构建并连接你的第一个 Model Context Protocol(MCP)服务
概述
部署一个 MCP 服务,使用第三方 API 根据你当前的位置和天气状况搜索图库照片,并使用 Strands Agents 和 Amazon Q Developer CLI 对其进行编排。
Model Context Protocol(MCP)提供了一个标准化接口,使 AI Agent 能够与外部服务无缝交互。在这篇文章中,我们将演示如何使用 Shutterstock 强大的 API 构建一个与之集成的 MCP 服务。Shutterstock 是我最喜欢的高品质授权图片、视频、音乐和创意工具平台。随后,我们将介绍如何向使用 Strands Agents 开发的 Agent 提供这些丰富的媒体搜索功能。Strands Agents 是 AWS 为构建可用于生产环境的 AI Agent 提供的代码优先框架。通过编排多个 Agent,我们将让它们访问 National Weather Service(NWS)API,根据当前天气状况智能选择上下文相关的照片,并展示推理和上下文感知自动化的强大能力。
基于以下内容构建的 JavaScript/Node.js MCP 服务:https://github.com/lucianoayres/mcp-server-node。
先决条件
- Git 分布式版本控制系统
- Node.js v22.16.01 LTS 或更高版本(MCP 服务)
- npm、Yarn 或其他 Node.js 包管理器
- Python 3.13.x(Strands Agents)
- pip、Poetry 或其他 Python 包管理器
- AWS 账户(用于访问 Amazon Bedrock 生成式 AI 模型;也支持其他模型提供商)
- 免费的 Shutterstock 测试账户和令牌(在 Shutterstock Developers 注册)
- 可选:Amazon Q Developer CLI(用于文章最后一节)
安装
- 克隆仓库并安装软件包
npm install -g corepack # if using yarn
git clone https://github.com/garystafford/aws-strands-agents-mcp-demo.git
cd aws-strands-agents-mcp-demo
yarn install
- 启动 MCP 服务
# terminal window 1: STDIO transport
# environment variables are set by MCP server with STDIO
export API_KEY=abc-1234567890
export SHUTTERSTOCK_API_TOKEN=<YOUR_SHUTTERSTOCK_API_TOKEN>
node mcp-server.js
# terminal window 2: Streamable HTTP transport
# environmental variables are set by agent with Streamable HTTP
node mcp-server-remote.js
- 安装 Strands Agents
python -m pip install virtualenv -Uqqq
python -m venv .venv
source .venv/bin/activate
python -m pip install pip -Uqqq
python -m pip install -r requirements.txt -Uqqq
- 启动 Strands Agents
export API_KEY=abc-1234567890
export SHUTTERSTOCK_API_TOKEN=<YOUR_SHUTTERSTOCK_API_TOKEN>
python agent_stdio_multi_agent.py
本仓库中的内容仅代表我个人的观点,不代表我过去或现在的雇主,包括 Amazon Web Services(AWS)。所有第三方库、模块、插件和 SDK 均为其各自所有者的财产。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。