# adk_mcp

[English](README.md) | 한국어 | [日本語](README.ja.md) | [中文](README.zh.md)

`adk_mcp`는 Dart용 MCP(Model Context Protocol) 클라이언트 프리미티브 패키지입니다.

## 포함 기능

- Streamable HTTP MCP 클라이언트 (`McpRemoteClient`)
- stdio MCP 클라이언트 (`McpStdioClient`)
- MCP 상수, 메서드명, 프로토콜 버전 협상, JSON-RPC 헬퍼

## 플랫폼 지원 매트릭스 (현재)

상태 표기:

- `Y` 지원
- `Partial` 부분 지원/환경 의존
- `N` 미지원

| 기능/표면 | Dart VM / CLI | Flutter (Android/iOS/Linux/macOS/Windows) | Flutter Web | 비고 |
| --- | --- | --- | --- | --- |
| `McpRemoteClient` (Streamable HTTP) | Y | Y | Y | HTTP/HTTPS 전송 |
| 프로토콜 버전 협상 + JSON-RPC 헬퍼 | Y | Y | Y | 전 플랫폼 동일 동작 |
| 서버 메시지 읽기 루프 (`readServerMessagesOnce`) | Y | Y | Y | Web은 CORS 설정된 MCP 서버 필요 |
| `McpStdioClient` | Y | Partial | N | Web에서는 stub가 `UnsupportedError` 발생 |
| `StdioConnectionParams` + `Process.start` | Y | Partial | N | 로컬 프로세스 실행 정책 영향 |
| HTTP 세션 종료 (`terminateSession`) | Y | Y | Y | MCP Streamable HTTP DELETE 종료 흐름 |
| 내장 토큰/자격증명 수명주기 매니저 | N | N | N | 호출자가 헤더/토큰 직접 관리 |

## ADK 2.0 호환성

이 패키지는 ADK 2.0과 정렬되어 있어, 원격 MCP 서버 연동, Managed Agent 구성 및 하이브리드 에이전트 실행을 위한 GCP Managed Agents Interactions API를 지원합니다.

## 설치

```bash
dart pub add adk_mcp
```

## 참고

- 상세 기능: [README.md](README.md)
- 저장소: <https://github.com/adk-labs/adk_dart>
