AWS MCP Proxy 소개
AWS가 공개한 MCP Proxy for AWS는 클라이언트 측에서 동작하는 경량 프록시 서버로, 개발자가 복잡한 게이트웨이나 인증 설정 없이도 AWS의 MCP 서버에 쉽게 접근할 수 있도록 도와주는 도구입니다. 이 프록시는 AWS의 SigV4 인증 방식을 자동으로 처리하며, 다양한 개발 도구 및 AI 어시스턴트가 사용할 수 있도록 설계되었습니다.
기존에 AWS SigV4 인증을 사용하는 MCP 서버와 통신하려면 IAM 권한 설정, 자격 증명 관리, 요청 서명 등의 번거로운 과정이 필요했습니다. 하지만 이 MCP Proxy는 개발자의 로컬 환경에서 SigV4 인증을 자동으로 처리하여, 마치 일반 REST API처럼 쉽게 접근할 수 있게 만듭니다. 특히 Amazon Q Developer CLI와 같은 툴과의 통합이 수월해져, 개발자 생산성을 크게 향상시킬 수 있습니다.
따라서 이 프록시는 AWS의 모델 기반 도구를 활용하고자 하는 개발자에게 매우 유용하며, 보안 인증 문제로 인해 사용을 망설였던 개발 환경에도 새로운 대안을 제시합니다. 특히 로컬 환경이나 도커 기반 환경에서도 간편하게 실행할 수 있는 점이 큰 장점입니다.
즉, AWS MCP Proxy는 기존의 SigV4 인증 절차를 자동화하여, 개발자가 복잡한 서명 과정을 직접 구현할 필요를 없앴습니다. 이를 통해 사용자는 CLI나 AI 개발 툴에서 인증 설정에 시간을 낭비하지 않고도 MCP 서버에 접속할 수 있습니다. 기존에는 botocore, boto3 또는 자체 구현을 통해 AWS 요청에 SigV4 서명을 부여해야 했지만, 이 프록시는 그것을 자동으로 처리해줍니다. 이로 인해 인증 실패로 인한 디버깅 비용도 줄어들게 됩니다.
또한, MCP Proxy는 도구 검색 기능도 제공하여, 동적으로 MCP 서버에서 사용할 수 있는 도구 목록을 가져올 수 있도록 지원합니다. 이는 개발자가 AWS에서 제공하는 다양한 모델 기반 API를 효과적으로 탐색하고 사용할 수 있게 해줍니다.
AWS MCP Proxy 사용법
설치 및 실행
MCP Proxy는 Python 3.10 이상과 uv 패키지 매니저를 사용하여 설치할 수 있으며, PyPi 또는 GitHub 저장소, Docker를 통해 다양한 방식으로 실행 가능합니다.
-
PyPI를 통한 실행:
uvx mcp-proxy-for-aws@latest <SigV4 MCP endpoint URL> -
GitHub 로컬 저장소에서 실행:
git clone https://github.com/aws/mcp-proxy-for-aws.git cd mcp-proxy-for-aws uv run mcp_proxy_for_aws/server.py <SigV4 MCP endpoint URL> -
Docker로 실행:
docker build -t mcp-proxy-for-aws .
주요 설정 옵션
프록시는 다양한 설정을 통해 AWS 리전을 지정하거나 프로필을 선택할 수 있으며, 쓰기 권한이 필요한 도구를 제한하는 --read-only 옵션도 제공합니다. 기본적으로는 us-east-1 리전을 사용하며, 환경 변수나 CLI 인자 등을 통해 설정을 변경할 수 있습니다.
주요 옵션은 다음과 같습니다:
--endpoint: 연결할 MCP 서버의 URL--service: 서명에 사용할 AWS 서비스 코드--profile: 사용할 AWS CLI 프로파일--region: 사용할 AWS 리전--read-only: 쓰기 권한이 필요한 도구 비활성화--log-level: 로그 레벨 설정 (예: DEBUG, INFO 등)--timeout,--connect-timeout,--read-timeout,--write-timeout: 타임아웃 설정
다음과 같은 환경 변수도 지원하여, AWS 자격 증명을 보다 유연하게 설정할 수 있습니다:
export AWS_PROFILE=default
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
export AWS_REGION=us-west-2
Amazon Q Developer CLI와 연동 예시
Amazon Q CLI에서 MCP Proxy를 사용하는 경우, 설정 파일(~/.aws/amazonq/mcp.json)에 다음과 같은 설정을 추가하여 사용 가능합니다:
{
"mcpServers": {
"aws-mcp": {
"disabled": false,
"type": "stdio",
"command": "uv",
"args": [
"--directory", "/path/to/mcp_proxy_for_aws",
"run", "server.py",
"<SigV4 MCP endpoint URL>",
"--service", "your-service",
"--profile", "default",
"--region", "us-east-1",
"--read-only",
"--log-level", "INFO"
]
}
}
}
Docker를 사용할 경우 다음과 같은 설정을 사용할 수 있습니다:
{
"mcpServers": {
"aws-mcp": {
"command": "docker",
"args": [
"run", "--rm",
"--volume", "/full/path/to/.aws:/app/.aws:ro",
"mcp-proxy-for-aws",
"<SigV4 MCP endpoint URL>"
]
}
}
}
라이선스
AWS MCP Proxy 프로젝트는 Apache License 2.0으로 공개 및 배포되고 있습니다. 상업적 사용에 제약이 없으며, 자유롭게 수정 및 재배포가 가능합니다.
AWS MCP Proxy 프로젝트 GitHub 저장소
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()
