Amazon Web Services 한국 블로그
Amazon Q Developer CLI, 모델 컨텍스트 프로토콜(MCP) 지원 시작
오늘 부터 Amazon Q Developer 명령줄 인터페이스 (CLI)에서 모델 컨텍스트 프로토콜(Model Context Protocol , MCP)을 지원하기 시작했습니다. 여러분들은 이제 외부 데이터 소스를 Amazon Q Developer CLI에 연결하여 더 많은 컨텍스트 인식 기반 응답을 제공할 수 있습니다. MCP 도구 및 프롬프트를 Q Developer CLI에 통합하면 stdio
를 지원하는 사전 구축된 모든 MCP 서버를 사용할 수 있습니다. 이러한 추가 컨텍스트는 Q Developer가 사용자 지정 통합 코드를 개발할 필요 없이 보다 정확한 코드를 작성하고, 데이터 구조를 이해하고, 적절한 단위 테스트를 생성하고, 데이터베이스 문서를 생성하고, 정확한 쿼리를 실행하는 데 도움이 됩니다.
Q Developer를 MCP 도구 및 프롬프트로 확장함으로써 개발자는 개발 작업을 더 빠르게 실행하고 개발자 경험을 간소화할 수 있습니다. AWS는 Anthropic에서 제안한 MCP 처럼 널리 사용되는 오픈 소스 프로토콜을 지원하기 위해 최선을 다하고 있습니다. 앞으로 몇 주 안에 Amazon Q Developer IDE 플러그인 내에서 이 기능을 확장하여 이러한 노력을 계속 지원할 것입니다.
우리는 생성형 AI 워크플로를 간소화하고 새로운 기능을 활용할 수 있는 도구와 기술을 찾고 있습니다. 모델 컨텍스트 프로토콜은 애플리케이션이 대규모 언어모델(LLM)과 원활하게 통합되는 방법을 표준화하는 개방형 프로토콜로, 컨텍스트를 공유하고, 데이터 소스에 액세스하고, 강력한 AI 기반 기능을 활성화하는 일반적인 방법을 제공합니다.
이제 Q Developer CLI에서 MCP 도구 및 프롬프트 지원으로 이제 다양한 도구를 추가할 수 있습니다. 예를 들어, AWS 리소스를 설명할 뿐만 아니라 애플리케이션을 구축하기 위해 데이터베이스 스키마, 메시지 형식 등도 설명해야 합니다. 이러한 추가 컨텍스트를 제공하도록 MCP를 구성하는 방법을 살펴보겠습니다.
이 게시물에서는 Q Developer에 작업중인 간단한 LMS (Learning Management System)에 대한 데이터베이스 스키마를 제공하도록 MCP 서버를 구성합니다. Q Developer는 SQL 작성은 잘하지만 내 데이터베이스의 스키마를 모릅니다. 테이블 구조와 관계는 데이터베이스에 저장되며 내 프로젝트의 소스 코드의 일부가 아닙니다. 따라서 데이터베이스 스키마를 쿼리 할 수있는 MCP 서버를 사용하려고합니다.
1. 이전의 접근 방식
MCP 지원이 도입되기 전에는 Q Developer CLI에서 bash 명령을 실행하여, 파일 및 파일 시스템과 상호 작용하고, AWS 서비스를 호출하는 기능을 포함하여 일련의 기본 도구 세트를 설치했습니다. 그러나 데이터베이스를 쿼리할 때는 CLI의 기능이 제한되었습니다.
예를 들어, MCP 서버를 구성하기 전에는 Q Developer에게 직접 “학생과 각 학생이 수강하는 학점 수를 나열하는 쿼리를 작성하십시오”라고 요청했습니다. 다음 이미지에서 Q Developer는 내 LMS의 데이터베이스 스키마에 대한 특정 지식이 부족하기 때문에 일반 SQL 쿼리만 제공할 수 있음을 알 수 있습니다.
이것은 훌륭한 시작이지만 Q 개발자가 데이터베이스 스키마를 안다면 훨씬 더 많은 일을 할 수 있을 것입니다.
2. MCP 설정하기
Q Developer CLI에 MCP 지원이 도입됨에 따라 MCP 서버를 쉽게 구성할 수 있게 되었습니다. mcp.json
라는 파일에 하나 이상의 MCP 서버를 구성할 수 있습니다. 홈 디렉토리에 (예 : ~/.aws/amazonq/mcp.json)
설정 파일을 생성합니다. 이 설정은 내 컴퓨터의 모든 프로젝트에 적용됩니다. 또는, 작업 공간 루트(예 : .amazonq/mcp.json)
에 설정을 저장할 수 있습니다. 이 경우, 프로젝트 구성원 간에 공유됩니다.
아래는 PostgreSQL MCP 서버에 대한 설정의 예입니다.
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://USERNAME:PASSWORD@HOST:5432/DBNAME"
]
}
}
}
이제 MCP 서버를 구성했으니 Q Developer에서 어떻게 사용해 보는 지 살펴 보겠습니다.
3. PostgreSQL MCP 서버 사용하기
먼저 Q Developer CLI를 실행하고, 어떤 MCP 도구를 사용할 수 있는지 살펴볼 수 있습니다. 우리가 구성한 MCP 서버를 통해 4번과 같이 PostgreSQL에 액세스할 수 있습니다. 즉, 추가 통합 코드를 작성하지 않고도 데이터베이스의 스키마를 쉽게 탐색하고, 테이블의 구조를 이해하고, 복잡한 SQL 쿼리를 실행할 수 있습니다.
이제 Q Developer에게 “데이터베이스 테이블을 나열”하도록 요청하여 MCP 서버를 테스트해 보겠습니다. 아래 사례에서 볼 수 있듯이 Q Developer는 PostgreSQL 데이터베이스에 대해 묻는 것을 이해하고 MCP 서버를 사용하여 students
, courses
및 enrollment
의 세 가지 테이블을 나열합니다.
이전에 했었던 예제로 돌아가 보겠습니다. 이제 Q Developer에게 “학생과 각 학생이 수강하는 학점 수를 나열하는 쿼리를 작성하십시오”라고 요청하면 더 이상 일반 쿼리로 응답하지 않습니다. 대신 Q Developer는 먼저 데이터베이스의 관련 테이블을 설명하고 적절한 SQL 쿼리를 생성한 다음 실행하여 원하는 결과를 제공합니다.
물론 Q Developer는 쿼리를 작성하는 것 이상의 일을 할 수 있습니다. Q Developer는 MCP 서버를 사용하여 데이터베이스에 액세스하는 Java 코드를 작성하고, 데이터 계층에 대한 단위 테스트를 생성하고, 데이터베이스를 문서화하는 등의 작업을 수행할 수 있습니다.
예를 들어, Q Developer에게 “Mermaid 구문을 사용하여 ER(엔터티 관계) 다이어그램을 생성”하도록 요청했습니다. Q Developer는 데이터베이스 스키마의 시각적 표현을 생성할 수 있어 다양한 엔터티 간의 관계를 더 잘 이해할 수 있습니다.
MCP를 Q Developer CLI에 통합하면 필요에 따라 추가 도구를 추가할 수 있어 워크플로가 크게 간소화됩니다.
더 자세한 정보는 Q Developer CLI에서 MCP 활용하기를 참고하시고, AWS MCP Servers 리포지터리에서 더 다양한 AWS 관련 MPC 서버를 찾아서 사용해 보세요.
– Brian Beach
이 글은 AWS DevOps & Developer Productivity Blog의 Extend the Amazon Q Developer CLI with Model Context Protocol (MCP) for Richer Context를 한국어로 번역 및 편집한 글입니다.