AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

AWS Strands 에이전트를 활용한 로컬/리모트 MCP 도구 사용 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

인공지능

대상자

- AI/ML 엔지니어, 백엔드 개발자, 프레임워크 사용자

- 난이도: 중급 이상 (AWS 인프라, FastAPI, MCP 도구 사용 경험 필요)

핵심 요약

  • AWS Strands Agents로컬/리모트 MCP(모델 컨텍스트 프로토콜) 도구와 Bedrock, Nova 모델을 활용하여 엔드투엔드 애플리케이션을 구축할 수 있는 오픈소스 프레임워크
  • 에이전트 루프(Agent Loop)는 사용자 입력을 처리하고 도구를 실행하여 복잡한 다단계 추론을 수행
  • MCP는 LLM과 외부 도구 간의 표준화된 통신 프로토콜로, FileOps, Serper 등 다양한 도구와 호환 가능

섹션별 세부 요약

1. AWS Strands Agents 개요

  • AWS Strands Agents: VSCode, Docker, AWS Lambda, ECS/EKS 등에서 실행 가능한 AI 에이전트 개발 프레임워크
  • 주요 기능:

- 구조화된 워크플로우 자동화

- 세션/메모리 지원 (인터랙션 간 컨텍스트 유지)

- 다중 에이전트 협업

- MCP 도구 및 LLM(예: GPT, Claude, Nova) 유연한 사용

- 실무용 로깅/모니터링 기능 포함

2. 에이전트 루프(Agent Loop) 메커니즘

  • 6단계 구성:
  1. 사용자 입력 및 컨텍스트 수신
  2. LLM을 사용한 입력 처리
  3. 도구 사용 여부 결정
  4. 도구 실행 및 결과 수신
  5. 새로운 정보 기반으로 추론 계속
  6. 최종 응답 생성 또는 루프 재실행
  • 특징: 복잡한 다단계 추론 및 자율적 행동 가능

3. Model Context Protocol (MCP)

  • MCP: LLM과 외부 애플리케이션, 데이터원, 도구 간의 표준화된 커뮤니케이션 프로토콜
  • 사용 예시:

- FileOps: Linux(WSL)에서 파일 시스템 작업

- Serper: 웹 검색 및 스크래핑 도구 (API 키 필요)

  • GitHub 예제:

- 로컬 MCP 예제

- 리모트 MCP 예제

4. 구현 단계 및 코드 예시

  • 프론트엔드 (Streamlit UI):

```python

import streamlit as st

st.set_page_config(page_title="AWS Strands Agent Chat")

user_query = st.chat_input("Ask for system file tool commands or anything...")

```

  • 백엔드 (FastAPI + Strands Agents):

```python

from strands.models import BedrockModel

from strands.tools.mcp import MCPClient

bedrock_model = BedrockModel(model_id="us.amazon.nova-pro-v1:0")

mcp_client = MCPClient(...)

agent = Agent(model=bedrock_model, tools=mcp_client.list_tools_sync())

```

  • 실행 명령:

- 프론트엔드: streamlit run app.py

- 백엔드: uvicorn agent:app --host 0.0.0.0 --port 8000

결론

  • 핵심 팁:

- MCP 도구(예: FileOps, Serper)는 npx 기반으로 실행 (Node.js, npm 설치 필요)

- AWS Bedrock 모델 사용 시 AmazonBedrockFullAccess IAM 권한 필요

- BedrockModelMCPClient 클래스는 LLM과 MCP 도구 통합에 필수

- 실무에서는 로컬/리모트 MCP 혼합 사용을 통해 유연한 시스템 구축 가능