전송 방식을 신중하게 선택하세요
로컬 stdio 서버와 원격 HTTP 서비스는 배포 요구 사항이 다릅니다. 지원되는 원격 전송 방식, TLS 및 인증된 경로를 사용하세요. 모든 구현이 동일한 기능을 지원한다고 가정하지 말고 클라이언트와 서버 버전을 확인하세요.
모든 도구를 API로 취급하세요
인수를 검증하고, 사용자별 권한 부여를 적용하며, 리소스를 제한하세요. 임의의 셸 실행을 편의 도구로 노출하지 마세요. 도구가 URL를 가져오는 경우 아웃바운드 목적지를 제한하고 설명 및 응답에서 비밀 정보를 배제하세요.
신원 수집을 비례적으로 유지하세요
KYC 없는 호스트는 제공업체 가입 데이터를 최소화할 수 있지만, MCP 서비스는 여전히 자체 사용자, 세션 보안 및 남용 제어가 필요할 수 있습니다. 무엇을 기록하는지 설명하고 정의된 목적 없이 도구 입력을 보관하지 마세요.
운영 명확성을 위한 배포
전용 사용자로 실행하고, 상태 확인을 사용하고, 요청 시간을 제한하며, 리버스 프록시의 버퍼링과 타임아웃을 프로토콜과 호환되게 유지하세요. 쓰기 권한을 부여하기 전에 인증, 폐기, 연결 해제 및 재시도를 테스트하세요.
인증을 지원되는 프로토콜에 맞추세요
HTTP 기반 MCP 배포의 경우, 프로토콜의 현재 인가 요건과 클라이언트의 지원 버전을 검토하세요. OAuth 기반 리소스 접근은 단순히 홈페이지의 비밀번호가 아니라 토큰 대상, 검색 및 범위를 포함합니다. HTTPS를 사용하고, 의도한 리소스에 대해 토큰을 검증하며, 베어러 자격 증명을 쿼리 문자열에 두지 마세요. stdio 서버는 다른 로컬 자격 증명 경계를 사용합니다.
- 인증되지 않은 요청 테스트
- 범위를 벗어난 인증 요청을 테스트하세요
- 자격 증명을 폐기하고 작동이 중지되는지 확인하세요
공식 문서: MCP 인증 사양
제한된 첫 도구 세트를 공개하세요
제한된 양의 데이터를 반환하는 읽기 전용 도구로 시작하세요. 파일 쓰기, 서버 수명 주기 작업 또는 외부 메시지는 권한과 중복 동작을 이해한 후에만 추가하세요. 반환된 웹 페이지와 문서는 신뢰할 수 없는 입력으로 취급하세요. 이들이 도구 서버의 권한을 조용히 확장해서는 안 됩니다.
프록시 규칙을 작성하기 전에 프로토콜 동작 고정
서버 SDK 릴리스와 클라이언트가 사용할 MCP 리비전을 모두 기록하세요. 2026-07-28 Streamable HTTP 리비전에서는 요청이 POST 엔드포인트를 사용합니다. 프로토콜 세션이나 독립형 GET 스트림에 의존하는 이전 예제는 다른 리비전입니다. 지원하는 클라이언트를 알기 전까지 겉보기 호환성 요구 사항을 제거하지 마세요. 역방향 프록시는 해당 버전에 필요한 헤더, HTTP 상태 및 응답 스트리밍 동작을 보존해야 합니다.
- 루프백 리스너에서 읽기 전용 도구로 시작한 다음, 의도한 HTTPS/인증 경계를 그 앞에 배치하세요.
- 공용 프록시를 통해 정상 결과, 스트리밍 결과, 타임아웃 및 연결이 끊긴 클라이언트를 테스트하세요.
- 전송에서 요구하는 대로 허용된 Origin 값을 검증하세요. Origin 검사는 호출자 인증을 대체하지 않습니다.
- 이벤트가 끝에만 도착한다면 도구 코드를 변경하기 전에 프록시 버퍼링과 타임아웃 동작을 점검하세요.
공식 문서: MCP 2026-07-28: 스트리밍 가능 HTTP
성공만큼 신중하게 권한 부여 실패 테스트
OAuth로 보호되는 HTTP 접근의 경우, MCP 서버는 보호된 리소스입니다. 메타데이터 검색, 예상 발급자 및 토큰 대상, 특정 작업에 필요한 범위를 테스트하세요. 인증 토큰을 URL 쿼리 문자열에 포함하지 말고 관련 없는 다운스트림 서비스로 변경 없이 전달하지 마세요. 클라이언트 측 인증 실패 시 클라이언트가 지원되는 흐름을 통해 복구할 수 있도록 적절한 HTTP 챌린지를 유지해야 합니다.
- 토큰 없음 또는 만료된 토큰: 보호된 엔드포인트는 비공개 도구 데이터를 반환하는 대신 접근을 거부합니다.
- 권한이 부족한 유효 토큰: 요청한 리소스에 계속 접근할 수 없습니다.
- 다른 대상용 토큰: 서명이 유효하더라도 거부하세요.
- 예기치 않은 외부 URL 또는 파일 경로: 가져오거나 쓰기 전에 도구의 권한에 대해 검증하세요.
- 로그 및 오류 추적: 토큰과 비공개 도구 입력을 제거하면서 작업 식별자와 결과를 보존하십시오.
공식 문서: MCP 2026-07-28: HTTP 권한 부여 · MCP: 보안 모범 사례