AGTCloud API Docs
가이드API 레퍼런스통합 및 리소스업데이트 및 도움말

MCP 연동 및 보안

MCP 아키텍처, 전송 방식 및 권한 경계를 이해하고 타사 또는 자체 MCP Server에 안전하게 연결합니다.

Model Context Protocol(MCP)은 AI 애플리케이션과 외부 시스템을 연결하는 개방형 프로토콜입니다. 호환 클라이언트는 각 데이터 소스의 연동 프로토콜을 별도로 설계하지 않고 MCP Server로 컨텍스트를 가져오거나 도구를 호출하거나 미리 정의된 프롬프트를 사용할 수 있습니다.

MCP와 모델 API는 서로 다른 연동 계층입니다

AGTCloud API는 모델 호출을 담당하고 MCP Server는 호환 클라이언트에 도구와 컨텍스트를 제공합니다. MCP 연결에는 Server 배포자 또는 관리자가 제공한 설치 명령, URL 및 인증 방식을 사용합니다. AGTCloud 모델 API 주소를 MCP Server Endpoint로 사용할 수 없습니다.

MCP 동작 방식

하나의 MCP Host는 여러 MCP Server에 연결하고 Server별로 독립된 MCP Client를 생성할 수 있습니다.

참여자주요 역할일반적인 형태
MCP HostAI 애플리케이션을 실행하고 연결, 권한 및 사용자 확인 관리코딩 에이전트, IDE, 데스크톱 어시스턴트
MCP Client하나의 MCP Server와 전용 연결을 맺고 Host에 Server 기능 제공보통 Host에 내장
MCP Server특정 도구, 데이터 또는 프롬프트 템플릿 제공로컬 하위 프로세스, 원격 서비스

MCP는 데이터 계층과 전송 계층으로 나뉩니다. 데이터 계층은 JSON-RPC 메시지, 기능 검색 및 Primitives를 정의하고 전송 계층은 로컬 프로세스나 네트워크 사이의 메시지 전달 방식을 담당합니다. 클라이언트가 보통 이러한 세부 사항을 캡슐화하므로 연동 시 클라이언트의 MCP 설정 진입점을 우선 사용합니다.

Server가 제공하는 기능

MCP Server는 주로 세 가지 Primitives를 제공합니다.

Primitive제어 방식역할연동 시 주요 확인 사항
Tools모델이 호출을 선택할 수 있으며 Host가 실행 정책과 승인을 담당API 호출, 파일 쓰기, 데이터베이스 조회 등의 작업 또는 조회입력 Schema, 쓰기 작업, 외부 부작용 및 수동 승인 필요 여부
Resources애플리케이션이 선택하고 관리파일, 레코드, API 응답 등의 컨텍스트를 모델에 제공데이터 범위, 민감 정보, 갱신 빈도 및 내용의 신뢰성
Prompts보통 사용자가 직접 선택재사용 가능한 상호작용 템플릿 및 매개변수 제공템플릿 출처, 매개변수 의미 및 외부 지시 포함 여부

Server는 지원 기능을 선언하고 클라이언트는 사용할 수 있는 Tools, Resources 및 Prompts를 검색합니다. Server가 기능을 제공해도 클라이언트가 반드시 활성화하는 것은 아닙니다. 최종 동작은 Host 버전, 권한 정책 및 사용자 선택에도 좌우됩니다.

Server가 반환하는 내용을 외부 입력으로 취급합니다

Resource, Tool 결과 및 Prompt에는 신뢰할 수 없는 내용이 포함될 수 있습니다. MCP로 반환되었다는 이유만으로 그 안의 지시가 다른 파일, 자격 증명 또는 시스템 서비스에 접근하도록 자동 허용하지 않습니다.

전송 방식 선택

현재 MCP 규격은 stdio와 Streamable HTTP의 두 가지 표준 전송을 정의합니다.

전송동작 방식적합한 경우주요 위험
stdio클라이언트가 로컬 Server 하위 프로세스를 시작하고 표준 입출력으로 줄 단위 JSON-RPC 메시지 교환로컬 도구, 통제된 디렉터리 및 네트워크 배포가 필요 없는 Server시작 명령은 로컬 프로그램 실행과 같으며 Server는 프로세스 권한과 일부 환경 정보를 상속합니다
Streamable HTTP클라이언트가 단일 MCP Endpoint에 HTTP POST를 보내고 Server는 JSON 또는 현재 요청 범위의 SSE 스트림 반환원격 서비스, 팀 공유 기능 및 네트워크 인증이 필요한 Server서비스 신원, OAuth 또는 Token, 네트워크 경계, 데이터 외부 전송 및 원격 부작용

