Used for containerization of system components, particularly for LangConnect and PostgreSQL services.
Provides the web server framework for the MCP and A2A services, allowing for API endpoint exposure and communication between agents.
Integrated through Google ADK (Agent Development Kit) for agent orchestration and web UI capabilities.
Provides the LLM application framework for building the agent system.
Used to create state-based AI workflows for the multi-agent system.
Integrated through Azure OpenAI to provide LLM capabilities to the agent system.
Integrated with pgvector extension to provide vector database capabilities for document storage and similarity search.
Used for cache and session management within the multi-agent system.
TTimes Guide Coding - Multi-Agent Report Generation System
웹 검색과 보고서 작성을 자동화하는 LangGraph 기반 멀티 에이전트 시스템
MCP & A2A 로 실전 Multi Agents 만들어보기 프로젝트
개요
본 프로젝트는 사용자의 요청에 따라 웹 검색, 문서 검색, 보고서 계획 수립, 보고서 작성을 자동으로 수행하는 AI 멀티 에이전트 시스템입니다. LangGraph와 A2A(Agent-to-Agent) 프로토콜을 사용하여 여러 전문 에이전트들이 협력하여 고품질의 보고서를 생성합니다.
주요 기능
- 🔍 실시간 웹 검색 - Tavily Search API를 통한 최신 정보 수집
- 📚 벡터 DB 검색 - PostgreSQL pgvector를 이용한 유사 문서 검색
- 📋 자동 계획 수립 - AI 기반 작업 계획 및 구조 설계
- ✍️ 보고서 작성 - 수집된 정보를 종합한 전문적인 보고서 생성
- 🤖 MCP 통합 - Model Context Protocol을 통한 도구 통합
- 🔗 A2A 통신 - Google ADK 기반 에이전트 간 통신
Tech Stack
- Python 3.13
- LangChain - LLM 애플리케이션 프레임워크
- LangGraph - 상태 기반 AI 워크플로우
- A2A Protocol - 에이전트 간 통신 표준
- FastMCP - Model Context Protocol 서버
- Google ADK - Agent Development Kit
- FastAPI - 웹 서버
- PostgreSQL + pgvector - 벡터 데이터베이스
- Redis - 캐시 및 세션 관리
- Azure OpenAI - LLM 제공자
시스템 아키텍처
설치 방법
1. 사전 요구사항
- Python 3.13+
- Docker & Docker Compose
- uv (Python 패키지 매니저)
2. 프로젝트 클론
3. 환경 설정
4. 의존성 설치
실행 방법
1. LangConnect 시작 (벡터 DB)
2. 전체 시스템 실행
3. LangGraph 에이전트 개별 테스트
4. 시스템 사용
5. 개별 A2A 서버 실행
API 엔드포인트
각 에이전트는 A2A 프로토콜을 따르는 엔드포인트를 제공합니다:
- UnifiedResearch Agent: http://localhost:8000
- Research Agent A2A: http://localhost:8001
- Planning Agent A2A: http://localhost:8003
- Report Writing Agent A2A: http://localhost:8004
- MCP Server: http://localhost:8090/mcp
- LangConnect API: http://localhost:8080
- LangGraph Studio: http://localhost:8123
사용 예제
Python SDK 사용
REST API 사용
Google ADK Web UI
개발 가이드
프로젝트 구조
새로운 LangGraph 에이전트 추가하기
/agents/agent/
디렉토리에 새 에이전트 파일 생성BaseAgent
클래스 상속 및 노드/엣지 구현/agents/graph_builders.py
에 그래프 빌더 함수 추가langgraph.json
에 에이전트 등록- A2A 서버 래퍼 구현 (optional)
MCP 도구 추가하기
/all-search-mcp/server.py
에 새 도구 함수 추가@mcp.tool()
데코레이터로 도구 정의- 에이전트에서 MCP 클라이언트를 통해 사용
MCP 서버 개발 가이드
Describing your server
Once you've provided the documentation, clearly describe to Claude what kind of server you want to build. Be specific about:
- What resources your server will expose
- What tools it will provide
- Any prompts it should offer
- What external systems it needs to interact with
For example:
Working with Claude
When working with Claude on MCP servers:
- Start with the core functionality first, then iterate to add more features
- Ask Claude to explain any parts of the code you don't understand
- Request modifications or improvements as needed
- Have Claude help you test the server and handle edge cases
Claude can help implement all the key MCP features:
- Resource management and exposure
- Tool definitions and implementations
- Prompt templates and handlers
- Error handling and logging
- Connection and transport setup
Best practices
When building MCP servers with Claude:
- Break down complex servers into smaller pieces
- Test each component thoroughly before moving on
- Keep security in mind - validate inputs and limit access appropriately
- Document your code well for future maintenance
- Follow MCP protocol specifications carefully
Next steps
After Claude helps you build your server:
- Review the generated code carefully
- Test the server with the MCP Inspector tool
- Connect it to Claude.app or other MCP clients
- Iterate based on real usage and feedback
A2A 개발 가이드
Reference
LangChain
LangConnect-Client
LangGraph
LangChain-MCP-Adapter(client)
ModelContextProtocol
MCP-Python-SDK
FastMCP
FastMCP-llms.txt
A2A-SDK
A2A-Directory
Cursor Tips
This server cannot be installed
An MCP server that enables web search and document retrieval capabilities through Tavily API and LangConnect vector database, supporting AI agents in gathering information for comprehensive report generation.
Related MCP Servers
- -securityAlicense-qualityThis MCP server performs multi-topic searches in business, news, finance, and politics using the Tavily API, providing high-quality sources and intelligent summaries.Last updated -11PythonMIT License
- AsecurityAlicenseAqualityAn MCP server implementation that integrates the Tavily Search API, providing optimized search capabilities for LLMs.Last updated -1TypeScriptMIT License
- AsecurityFlicenseAqualityAn MCP protocol server that enables web search functionality using the Tavily API, allowing AI assistants to perform internet searches in real-time.Last updated -42Python
- AsecurityAlicenseAquality🔍 A Model Context Protocol (MCP) server providing unified access to multiple search engines (Tavily, Brave, Kagi), AI tools (Perplexity, FastGPT), and content processing services (Jina AI, Kagi). Combines search, AI responses, content processing, and enhancement features through a single interface.Last updated -1576111TypeScriptMIT License