MCP 프로토콜 호환성
일반적인 MCP 초기화, 도구 조회, tools/call을 사용합니다. stdio와 /mcp의 Streamable HTTP는 같은 도구를 제공합니다. 작업·지시 큐는 애플리케이션 상태이며 전송 세션과 별개입니다.
지원 기준
저장소는 두 전송 방식에서 MCP 2025-11-25를 명시적으로 테스트합니다. 고정된 SDK를 통해 2026-07-28 협상도 이전 버전으로 대체하지 않고 테스트합니다. 새 버전 협상이 다른 실행 동작을 추가하지는 않습니다. 이는 저장소의 호환성 검증 대상이며 클라이언트와 서버가 공통으로 지원하는 버전을 협상해야 합니다.
HTTP 전송의 최소 기준은 2025-03-26입니다. 이전 2024-11-05의 HTTP+SSE 방식은 여기서 지원하지 않습니다. Tasks, 구독, 여러 번의 요청 왕복, 헤더 기반 도구 라우팅은 기본 실행 경로의 필수 조건이나 구현 기능이 아닙니다. 서버는 본문의 JSON-RPC 메서드와 도구 이름으로 요청을 처리합니다.
클라이언트가 확인할 정보
initialize.instructions를 읽고 도구를 조회한 뒤 등록 ID로 workspace_info를 호출하세요. execution 객체는 권한과 백엔드 지원을 구분하고 파일·프로세스 사용 가능 여부, PTY 기능, 직렬화, 샌드박스, 네트워크 집행 상태를 제공합니다. 사용 가능 여부에는 일시적인 점유 상태가 포함되지 않습니다.
도구 인자, 결과 해석, 재시도 규칙은 Agent Loop 연동을 참고하세요. 지시 큐는 MCP Tasks가 아닌 work_id와 intent_id를 사용합니다. 프로토콜 플래그는 추가 작업 공간 권한을 부여하지 않습니다.
테스트
crates/server/tests/protocol_compat.rs는 stdio와 HTTP에서 검증 대상 버전을 각각 강제한 뒤 도구 조회·호출을 검사합니다. 새 버전을 우선하되 이전 버전도 허용하는 테스트는 별개의 근거이며 기준 버전을 강제한 테스트를 대신하지 않습니다.
http_contract, stdio_contract, transport_contract는 전송 어댑터를 검사합니다. 로컬 테스트 성공은 실제 ChatGPT 계정이 사용하는 프로토콜 버전의 증거가 아닙니다. ChatGPT 연결 상태를 참고하세요.