단 한 번의 명령으로 AI가 AWS 답변을 지어내는 것을 방지하는 방법
요약
AI 모델의 지식 컷오프 문제를 해결하기 위해 AWS Labs에서 공개한 MCP(Model Context Protocol) 서버를 소개합니다. 이 도구는 Claude나 Copilot 같은 AI가 실시간 AWS 문서와 최신 정보를 직접 조회하여 정확한 답변을 생성하도록 돕습니다.
핵심 포인트
- MCP를 통해 AI 모델이 최신 AWS 문서 및 블로그에 실시간 연결 가능
- 지식 컷오프 문제를 해결하여 AI의 환각(Hallucination) 방지
- 문서 검색, 리전 확인, 에이전트 스킬 등 다양한 도구 제공
- RAG 패턴을 표준화된 커넥터 방식으로 구현하는 MCP의 개념 설명
문제점
AWS는 지속적으로 변경 사항을 발표하며, 이곳의 독자라면 AWS News Blog를 통해 이를 잘 알고 있을 것입니다.
당신이 2026년 4월에 일반적으로 사용 가능해진 Amazon S3 Files를 다루어야 하는 2026년 7월의 개발자라고 가정해 봅시다.
당신의 AI 어시스턴트에는 지식 컷오프 (Knowledge Cutoff)가 있습니다. 즉, 모델이 새로운 학습 데이터를 받지 못하는 특정 시점이 정해져 있다는 것입니다. 그 날짜 이후에는 새로운 제품 출시, 기능 런칭 또는 문서 변경 사항을 완전히 인지하지 못합니다. 시간은 촉박하며, 다음 모델이 출시될 때까지 기다릴 수는 없습니다.
AI 어시스턴트는 어시스턴트의 지식이 구식이 되기 전까지는 문서를 읽고 직접 조사하는 수동적인 노력을 건너뛸 수 있게 해주었습니다. 그렇다면 어시스턴트가 당신이 알아야 할 내용을 알지 못할 때는 어떻게 해야 할까요?
해결책
AWS Labs (AWS의 공식 오픈 소스 GitHub 조직)에서 제공하는 오픈 소스 도구인 AWS Knowledge Model Context Protocol (MCP) Server를 소개합니다. 이 도구는 AI 모델을 권위 있고 최신 상태인 AWS 문서에 직접 연결합니다.
이를 통해 Claude나 Copilot과 같은 AI 클라이언트는 모델 업데이트를 기다리지 않고도 실시간 AWS 정보를 가져올 수 있습니다. 현재의 문서, 블로그 게시물, What's New 공지사항, 그리고 Well-Architected 가이드라인 등을 학습 데이터에서 회상하는 대신 실시간으로 가져옵니다.
초심자를 위한 MCP란 무엇인가
Model Context Protocol (MCP)는 AI 도구가 외부 도구 및 지식 소스와 통신하기 위해 사용하는 표준입니다. AWS Knowledge는 AWS에서 호스팅하는 원격 MCP 서버로, AWS 전용 자료를 모델이 사용할 수 있는 형식으로 모델 앞에 배치합니다.
이것이 RAG (Retrieval-Augmented Generation, 검색 증강 생성)처럼 들린다고 생각하더라도 충분히 이해할 수 있습니다. MCP는 RAG를 가능하게 하지만, MCP 자체가 RAG인 것은 아니며, RAG 역시 MCP를 필요로 하는 것은 아닙니다. 사람들은 MCP가 존재하기 훨씬 전부터 RAG를 사용해 왔습니다. MCP는 커넥터 표준 (connector standard)이며, RAG는 "무언가를 찾아본 다음, 찾은 내용을 바탕으로 답변하는" 패턴입니다. MCP는 단지 그 패턴을 연결하는 흔한 방식일 뿐입니다.
모델에게 제공하는 것
서버는 AI가 직접 호출할 수 있는 몇 가지 도구 (tools)를 노출합니다:
search_documentation: 모든 AWS 문서에 대한 키워드 검색read_documentation: 특정 문서 페이지를 가져와 마크다운 (markdown) 형식으로 변환recommend: 주어진 URL에 대해 관련 문서 페이지를 추천list_regions: 모든 AWS 리전 (regions) 및 해당 식별자 목록 나열get_regional_availability: 특정 서비스, 기능, SDK API 또는 CloudFormation 리소스를 지원하는 리전 확인retrieve_skill: 더 복잡한 AWS 작업을 위해 패키징된 워크플로 (workflows) 및 베스트 프랙티스 (best practices) 세트인 도메인 특화 "에이전트 스킬 (agent skill)"을 가져옴
마지막 항목에 대해 짧게 언급할 가치가 있습니다. 스킬 (skills)은 모델에 새로 추가된 액션 (actions)이 아니라, 모델이 상세한 가이드 문서를 따르는 것과 마찬가지로 읽고 따르는 구조화된 지침입니다. 다만 프롬프트 (prompt)에 미리 포함되어 있는 대신 필요할 때 요청하여 가져오는 방식일 뿐입니다.
중요한 세부 사항
- 클라이언트-서버 패턴 (Client-server pattern): 귀하의 AI 도구가 클라이언트 (client)이며, AWS Knowledge가 서버 (server)입니다.
- AWS 계정 불필요: 공개되어 있으며 인증이 필요하지 않습니다.
- 무료 사용: 비용이 들지 않아 모든 과정이 더 수월합니다.
- 속도 제한 (Rate limited): 공유되는 공개 서비스이므로 표준 제한이 적용됩니다.
개인정보 보호에 관한 짧은 참고 사항
여기서 실제로 귀하의 기기를 떠나는 데이터가 무엇인지 아는 것은 중요합니다. 귀하의 쿼리 텍스트(예: "Lambda가 아직 S3 Files를 지원하나요")와 IP 주소만이 공개 AWS 엔드포인트(endpoint)로 전송되며, 이는 귀하가 직접 AWS 문서 사이트를 검색할 때와 동일한 노출 수준입니다. 귀하의 코드베이스, 자격 증명(credentials) 또는 AWS 계정의 어떤 정보도 함께 전송되지 않습니다. 이 서버는 질문에 답변할 뿐, 귀하의 프로젝트를 읽거나 인프라(infrastructure)를 건드리지 않습니다. AWS는 이 서버의 텔레메트리(telemetry)가 모델 학습에 사용되지 않는다고 명시하고 있으며, 인증 단계가 없기 때문에 표준 요청 로그(request logs) 외에는 쿼리를 귀하의 신원과 연결할 수 있는 방법이 없습니다.
어떤 경우에도 지켜야 할 한 가지 원칙은 다음과 같습니다. 일반적인 AWS 지식 검색에는 적합하지만, 쿼리의 일부로 고객 특정 정보나 상업적으로 민감한 내용을 붙여넣을 장소는 아닙니다.
작동 방식 확인하기
연결이 완료되면, 최근에 나온 내용에 대해 질문하는 순간 차이점이 드러납니다. 다음과 같이 질문해 보세요:
"Amazon S3 Files가 현재 일반적으로 사용 가능한 상태(GA)인가요? 그리고 어떤 리전(region)에서 지원하나요?"
AWS Knowledge가 연결되어 있지 않다면, 대부분의 모델은 확답을 피하거나("이 서비스에 대해 알지 못합니다" 또는 "제 지식 컷오프(knowledge cutoff) 기준으로 이는 존재하지 않습니다") 더 나쁜 경우 추측을 할 것입니다. 하지만 AWS Knowledge가 연결되어 있으면, 어시스턴트가 search_documentation을 호출하여 GA(General Availability) 공지사항을 찾아낸 뒤, 추측이 아닌 실제 문서에서 가져온 실제 출시 날짜와 리전 목록으로 답변합니다.
이것이 단 하나의 프롬프트(prompt)로 제공되는 핵심 가치입니다. 귀하가 두 번째 탭을 열어 직접 확인하는 대신, 모델이 직접 가서 확인하는 것입니다.
설치 방법
Claude Code
claude mcp add 명령은 Claude Code의 CLI 전용이지만, AWS Knowledge 자체는 표준 MCP 서버이므로 동일한 URL이 모든 MCP 호환 클라이언트에서 작동합니다. 등록 단계만 달라질 뿐입니다.
claude mcp add --transport http aws-knowledge https://knowledge-mcp.global.api.aws
만약 프로젝트 전체에서 사용할 수 있도록 설정하고, git에 체크인하여 팀원들도 사용할 수 있게 하려면 개인 기본값으로 두는 대신 --scope project를 추가하세요.
claude mcp add --scope project --transport http aws-knowledge https://knowledge-mcp.global.api.aws
작동 여부 확인:
claude mcp list
claude mcp get aws-knowledge
list 명령은 연결 상태를 한눈에 보여주며, get 명령은 전체 설정과 현재 연결 가능 여부를 보여줍니다.
VS Code, Visual Studio, JetBrains 및 기타 Copilot IDE
이 도구들은 모두 유사한 mcp.json 설정 형식을 공유합니다. 루트 키(root key)가 mcpServers가 아닌 servers라는 점이 핵심인데, Claude나 Cursor에서 설정을 복사해 올 때 사람들이 자주 실수하는 부분입니다.
{
"servers": {
"aws-knowledge": {
...
AWS Knowledge는 공개되어 있고 인증이 필요하지 않으므로, 토큰이나 헤더 없이 위 설정만으로 충분합니다. 설정 파일을 어디에 두는지와 어떻게 여는지는 IDE마다 다릅니다.
VS Code: 모든 곳에 적용하려면 명령 팔레트(Command Palette)를 열고 MCP: Open User Configuration을 실행하세요. 특정 프로젝트에만 범위를 제한하려면 저장소(repo) 내에 .vscode/mcp.json을 생성하고 팀원들과 공유할 수 있도록 커밋하세요.
-
작동 여부 확인: 명령 팔레트에서
MCP: List Servers를 실행하고aws-knowledge를 선택하여 상태를 확인하세요. 오류가 발생하면 -
작동 여부 확인 (Verify it worked): 저장 후, Visual Studio의 서버 항목 위에 CodeLens 프롬프트가 표시됩니다. 이를 클릭하여 연결하세요. 그런 다음 Agent 모드에서 Copilot Chat을 열고 도구 선택기(tool picker)를 사용하여
aws-knowledge의 도구들이 나열되어 있는지 확인하세요. 이 서버는 인증이 필요하지 않으므로, 자격 증명(credential) 프롬프트 없이 즉시 연결되어야 합니다.
Claude Desktop
이 방식은 작동 방식이 다릅니다. Claude Desktop은 설정 파일로부터 원격 HTTP 서버를 전혀 가져오지 않으며, cla_desktop_config.json은 로컬 서버 전용입니다. 원격 서버는 UI를 통해 설정합니다:
- Settings를 열고 Connectors를 선택합니다 (Team 또는 Enterprise 플랜을 사용하는 경우 Organization integrations).
- 커스텀 커넥터(custom connector)를 추가합니다.
- 서버 URL로
https://knowledge-mcp.global.api.aws를 붙여넣습니다. - 확인(Confirm)을 누릅니다. 다음 채팅부터 도구들을 사용할 수 있습니다.
서버가 인증을 요구하지 않으므로, 여기에도 OAuth 단계는 없습니다.
작동 여부 확인: Connectors 패널을 다시 열어 aws-knowledge가 연결된 상태로 표시되고 도구들이 나열되어 있는지 확인하거나, 새 채팅에서 최신 정보가 필요한 질문을 던져 답변하기 전에 검색을 수행하는지 확인하세요.
연결되지 않는 경우
이 엔드포인트는 공개된 고트래픽(high-traffic) 엔드포인트이므로, 가끔 발생하는 문제는 사용자의 설정보다는 AWS 측의 문제일 수 있습니다. 모든 클라이언트에서 초기화 중에 서버가 일시적으로 연결 오류를 반환했던 알려진 사례가 있습니다. aws-knowledge가 올바르게 설정된 것처럼 보이지만 연결되지 않는다면, JSON 설정이 잘못되었다고 단정하기 전에 몇 분 후에 다시 시도해 볼 가치가 있습니다.
로컬 유지를 선호하시나요?
오프라인 작업이나 더 엄격한 환경을 위해 AWS가 호스팅하는 원격 서버에 의존하고 싶지 않다면, AWS는 awslabs.aws-documentation-mcp-server도 배포하고 있습니다. 이는 URL 대신 uvx를 통해 설치하며, 검색 및 읽기 도구가 중복되는 로컬 실행 방식의 동일한 서버입니다. 개념은 같습니다. AWS 대신 사용자의 머신에서 실행됩니다.
주의 깊게 살펴볼 점
연결하는 모든 MCP 서버는 어시스턴트가 매 턴(turn)마다 고려해야 할 도구(tools) 목록에 추가됩니다. AWS Knowledge는 도구의 수가 몇 개 되지 않기 때문에 추가 비용이 적지만, "유용해 보이는 모든 MCP 서버를 추가하자"는 생각은 잘못된 본능으로 간주하는 것이 좋습니다. 사용 가능한 모든 것을 추가하지 말고, 실제로 사용할 도구만 추가하세요.
마치며
이 방식은 약간의 설정만으로 높은 가치를 얻을 수 있는 저비용 고효율(low effort for high value)의 방법입니다. 단 한 번의 명령이나 작은 JSON 블록 하나면 끝납니다.
직접 사용해 본 결과, 저는 이것을 AWS로 작업하는 모든 개발자에게 필수적인 요소라고 부르고 싶으며, 왜 그동안 이것 없이 지내왔는지 의문이 들 정도였습니다.
이 방식은 모델이 이 글을 읽는 시점에는 이미 오래된 정보가 되어버린 학습 데이터(training data)에만 전적으로 의존하는 대신, 모델이 스스로 대조해 볼 수 있는 최신 정보를 제공함으로써 환각(hallucinations)을 줄여줍니다.
솔직히 저에게 더 큰 이점은 한 곳에 머무를 수 있다는 점입니다. 더 이상 IDE(또는 터미널)와 AWS 문서로 가득 찬 브라우저 탭 사이를 왔다 갔다 할 필요가 없습니다. "코딩"과 "문서 읽기" 사이의 이러한 문맥 전환(context switch)은 우리가 하루에도 수십 번씩 지불하는 작은 세금과 같으며, 이것이 쌓이면 상당한 비용이 됩니다. 이 기능이 연결되어 있으면 AI 어시스턴트가 직접 확인하면 되므로, 여러분은 작업하던 위치에 그대로 머물 수 있습니다.
여러분의 AI 어시스턴트가 가장 최근의 AWS 기능을 완전히 틀리게 답변했던 사례는 무엇인가요?
아래에 댓글을 남겨주세요. 실제 격차가 얼마나 큰지 알고 싶습니다.
연락을 주고받거나 대화를 이어가고 싶다면, LinkedIn에서 저를 찾아주세요.
추가 정보
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기