基于位置的图片搜索服务

部署一个MCP服务器,利用第三方API根据当前位置和条件搜索库存图片,并通过Strands Agents和Amazon Q Developer CLI进行编排。

  • by garystafford
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 garystafford/aws-strands-agents-mcp-demo

使用说明

AWS Strands代理:构建和连接您的第一个模型上下文协议(MCP)服务器

概述

部署一个MCP服务器,使用第三方API根据您当前的位置和条件搜索库存照片,并使用Strands Agent和Amazon Q Developer CLI对其进行编排。

模型上下文协议(MCP)提供了一个标准化的接口,使AI代理能够与外部服务无缝交互。在这篇文章中,我们将演示如何使用强大的API构建一个MCP服务器,该服务器与Shutterstock集成,Shutterstack是我最喜欢的高质量授权图像、视频、音乐和创意工具平台。然后,我们将展示如何将这些富媒体搜索功能暴露给使用Strands agents开发的代理,Strands Agent是AWS用于构建生产就绪AI代理的代码优先框架。通过安排多个代理,我们将使他们能够访问美国国家气象局(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代理)
  • pip、Poetry或其他Python包管理器
  • AWS帐户(用于访问Amazon Bedrock生成AI模型;也支持其他模型提供商)
  • 免费Shutterstock测试帐户和令牌(在ShutterstockDevelopers注册)
  • 可选:文章最后一节的Amazon Q Developer CLI

安装

  1. 克隆存储库并安装软件包
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
  1. 启动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
  1. 安装Strands代理
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
  1. 启动Strands代理
export API_KEY=abc-1234567890
export SHUTTERSTOCK_API_TOKEN=<YOUR_SHUTTERSTOCK_API_TOKEN>

python agent_stdio_multi_agent.py

此存储库的内容代表我的观点,而不是我过去或现在的雇主,包括亚马逊网络服务(AWS)。所有第三方库、模块、插件和SDK都是其各自所有者的财产。