실제 보안을 갖춘 MCP 서버 구축 방법: Fastly Compute 활용
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- MCP 프로토콜 및 에지 컴퓨팅 기술을 적용한 서버 개발자
- 확장성과 보안을 요구하는 클라우드 인프라 아키텍트
- LLM 기반 애플리케이션의 데이터 흐름을 관리하는 DevOps 엔지니어
- 난이도: 중급 (Fastly Compute 및 MCP 프로토콜 기본 지식 필요)
핵심 요약
- Fastly Compute의 WebAssembly 기반 런타임은 MCP 서버의 보안을 강화
- Streamable HTTP 및 SSE 트랜스포트 프로토콜 동시 지원을 통해 호환성 확보
fastly compute publish
명령어로 서버 구축,npx @modelcontextprotocol/inspector
로 검증- Fanout 서비스를 통한 SSE 지원 추가로 확장성과 안정성 향상
섹션별 세부 요약
1. MCP 프로토콜 개요
- MCP(Model Context Protocol)는 LLM에 데이터 맥락을 제공하기 위한 표준화된 인터페이스
- 클라이언트-서버 아키텍처로, Local Data Sources 및 Remote Services와 연동 가능
- LLM 제공자 간 전환 유연성과 데이터 보안 강화를 목표
2. Fastly Compute 기반 MCP 서버 구축
git clone fastly-compute-mcp-server
명령어로 프로젝트 초기화main.go
파일에서__PUT_YOUR_FASTLY_API_TOKEN__
을 실제 토큰으로 대체fastly compute publish
명령어로 서비스 배포 (기본값 입력 후 진행)- 배포 완료 후
npx @modelcontextprotocol/inspector
로 서버 기능 검증
3. SSE 트랜스포트 프로토콜 추가
- Fanout 서비스 등록 (
fastly products --enable=fanout
)을 통해 SSE 지원 활성화 - 두 개의 백엔드 설정:
*.edgecompute.app
(self) 및api.fastly.com
(fastly) - SSE 전용 연결을 위한
--transport sse-only
옵션 사용
4. MCP 클라이언트 구성 예시
- LibreChat 등 STDIO만 지원하는 클라이언트의 YAML 구성 예시
mcp-remote
명령어 실행 시--transport sse-only
옵션 추가 필요edgecompute.app
서비스 URL을mcp-remote
설정에 반영
결론
- Fastly Compute의 WebAssembly 런타임과 isolation sandbox 기술은 MCP 서버의 보안 및 확장성을 극대화
- Streamable HTTP와 SSE 트랜스포트 프로토콜 동시 지원으로 기존 클라이언트 호환성 확보
- Fanout 서비스를 통한 SSE 연결은 대규모 동시 요청 처리에 적합한 아키텍처 제공
fastly compute publish
명령어와npx
도구를 활용한 간단한 배포 및 검증 절차로 실제 환경 적용 가능