awslabs/run-model-context-protocol-servers-with-aws-lambda

Run existing Model Context Protocol (MCP) stdio-based servers in AWS Lambda functions

해결하는 문제

대부분의 Model Context Protocol (MCP) 서버는 표준 입력/출력(stdio)을 통해 통신하는 자식 프로세스로서 로컬에서 실행되도록 설계되어 있습니다. 이 프로젝트는 이러한 stdio 기반 서버를 AWS Lambda 함수로 래핑할 수 있는 방법을 제공하여, 로컬 머신에 종속되지 않고 클라우드에서 호스팅하고 HTTPS를 통해 접근할 수 있도록 합니다.

작동 방식

이 라이브러리는 Lambda 함수 내에서 MCP 서버의 수명 주기를 관리합니다. 각 호출마다 Lambda 함수는 MCP 서버를 자식 프로세스로 시작하고 초기화한 후, 들어오는 요청을 전달하고 응답을 반환한 후 프로세스를 종료합니다. 다음 네 가지 연결 방식을 지원합니다:

  1. Amazon API Gateway: OAuth 인증을 사용하는 MCP Streamable HTTP 전송 방식.
  2. Amazon Bedrock AgentCore Gateway: OAuth 인증을 사용하는 MCP Streamable HTTP 전송 방식.
  3. Lambda Function URLs: AWS IAM(SigV4)으로 인증되는 커스텀 Streamable HTTP 전송 방식.
  4. Lambda Invoke API: AWS IAM을 통해 Lambda API를 직접 호출하는 커스텀 전송 방식.

대상 사용자

Cursor, Cline, Claude Desktop과 같은 MCP 클라이언트와 호환성을 유지하면서 로컬 환경에서 분산형 클라우드 아키텍처로 MCP 서버를 이동시키고자 하는 개발자들.

주요 특징

  • 다국어 지원: Python 및 TypeScript용 구현 예제 제공.
  • 클라우드 네이티브 호스팅: MCP 서버를 서버리스 함수로 실행 가능.
  • 유연한 인증: OAuth(API Gateway/Bedrock 경유) 및 AWS IAM 지원.
  • 자세한 구성 안내: 서버 패키징, AWS Secrets Manager를 통한 시크릿 관리, 자식 프로세스에 AWS 자격 증명 전달 방법에 대한 가이드 포함.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트