Amazon Q Developer에서 MCP 사용 - Amazon Q Developer

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Q Developer에서 MCP 사용

모델 컨텍스트 프로토콜(MCP)은 AI 어시스턴트가 외부 도구 및 서비스와 상호 작용할 수 있는 개방형 표준입니다. Amazon Q Developer CLI는 이제 MCP를 지원하므로 사용자 지정 도구 및 서비스에 연결하여 Q의 기능을 확장할 수 있습니다.

MCP 서버 로드

Amazon Q는 백그라운드에서 MCP 서버를 로드하므로 모든 서버가 초기화될 때까지 기다리지 않고 즉시 상호 작용을 시작할 수 있습니다. 각 서버의 로드가 완료되면 도구를 점진적으로 사용할 수 있게 됩니다.

서버 상태 확인

/tools 명령을 사용하여 아직 로드 중인 서버와 이미 사용 가능한 도구를 확인할 수 있습니다.

서버 초기화 구성

다음을 사용하여 서버 초기화 제한 시간을 사용자 지정할 수 있습니다.

$ q settings mcp.initTimeout [value]

여기서 [value]는 밀리초 단위의 제한 시간입니다. 이 설정은 Amazon Q가 상호 작용을 시작하기 전에 서버가 초기화될 때까지 기다리는 시간을 제어합니다.

도구 및 프롬프트

이 섹션에서는 Amazon Q Developer CLI에서 MCP 도구 및 프롬프트를 사용하는 방법을 다룹니다.

MCP 도구 이해

MCP 도구는 MCP 서버가 Amazon Q Developer CLI에 노출하는 실행 가능한 함수입니다. 이를 통해 Amazon Q Developer는 사용자를 대신하여 작업을 수행하고, 데이터를 처리하고, 외부 시스템과 상호 작용할 수 있습니다.

MCP의 각 도구에는 다음이 있습니다.

  • 이름: 도구의 고유 식별자

  • 설명: 도구가 수행하는 작업에 대한 사람이 읽을 수 있는 설명

  • 입력 스키마: 도구가 허용하는 파라미터를 정의하는 JSON 스키마

  • 주석: 도구의 동작 및 효과에 대한 선택적 힌트

사용 가능한 도구 검색

Q CLI 세션에서 사용할 수 있는 도구를 확인하려면:

/tools

이 명령은 기본 제공 도구와 MCP 서버에서 제공하는 도구를 포함하여 사용 가능한 모든 도구를 표시합니다.

도구는 사용 방법을 결정하는 다양한 권한 수준을 가질 수 있습니다.

  • 자동 승인: 이러한 도구는 각 간접 호출에 대한 명시적 권한 없이 사용할 수 있습니다.

  • 승인 필요: 이러한 도구에는 사용할 때마다 명시적 권한이 필요합니다.

  • 위험: 이러한 도구는 잠재적으로 위험한 것으로 표시되며 승인 전에 신중하게 고려해야 합니다.

도구 사용

다음 두 가지 방법으로 MCP 도구를 사용할 수 있습니다.

  1. 자연어 요청: 원하는 작업을 설명하기만 하면 Q가 사용할 도구를 결정합니다.

  2. 직접 도구 호출: 특정 도구를 사용하도록 Q를 명시적으로 요청할 수도 있습니다.

프롬프트 작업

MCP 서버는 특정 작업에서 Q를 안내하는 데 도움이 되는 사전 정의된 프롬프트를 제공할 수 있습니다.

  • 사용 가능한 프롬프트 나열: /prompts

  • 프롬프트를 사용합니다.

    • @ prompt-name arg1 arg2

인수와 함께 프롬프트를 사용하는 예:

@fetch https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-configuration.html

주요 이점

  • 확장성: Amazon Q를 특정 도메인 또는 워크플로를 위한 특수 도구에 연결

  • 사용자 지정: 특정 요구 사항에 맞는 사용자 지정 도구 생성

  • 에코시스템 통합: MCP 호환 도구의 증가하는 에코시스템 활용

  • 표준화: 여러 AI 어시스턴트에서 지원하는 일관된 프로토콜 사용

  • 유연성: MCP를 사용하면 동일한 도구 통합을 유지하면서 서로 다른 LLM 공급자 간에 전환할 수 있습니다.

  • 보안: 로컬 MCP 서버를 사용하여 인프라 내에 데이터 유지

MCP 아키텍처

MCP는 다음과 같은 클라이언트-서버 아키텍처를 따릅니다.

  • MCP 호스트: MCP를 통해 데이터에 액세스하려는 Amazon Q Developer CLI와 같은 프로그램

  • MCP 클라이언트: 서버와의 1:1 연결을 유지하는 프로토콜 클라이언트

  • MCP 서버: 표준화된 모델 컨텍스트 프로토콜을 통해 각각 특정 기능을 노출하는 경량 프로그램

  • 로컬 데이터 소스: MCP 서버가 안전하게 액세스할 수 있는 컴퓨터의 파일, 데이터베이스 및 서비스

  • 원격 서비스: MCP 서버가 연결할 수 있는 인터넷을 통해(예: APIs를 통해) 사용 가능한 외부 시스템

예 MCP 통신 흐름
User | v +------------------+ +-----------------+ +------------------+ | | | | | | | Amazon Q Dev | --> | MCP Client API | --> | MCP Server | | | | | | | +------------------+ +-----------------+ +------------------+ | v +------------------+ | | | External Service | | | +------------------+

MCP를 통한 사용자, Amazon Q Developer CLI 및 외부 서비스 간의 통신 흐름

핵심 MCP 개념

도구

도구는 MCP 서버가 클라이언트에 노출하는 실행 가능한 함수입니다. 이를 통해 Amazon Q는 다음을 수행할 수 있습니다.

  • 외부 시스템에서 작업 수행

  • 특수한 방식으로 데이터 처리

  • APIs 및 서비스와 상호 작용

  • 사용자를 대신하여 명령 실행

도구는 고유한 이름, 설명, 입력 스키마(JSON 스키마 사용) 및 도구 동작에 대한 선택적 주석으로 정의됩니다.

프롬프트

프롬프트는 특정 작업에서 Amazon Q를 안내하는 데 도움이 되는 사전 정의된 템플릿입니다. 다음과 같은 작업이 가능합니다.

  • 동적 인수 수락

  • 리소스의 컨텍스트 포함

  • 여러 상호 작용 연결

  • 특정 워크플로 안내

  • UI 요소로서의 표면(슬래시 명령 등)

리소스

리소스는 다음과 같이 MCP 서버가 Amazon Q에 제공할 수 있는 데이터를 나타냅니다.

  • 파일 콘텐츠

  • 데이터베이스 레코드

  • API 응답

  • 설명서

  • 구성 데이터