langgraph-mcp-aws-dynamodb-agent
LangGraph MCP AWS DynamoDB CRM Agent
Galaxy Telecom — 표준화된 AI 도구 통합 via Model Context Protocol
MCP(Model Context Protocol) 통합을 입증하는 프로덕션급 AI 에이전트 — LangGraph 에이전트를 표준화된 도구 프로토콜을 통해 AWS DynamoDB의 라이브 CRM 데이터에 연결합니다. 맞춤형 통합 대신 표준화된 프로토콜을 사용합니다.
📄 포트폴리오 문서 (PDF) — 아키텍처, AWS DynamoDB 설정 및 샘플 상호작용을 포함한 전체 문서
개요
CRM 데이터가 필요한 기존 AI 에이전트는 하드코딩된 통합이 필요합니다 — 모든 외부 시스템에 대해 에이전트 로직에 밀접하게 결합된 맞춤형 코드가 필요합니다. 이 프로젝트는 더 나은 접근 방식을 보여줍니다: 에이전트가 런타임에 Python MCP 서버에 연결하고, 사용 가능한 도구를 동적으로 발견하며, AWS DynamoDB에서 라이브 고객 계정 및 티켓 데이터를 검색하기 위해 해당 도구를 호출합니다 — 에이전트에 하드코딩된 통합 로직이 전혀 없습니다.
Related MCP server: Agorus MCP Server
MCP란 무엇인가?
MCP(Model Context Protocol)는 Anthropic이 도입한 개방형 표준으로, AI 에이전트가 외부 도구 및 데이터 소스에 연결하는 방식을 정의합니다. 이는 AI 에이전트에 대한 REST API가 웹 서비스에 대한 것과 같습니다 — 모든 통합에 맞춤형 어댑터 없이 상호운용성을 가능하게 하는 범용 계약입니다.
핵심 기능은 런타임 도구 발견입니다. 에이전트는 시작 시 어떤 도구가 존재하는지 알지 못합니다. MCP 서버에 연결하여 "무엇을 할 수 있나요?"라고 질문합니다. 서버는 도구 이름, 설명 및 입력 스키마로 응답합니다. 에이전트는 고객 쿼리에 따라 호출할 도구를 결정합니다.
아키텍처
Customer CLI Input
│
▼
┌─────────────────────┐
│ LangGraph Agent │ ← ReAct pattern, Claude Haiku (Anthropic API)
│ (crm_agent.py) │
└──────────┬──────────┘
│ MCP protocol — stdio transport
│ Runtime tool discovery via get_tools()
▼
┌─────────────────────┐
│ MCP Server │ ← FastMCP, Python
│ (server.py) │
│ │
│ get_customer_ │ ← queries CustomerAccounts table
│ account() │
│ │
│ get_open_ │ ← queries SupportTickets table
│ tickets() │
└──────────┬──────────┘
│ boto3
▼
┌─────────────────────┐
│ AWS DynamoDB │ ← eu-west-1
│ │
│ GalaxyTelecom_ │
│ CustomerAccounts │
│ │
│ GalaxyTelecom_ │
│ SupportTickets │
└─────────────────────┘MCP 도구 정의
도구는 @server.tool() 데코레이터를 사용하여 MCP 서버에 등록됩니다.
에이전트는 이러한 함수에 대해 알지 못합니다 — 런타임에 프로토콜을 통해 정의를 동적으로 수신합니다.
@server.tool()
def get_customer_account(customer_id: str) -> str:
"""
Retrieve a Galaxy Telecom customer account from DynamoDB.
Returns account details including plan, status, and balance due.
"""
...
@server.tool()
def get_open_tickets(customer_id: str) -> str:
"""
Retrieve all open support tickets for a Galaxy Telecom customer.
Returns a list of tickets with issue type, description, status and priority.
"""
...DynamoDB를 Salesforce 또는 Dynamics로 교체하려면 새로운 MCP 서버 구현만 필요합니다. 에이전트 코드는 완전히 변경되지 않은 상태로 유지됩니다 — 프로토콜의 이식성 이점을 보여줍니다.
AWS DynamoDB 테이블
GalaxyTelecom_CustomerAccounts
파티션 키:
customer_id저장 데이터: 이름, 이메일, 요금제, 월 요금, 계정 상태, 미납 잔액, 가입일
GalaxyTelecom_SupportTickets
파티션 키:
customer_id, 정렬 키:ticket_id저장 데이터: 이슈 유형, 설명, 상태, 접수일, 담당 팀, 우선순위
복합 키를 통해 한 번의 쿼리로 고객의 모든 티켓을 검색할 수 있습니다
샘플 상호작용
연체 계정 및 미해결 티켓 (C001)
Customer ID : C001
Message : Hi, I wanted to check on my account and see if there are any issues.
[MCP] Tools discovered: ['get_customer_account', 'get_open_tickets']
Response: Hi John, I can see your account is overdue with a balance of £47.50.
You have 2 open tickets — a billing query (T001, medium priority) and
broadband dropouts (T002, high priority, in progress with Technical Support)...활성 계정, 기존 기술 티켓 (C002)
Customer ID : C002
Message : I have been having some signal issues at home, can you help?
Response: Hello Sarah! I can see you're on our EliteMax plan with no balance due.
You've already raised ticket T003 regarding weak 5G signal — an engineer
visit has been requested, marked medium priority...잘못된 고객 ID — 우아한 오류 처리
Customer ID : 99
Message : I have been having some signal issues at home, can you help?
Response: I'm unable to locate a Galaxy Telecom account associated with
Customer ID 99. The ID may have been entered incorrectly...기술 스택
구성 요소 | 기술 |
에이전트 오케스트레이션 | LangGraph(ReAct 패턴) |
LLM 프레임워크 | LangChain |
LLM 제공자 | Anthropic Claude Haiku API |
MCP 프로토콜 | Model Context Protocol (FastMCP) |
MCP 어댑터 | langchain-mcp-adapters |
CRM 데이터 저장소 | AWS DynamoDB (eu-west-1) |
AWS SDK | boto3 |
언어 | Python 3.11+ |
프로젝트 구조
langgraph-mcp-aws-dynamodb-agent/
├── agent/
│ ├── __init__.py
│ └── crm_agent.py # LangGraph ReAct agent — connects to MCP server
├── dynamo/
│ ├── __init__.py
│ └── seed_data.py # Creates DynamoDB tables and seeds mock CRM data
├── mcp_server/
│ ├── __init__.py
│ └── server.py # MCP server — exposes CRM tools backed by DynamoDB
├── main.py # Interactive CLI entry point
├── requirements.txt
├── .env.example # Environment variable template
└── .gitignore설치 및 실행
사전 요구사항
Python 3.11+
Anthropic API 키
CLI가 구성된 AWS 계정 (
aws configure)DynamoDB 읽기/쓰기 권한이 있는 IAM 사용자
설치
# Clone the repository
git clone https://github.com/gayatrianne/langgraph-mcp-aws-dynamodb-agent.git
cd langgraph-mcp-aws-dynamodb-agent
# Create and activate virtual environment
python -m venv venv
venv\Scripts\activate # Windows
source venv/bin/activate # macOS/Linux
# Install dependencies
pip install -r requirements.txt
# Configure environment variables
cp .env.example .env
# Edit .env and add your Anthropic API key환경 변수
# Anthropic
ANTHROPIC_API_KEY=your_key_here
# AWS — credentials come from AWS CLI profile (aws configure)
AWS_REGION=eu-west-1
# DynamoDB table names
CUSTOMER_TABLE=GalaxyTelecom_CustomerAccounts
TICKETS_TABLE=GalaxyTelecom_SupportTickets
# LLM Configuration
CLAUDE_MODEL=claude-haiku-4-5-20251001
CLAUDE_TEMPERATURE=0.3DynamoDB 테이블 생성
에이전트를 시작하기 전에 한 번 실행하세요:
python dynamo/seed_data.py이 명령은 eu-west-1에 두 DynamoDB 테이블을 생성하고 Galaxy Telecom 고객 레코드 및 지원 티켓으로 시드합니다.
실행
python main.py고객 ID(C001, C002, C003, C004)와 지원 메시지를 입력하세요. 에이전트가 MCP 도구를 발견하고, DynamoDB를 쿼리하며, 라이브 CRM 데이터에 기반한 개인화된 응답을 반환합니다.
주요 설계 결정
런타임 도구 발견
에이전트는 런타임에 await client.get_tools()를 호출합니다 — MCP 서버에
물어보기 전까지 어떤 도구가 존재하는지 알지 못합니다. 이것이 핵심 프로토콜
이점입니다: 에이전트가 구현으로부터 분리됩니다.
우아한 오류 처리 잘못된 고객 ID는 MCP 서버에서 구조화된 오류 JSON을 반환합니다. 에이전트는 이를 자연스럽게 해석하고 고객에게 기술적 세부사항을 노출하지 않고 적절히 응답합니다.
MCP 이식성
Salesforce, Dynamics 또는 기타 CRM으로 교체하려면 새로운 MCP 서버 구현만 필요합니다.
crm_agent.py의 LangGraph 에이전트 코드는 완전히 변경되지 않은 상태로 유지됩니다 —
에이전트는 프로토콜 계층을 통해 분리됩니다.
AWS DynamoDB 데이터 모델 단일 파티션 키(customer_id)를 사용하는 테이블 설계는 지원 티켓을 위한 복합 키(customer_id + ticket_id)와 함께, 단일 쿼리로 고객의 모든 티켓을 검색할 수 있게 하여 CRM 워크로드에 효율적입니다.
입증된 기술
Model Context Protocol (MCP) — 표준화된 AI 도구 통합
런타임 도구 발견 — 에이전트가 MCP 서버에서 도구를 동적으로 검색
LangGraph — ReAct 에이전트 오케스트레이션
AWS DynamoDB — 파티션 키와 정렬 키를 사용한 NoSQL 데이터 모델
boto3 — AWS SDK 통합
langchain-mcp-adapters — MCP 도구를 LangGraph 에이전트에 바인딩
작성자
Gayatri Anne AI 및 클라우드 아키텍트 | 엔터프라이즈 IT 18년 이상 경력
에이전틱 워크플로우, 대규모 언어 모델 및 클라우드 통합을 결합하여 비즈니스 프로세스에서 수동 작업을 제거하는 AI 기반 자동화 시스템을 구축합니다.
인증: Azure Solutions Architect Expert | Azure AI Engineer Associate | Python PCAP | TOGAF Foundation
GitHub: gayatrianne
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityFmaintenanceA Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.23127MIT

Agorus MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceMCP server for the Agorus AI agent marketplace, exposing API operations as tools for LLMs to discover, contract, and interact with agents and services.15MIT- AlicenseNot gradedqualityDmaintenanceModel Context Protocol server that standardizes tool discovery, execution, and context management for AI applications.MIT
- AlicenseBqualityDmaintenanceA high-performance Model Context Protocol (MCP) server that provides seamless integration with Amazon DataZone services. This server enables AI assistants and applications to interact with Amazon DataZone APIs through a standardized interface.496Apache 2.0
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gayatrianne/langgraph-mcp-aws-dynamodb-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server