stdio에서는 Server의 stdout에 MCP 메시지만 출력하고 로그는 stderr에 기록해야 합니다. 연결에 실패하면 클라이언트가 수집한 stderr 로그를 확인할 수 있지만 자격 증명이 포함된 전체 로그를 타사에 보내지 않습니다.

현재 Streamable HTTP는 단일 POST Endpoint를 사용하므로 GET 또는 기존 HTTP+SSE 주소를 별도로 설정할 필요가 없습니다. 인증 방식은 Server가 결정합니다. OAuth 흐름이 제공되면 장기 자격 증명을 공유 설정에 직접 기록하기보다 해당 승인 페이지에 따라 인증합니다.

설정 구조 이해

클라이언트마다 필드 이름과 설정 위치가 완전히 같지는 않습니다. 다음은 일반적인 구조 예시이며 그대로 실행할 수 없습니다. Server 배포자의 실제 명령, 매개변수, URL 및 인증 방식으로 모든 자리표시자를 교체합니다.

{
  "mcpServers": {
    "replace-with-server-name": {
      "command": "/absolute/path/to/server-command",
      "args": [
        "--replace-with-required-argument"
      ],
      "env": {
        "SERVICE_API_KEY": "replace-with-client-supported-secret-reference"
      }
    }
  }
}
  • command는 클라이언트가 실제로 실행하는 프로그램이므로 연결 전에 전체 경로와 배포 출처를 확인해야 합니다.
  • args에는 접근을 허용할 디렉터리, 설정 파일 또는 Server 매개변수가 포함될 수 있습니다.
  • env에는 Server에 필요한 최소 환경 변수만 전달합니다. 자격 증명 참조 구문은 클라이언트마다 다릅니다.

알 수 없는 시작 명령을 그대로 복사하지 않습니다

로컬 MCP 설정의 command와 args는 사용자의 컴퓨터에서 실행됩니다. 출처가 불분명한 원클릭 설치 명령을 실행하거나 전체 홈 디렉터리, SSH 디렉터리 또는 시스템 디렉터리를 기본 접근 범위로 지정하지 않습니다.

안전한 연동 단계

1. 클라이언트 지원 확인

클라이언트의 MCP 지원 여부와 stdio, Streamable HTTP 중 지원하는 방식을 확인합니다. 현재 클라이언트 버전의 설정 형식을 사용하고 다른 클라이언트의 예시로 필드를 추측하지 않습니다.

2. Server 신원 확인

Server 공식 저장소, 공급업체 콘솔 또는 조직 관리자에게서 설치 방식을 받습니다. 배포자, 버전, 업데이트 기록, 의존성 및 제거 방법을 확인하고 원격 Server는 도메인, HTTPS 및 인증 흐름도 확인합니다.

3. 기능 및 권한 목록 작성

활성화 전에 Server가 제공하는 Tools, Resources 및 Prompts를 확인합니다. 각 Tool의 입력, 읽기 범위, 쓰기 작업 및 외부 부작용을 기록하고 현재 작업과 무관한 기능은 비활성화합니다.

4. 최소 범위 설정

로컬 Server는 필요한 디렉터리와 환경 변수만 허용하고 원격 Server는 최소 권한 계정 또는 Scope를 사용합니다. 모델 API Key를 범용 MCP 자격 증명처럼 알 수 없는 Server에 보내지 않습니다.

5. 다시 불러오고 검사

클라이언트 설명에 따라 설정을 다시 불러와 Server 연결을 확인하고 클라이언트에 표시되는 기능 목록이 예상과 일치하는지 검사합니다. 연결 성공이 모든 Tool을 활성화해야 한다는 뜻은 아닙니다.

6. 읽기 전용 작업부터 시작

기능을 나열하거나 민감하지 않은 Resource 하나를 읽거나 부작용이 없는 Tool을 호출합니다. 입력, 출력 및 로그를 확인한 뒤 파일 쓰기, 데이터 수정 또는 외부 시스템 호출을 개별적으로 허용합니다.

