

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

# Amazon Q Developer와 함께 MCP 사용
<a name="qdev-mcp"></a>

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

**Topics**
+ [MCP 개요](qdev-mcp-overview.md)
+ [CLI의 MCP 구성](command-line-mcp-config-CLI.md)
+ [MCP 구성](#mcp-configuration)
+ [도구 및 프롬프트](#command-line-mcp-tools-prompts)
+ [IDE의 Q Developer에 대한 MCP 구성](mcp-ide.md)
+ [주요 이점](#command-line-mcp-benefits)
+ [MCP 아키텍처](#command-line-mcp-architecture)
+ [핵심 MCP 개념](#command-line-mcp-concepts)
+ [MCP 보안](command-line-mcp-security.md)
+ [Q Developer를 위한 MCP 거버넌스](mcp-governance.md)

## MCP 구성
<a name="mcp-configuration"></a>

### Q CLI를 사용하여 MCP 서버 설정
<a name="setting-up-mcp-Q-CLI"></a>

Amazon Q CLI에 대해 전역적으로 정의된 MCP 구성은 다음에서 처리됩니다.

```
~/.aws/amazonq/cli-agents
```

Amazon Q Developer CLI는 로컬 MCP 서버(프로세스로 실행)와 원격 MCP 서버(HTTP를 통해 통신)를 모두 지원합니다. 원격 서버는 OAuth 인증을 사용하거나 인증 없이 열 수 있습니다.

자세한 내용은 [Q CLI Github 리포지토리 및의 사용자 지정 에이전트 구성 가이드를](https://github.com/aws/amazon-q-developer-cli/blob/main/docs/agent-format.md#mcpservers-field) 참조하세요[원격 MCP 서버](command-line-mcp-config-CLI.md#command-line-mcp-remote-servers).

### IDE에서 Q를 사용하여 MCP 서버 설정
<a name="setting-up-mcp-Q-IDE"></a>

IDE의 Amazon Q에 대해 전역적으로 정의된 MCP 구성은 다음에서 처리됩니다.

```
~/.aws/amazonq/agents/default.json
```

자세한 내용은 [IDE의 Q Developer에 대한 MCP 구성](mcp-ide.md) 단원을 참조하십시오.

### MCP 서버 로드
<a name="command-line-mcp-server-loading"></a>

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

#### 서버 상태 확인
<a name="command-line-mcp-server-status"></a>

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

#### 서버 초기화 구성
<a name="command-line-mcp-server-config"></a>

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

```
$ q settings mcp.initTimeout [value]
```

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

## 도구 및 프롬프트
<a name="command-line-mcp-tools-prompts"></a>

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

### MCP 도구 이해
<a name="command-line-mcp-tools"></a>

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

MCP의 각 도구에는 다음이 있습니다.
+  **이름**: 도구의 고유 식별자
+  **설명**: 도구가 수행하는 작업에 대한 사람이 읽을 수 있는 설명
+  **입력 스키마**: 도구가 허용하는 파라미터를 정의하는 JSON 스키마
+  **주석**: 도구의 동작 및 효과에 대한 선택적 힌트

### 사용 가능한 도구 검색
<a name="command-line-mcp-discovering-tools"></a>

Q CLI 세션에서 사용할 수 있는 도구를 확인하려면 다음을 수행합니다.

```
/tools
```

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

도구는 사용 방법을 결정하는 다양한 권한 수준을 가질 수 있습니다.
+  **자동 승인됨**: 이러한 도구는 각 간접 호출에 대한 명시적 권한 없이 사용할 수 있습니다.
+  **승인 필요**: 이러한 도구는 사용할 때마다 명시적 권한이 필요합니다.
+  **위험**: 이러한 도구는 잠재적으로 위험한 것으로 표시되며 승인 전에 신중하게 고려해야 합니다.

### 도구 사용
<a name="command-line-mcp-using-tools"></a>

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

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

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

### 프롬프트 작업
<a name="command-line-mcp-prompts"></a>

MCP 서버는 다음과 같이 특정 작업에서 Q를 안내하는 데 도움이 되는 사전 정의된 프롬프트를 제공할 수 있습니다.
+ 사용 가능한 프롬프트 나열: `/prompts` 
+ 프롬프트 사용: 
  +  `@ {{prompt-name}} arg1 arg2` 

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

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

## 주요 이점
<a name="command-line-mcp-benefits"></a>
+  **확장성**: Amazon Q를 특정 도메인 또는 워크플로를 위한 특수 도구에 연결
+  **사용자 지정**: 특정 요구 사항에 맞는 사용자 지정 도구 생성
+  **에코시스템 통합**: MCP 호환 도구의 증가하는 에코시스템 활용
+  **표준화**: 여러 AI 어시스턴트에서 지원하는 일관된 프로토콜 사용
+  **유연성**: MCP를 사용하면 동일한 도구 통합을 유지하면서 서로 다른 LLM 공급자 간에 전환할 수 있습니다.
+  **보안**: 로컬 MCP 서버를 사용하여 인프라 내에 데이터 유지

## MCP 아키텍처
<a name="command-line-mcp-architecture"></a>

MCP는 다음과 같은 클라이언트-서버 아키텍처를 따릅니다.
+  **MCP 호스트**: MCP를 통해 데이터에 액세스하려는 Amazon Q Developer CLI와 같은 프로그램
+  **MCP 클라이언트**: 서버와의 1:1 연결을 유지하는 프로토콜 클라이언트
+  **MCP 서버**: 표준화된 모델 컨텍스트 프로토콜을 통해 각각 특정 기능을 노출하는 경량 프로그램
+  **로컬 데이터 소스**: MCP 서버가 안전하게 액세스할 수 있는 컴퓨터의 파일, 데이터베이스 및 서비스
+  **원격 서비스**: MCP 서버가 연결할 수 있는 인터넷을 통해(예: API를 통해) 사용 가능한 외부 시스템

**Example MCP 통신 흐름**  

```
  User
   |
   v
+------------------+     +-----------------+     +------------------+
|                  |     |                 |     |                  |
| Amazon Q Dev     | --> | MCP Client API  | --> | MCP Server       |
|                  |     |                 |     |                  |
+------------------+     +-----------------+     +------------------+
                                                        |
                                                        v
                                                 +------------------+
                                                 |                  |
                                                 | External Service |
                                                 |                  |
                                                 +------------------+
```
MCP를 통한 사용자, Amazon Q Developer CLI 및 외부 서비스 간의 통신 흐름

## 핵심 MCP 개념
<a name="command-line-mcp-concepts"></a>

### 도구
<a name="command-line-mcp-concepts-tools"></a>

도구는 MCP 서버가 클라이언트에 노출하는 실행 가능한 함수입니다. 이를 통해 Amazon Q는 다음을 수행할 수 있습니다.
+ 외부 시스템에서 작업 수행
+ 특수한 방식으로 데이터 처리
+ API 및 서비스와 상호 작용
+ 사용자를 대신하여 명령 실행

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

### 프롬프트
<a name="command-line-mcp-concepts-prompts"></a>

프롬프트는 특정 작업에서 Amazon Q를 안내하는 데 도움이 되는 사전 정의된 템플릿입니다. 다음과 같은 작업이 가능합니다.
+ 동적 인수 수락
+ 리소스의 컨텍스트 포함
+ 여러 상호 작용 연결
+ 특정 워크플로 안내
+ UI 요소로서의 표면(슬래시 명령 등)

### 리소스
<a name="command-line-mcp-concepts-resources"></a>

리소스는 다음과 같이 MCP 서버가 Amazon Q에 제공할 수 있는 데이터를 나타냅니다.
+ 파일 내용
+ 데이터베이스 레코드
+ API 응답
+ 설명서
+ 구성 데이터