ADK-Rust의 모델 컨텍스트 프로토콜

모델 컨텍스트 프로토콜(MCP)은 AI 애플리케이션과 별도로 소유된 기능 사이의 경계입니다. MCP 서버는 도구, 읽을 수 있는 리소스, 프롬프트 템플릿 및 인수 자동 완성을 게시할 수 있습니다. 클라이언트는 해당 카탈로그를 검색하고 비공개 통합이 아닌 협상된 프로토콜 메서드를 통해 통신합니다.

ADK-Rust 2는 공식 rmcp 3.1 SDK을 사용합니다. 클라이언트는 기본적으로 MCP 2025-11-25를 협상하고 레거시 핸드셰이크를 통해 2026-07-28 서버에 연결합니다. rmcp 호환성을 참조하세요.

ADK-Rust가 들어맞는 위치

Rendering architecture…

McpToolset는 초기화된 하나의 MCP 클라이언트 연결을 ADK-Rust에 맞게 조정합니다. McpServerManager는 로컬 stdio 자식 프로세스의 변경 가능한 레지스트리를 관리하고 해당 프로세스의 도구를 집계합니다. 기능을 게시하는 애플리케이션은 adk_tool::mcp::rmcp을 사용하여 MCP 서버를 구축할 수 있으며, 이는 프레임워크에서 사용하는 정확한 SDK 버전입니다.

적절한 접점을 선택하세요

필요한 작업사용 항목소유권
알려진 로컬 서버 하나에 연결McpToolset + TokioChildProcess애플리케이션이 자식 프로세스를 시작함
원격 MCP 서비스 하나에 연결McpHttpClientBuilder원격 배포가 가용성을 담당함
런타임에 로컬 서버 정의 변경McpServerManager애플리케이션이 로컬 레지스트리와 자식 프로세스를 소유함
MCP 서버 게시adk_tool::mcp::rmcp서비스가 스키마, 권한 부여 및 부작용을 소유함
사용 중단된 샘플링 통합을 계속 작동하도록 유지mcp-sampling 기능SEP-2577에 따른 호환성만 제공

구현된 기능 맵

기능ADK-Rust API동작
도구 검색 및 호출McpToolset, Toolset원시 스키마와 멀티모달 결과가 보존됨
도구 필터링with_filter, with_tools모델에는 선택한 도구만 표시됨
리소스 및 템플릿list_resources, list_resource_templates, read_resource안정적인 URIs을 통해 컨텍스트 읽기
프롬프트list_prompts, get_prompt재사용 가능한 서버 관리 메시지 확인
자동 완성complete_prompt_argument, complete_resource_argument서버에 인수 제안 요청
리소스 구독subscribe_resource, unsubscribe_resource사용자 지정 핸들러가 업데이트 알림 수신
정보 수집ElicitationHandler양식 및 URL 모드
작업McpTaskConfig협상된 도구 호출 작업 생성, 폴링, 결과 및 취소
스트리밍 가능한 HTTPMcpHttpClientBuilder시간 초과, 헤더, 인증 주입, 만료된 세션 복구
동적 로컬 레지스트리McpServerManager추가, 업데이트, 활성화, 비활성화, 제거, 저장, 모니터링 및 재시작
고급 SDK 작업adk_tool::mcp::rmcp서버 핸들러, 전송, 알림 및 확장 유형

문서 경로

중요한 범위

  • 동적 관리는 현재 로컬 stdio 자식 프로세스를 대상으로 합니다.
  • 관리자 상태 모니터링은 닫힌 MCP 연결을 감지합니다. 서버의 데이터베이스나 외부 API가 정상인지 입증하지는 않습니다.
  • autoApprove은 호환 가능한 구성을 위해 유지되며, ADK-Rust는 이를 권한 부여로 해석하지 않습니다.
  • OAuth2Config는 고정된 클라이언트 자격 증명 토큰 요청을 수행합니다. 이는 전체 MCP 권한 부여 검색 및 브라우저 권한 부여 흐름이 아닙니다.
  • 샘플링, 루트 및 로깅은 SEP-2577을 통해 업스트림에서 사용이 중단되었습니다.

이러한 범위는 공개 계약의 일부이며 배포 설계에 반영되어야 합니다.