권한 검토 체크리스트

범위연동 전 확인 사항
로컬 파일Server가 읽고 쓸 수 있는 디렉터리, 심볼릭 링크를 따라가거나 디렉터리 외부 파일에 접근하는지 여부
명령 실행Tool이 실행할 프로그램과 매개변수를 모델 또는 외부 내용이 직접 제어하는지 여부
네트워크 접근Server가 접근할 도메인, 내부 서비스 및 타사 API
자격 증명Key 또는 Token 저장 위치, 전달할 프로세스나 도메인 및 개별 철회 가능 여부
데이터 처리입력과 결과의 로컬 외부 전송 여부 및 공급업체의 로그와 호출 데이터 저장 방식
쓰기 작업수정, 삭제, 제출, 결제 또는 메시지 발송 전에 명확한 확인이 있는지 여부
업데이트Server 패키지나 원격 기능이 변경되면 클라이언트가 권한을 다시 표시하는지 여부

원격 Server는 신뢰할 수 있는 HTTPS 주소에만 연결하고 해당 인증 흐름에 따라 승인합니다. 로컬 Server는 절대 명령 경로, 격리 디렉터리 및 일반 사용자 권한을 우선 사용하며 편의를 위해 관리자 권한으로 바로 실행하지 않습니다.

자주 묻는 질문

증상우선 확인할 항목조치
Server 시작 불가명령 경로, 런타임, 매개변수 및 작업 디렉터리일반 터미널에서 프로그램이 있는지 확인하되 클라이언트를 우회하여 알 수 없는 명령을 직접 실행하지 않습니다
연결됨으로 표시되지만 Tool이 없음Server 기능, 클라이언트 권한 및 버전기능 목록을 다시 불러오고 클라이언트가 해당 Primitive를 지원하는지 확인합니다
stdio 연결 직후 끊김Server가 stdout에 일반 로그를 출력하는지 여부로그를 stderr에 기록하여 stdout에는 MCP 메시지만 포함되도록 합니다
원격 Endpoint에서 401 또는 403 반환Server 인증 방식, Token 및 ScopeServer 문서에 따라 다시 승인하고 다른 서비스의 Token으로 바꾸지 않습니다
원격 Endpoint에서 404 반환URL에 전체 MCP 경로가 포함되는지 여부Server 배포자의 Endpoint를 사용하고 모델 API 경로를 임의로 추가하지 않습니다
Tool 읽기는 가능하나 쓰기 불가Tool 권한, 디렉터리 범위 및 수동 확인실제로 필요한 경우에만 권한을 확대하고 되돌릴 수 있는 테스트를 다시 수행합니다
Tool 동작이 설명과 다름Server 버전, Tool Schema 및 외부 입력해당 Tool을 즉시 비활성화하고 민감 정보를 제거한 증거를 보관하여 Server 배포자에게 문의합니다
연결 후 예상하지 않은 외부 요청 발생Server 네트워크 권한 및 데이터 흐름Server 연결을 끊고 자격 증명을 철회한 뒤 로그와 호스트 네트워크 활동을 검사합니다

지속적인 사용 권장 사항

  • 연결된 Server, 버전, Tool 목록 및 승인 범위를 정기적으로 검토합니다.
  • Server마다 독립적이고 철회 가능한 최소 권한 자격 증명을 사용합니다.
  • 특히 삭제, 쓰기, 결제, 메시지 발송 및 운영 시스템 작업에서 수동 확인을 유지합니다.
  • 알 수 없는 Resource 또는 Tool 결과의 지시를 신뢰할 수 있는 시스템 지시로 취급하지 않습니다.
  • 로그, 스크린샷 및 오류 보고서에서 Key, Token, 고객 데이터 및 민감한 경로를 제거해야 합니다.
  • Server 사용을 중단할 때는 클라이언트에서 설정을 제거하고 관련 자격 증명을 철회합니다.

모델 클라이언트에 AGTCloud를 설정하려면 CC-Switch 연동 튜토리얼부터 읽거나 왼쪽 타사 통합 디렉터리에서 도구를 선택합니다. 모델 엔드포인트와 요청 필드는 API Reference를 확인합니다. MCP 프로토콜 세부 사항과 버전 변경은 MCP 공식 문서를 기준으로 합니다.

이 페이지의 내용