Skip to main content
Glama

All-Search MCP Server

by HyunjunJeon
order1.txt8.13 kB
현재 파악된 작업 계획을 바탕으로, 세부적으로 어떤 작업을 구성할 것인지에 대한 계획이 필요합니다. 크게는 1. LangGraph 에이전트 개발 및 LangGraph Platform(cli: langgraph-dev) 로의 사람에 의한 테스트 2. MCP 서버 개발(FastMCP 라이브러리 활용) 목적은 LangGraph 에이전트에서 사용하는 검색 도구를 만드는 것으로 크게는 LangConnect API 를 활용하는 기능(pg_vector - VectorDB) 과 TavilyWebSearch 를 이용한 웹검색 2가지 기능을 지원할 계획이야. --- 1,2 작업은 서로 연관이 있으니 각각 개발되고 연결되거나 또는 1먼저 하고 2번해서 연동하는 방식으로 안정적으로 가도 괜찮겠어. --- 3. (1,2) 작업이 완료된 후 LangGraph 레벨에서 각 에이전트가 정상적으로 동작한다고 판단되면 이제는 각 LangGraph Agent 를 A2A Agent 로 감싸는 작업이야. A2A Server 로 동작해야되니깐 /docs 하위에 있는 a2a-python 문서를 잘 참고해서 진행해야겠지? --- 4. 그러고 나면 A2A Client 를 Google ADK 로 개발해서 최종적으로 모든 A2A Server 와 통신이 잘 되는지 사람에 의한 테스트를 진행할 수 있으면 끝일 것 같아. 최종 결과물은 LangGraph Agent 3개(계획 수립, 자료조사, 글쓰기) 일것이고 자료조사 Agent는 MCP 서버와 통신이 가능해야되며(langchain-mcp-adapters 를 활용) 각 Agent 는 또한 A2A Server 로써 역할도 해야겠지. 사용자와 소통 가능한 A2A Client 로 Google ADK 로 구성된 UnifiedResearch Agent 가 Client 로 사용자의 요청을 받고 각 에이전트에 작업을 할당하는 역할도 하게 될거야. 다양한 문서와 라이브러리를 참고해야되고 주로 /docs 에 넣어두었으니 잘 참고하도록 해. 계획은 아주 구체적으로 작성해야되며 가장 최신의 문서를 참고할 수 있도록 필요하다면 웹검색도 수행해도 좋아. --- TTimes Guide Coding 프로젝트 구현 계획 🎯 프로젝트 목표 웹 검색과 보고서 작성을 자동화하는 LangGraph 기반 멀티 에이전트 시스템 구축 📋 작업 계획 Phase 1: LangGraph 에이전트 개발 (우선순위: 높음) 1.1 Planning Agent (계획 수립 에이전트) 위치: /agents/agent/planning_agent.py - 역할: 사용자 요청을 분석하고 작업 계획 수립 - 주요 노드: - analyze_request: 요청 분석 및 의도 파악 - create_plan: 실행 계획 생성 - delegate_tasks: 다른 에이전트에게 작업 할당 - 구현 사항: - BaseAgent 상속 - Supervisor 패턴 적용 - 작업 분배 로직 구현 1.2 Research Agent (자료조사 에이전트) 위치: /agents/agent/research_agent.py - 역할: 웹 검색과 벡터 DB 검색을 통한 정보 수집 - 주요 노드: - search_web: Tavily API를 통한 웹 검색 - search_vector: LangConnect를 통한 벡터 검색 - aggregate_results: 검색 결과 통합 및 정리 - 구현 사항: - MCP 서버 연동 (langchain-mcp-adapters 사용) - 검색 결과 품질 평가 - 중복 제거 및 관련성 순위 정렬 1.3 Report Writing Agent (보고서 작성 에이전트) 위치: /agents/agent/report_writing_agent.py - 역할: 수집된 정보를 바탕으로 구조화된 보고서 생성 - 주요 노드: - structure_content: 콘텐츠 구조화 - write_sections: 섹션별 작성 - review_quality: 품질 검토 및 개선 - 구현 사항: - 마크다운 형식 보고서 생성 - 인용 및 참조 관리 - 반복적 개선 메커니즘 Phase 2: MCP 서버 개발 (우선순위: 높음) 2.1 All-Search MCP Server 위치: /all-search-mcp/server.py - FastMCP 2.0 활용 - 통합 검색 도구 제공: @mcp.tool() async def search_web(query: str, max_results: int = 5) -> list[dict]: """Tavily API를 통한 웹 검색""" @mcp.tool() async def search_vector(query: str, collection: str, top_k: int = 5) -> list[dict]: """LangConnect를 통한 벡터 검색""" - 환경 설정: - Transport: streamable_http - 포트: 8090 - 인증: API Key 기반 Phase 3: LangGraph-MCP 연동 (우선순위: 높음) 3.1 MCP 클라이언트 설정 # agents/tools/mcp_client.py client = MultiServerMCPClient({ "search": { "url": "http://localhost:8090/mcp/", "transport": "streamable_http", "headers": {"Authorization": f"Bearer {API_KEY}"} } }) 3.2 도구 통합 - Research Agent에 MCP 도구 연결 - 비동기 검색 및 스트리밍 지원 - 에러 처리 및 재시도 로직 Phase 4: A2A 서버 변환 (우선순위: 중간) 4.1 각 LangGraph 에이전트를 A2A 서버로 래핑 위치: /agents/a2a_servers/ - AgentCard 정의: - 각 에이전트의 능력 명세 - 입출력 스키마 정의 - 보안 설정 - 구현 구조: # planning_a2a_server.py class PlanningA2AServer(DefaultRequestHandler): def __init__(self): self.agent = PlanningAgent() self.agent_card = AgentCard( name="planning_agent", skills=[...], input_modes=["text", "json"], output_modes=["json", "structured"] ) 4.2 포트 할당 - Planning Agent: 8003 - Research Agent: 8001 - Report Writing Agent: 8004 Phase 5: Google ADK 클라이언트 (우선순위: 중간) 5.1 UnifiedResearch Agent 위치: /a2a_client/unified_research_agent.py - Google ADK 기반 오케스트레이터 - 원격 A2A 에이전트 연결: planning_agent = RemoteA2aAgent( agent_url="http://localhost:8003/a2a/planning", agent_card_path="/v1/card" ) research_agent = RemoteA2aAgent( agent_url="http://localhost:8001/a2a/research", agent_card_path="/v1/card" ) 5.2 사용자 인터페이스 - ADK Web UI 활용 - 스트리밍 응답 지원 - Human-in-the-loop 구현 🧪 테스트 계획 단계별 테스트 1. 개별 LangGraph 에이전트 테스트 - langgraph dev 명령어로 각 에이전트 테스트 - LangGraph Studio (http://localhost:8123) 활용 2. MCP 서버 테스트 - FastMCP 내장 테스트 도구 활용 - 검색 기능 단위 테스트 3. 통합 테스트 - Docker Compose로 전체 시스템 실행 - 엔드투엔드 시나리오 테스트 📁 최종 프로젝트 구조 ttimes_guide_coding/ ├── agents/ │ ├── agent/ │ │ ├── planning_agent.py │ │ ├── research_agent.py │ │ └── report_writing_agent.py │ ├── a2a_servers/ │ │ ├── planning_a2a_server.py │ │ ├── research_a2a_server.py │ │ └── report_writing_a2a_server.py │ └── tools/ │ └── mcp_client.py ├── all-search-mcp/ │ ├── server.py │ └── config.yaml ├── a2a_client/ │ └── unified_research_agent.py └── docker/ └── docker-compose.yml 🚀 구현 순서 1. LangGraph 에이전트 개발 (병렬 가능) 2. MCP 서버 구현 3. LangGraph-MCP 연동 4. 개별 테스트 및 검증 5. A2A 서버 래핑 6. ADK 클라이언트 구현 7. 통합 테스트 이 계획을 따라 단계적으로 구현하면 안정적이고 확장 가능한 멀티 에이전트 시스템을 구축할 수 있습니다. ⏺ 계획이 승인되었으니 이제 작업을 시작하겠습니다. 먼저 Todo 리스트를 더 세부적으로 업데이트하겠습니다.

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/HyunjunJeon/vibecoding-lg-mcp-a2a'

If you have feedback or need assistance with the MCP directory API, please join our Discord server