팀을 위해 20개의 MCP 서버를 하나의 URL을 통해 노출하는 방법
언제 쓸까: 엔지니어들이 계속해서 로컬 설정을 복사-붙여넣기하고 서로의 설정을 깨뜨립니다.
사전 조건
- Docker와 DNS 이름이 있는 서버 — 저렴한 VPS를 사용할 수 있으며, TLS는 Caddy 또는 nginx를 사용합니다
- 서버를 나열한 mcp_settings.json — MCPHub 샘플에서 시작하여 MCP당 하나의 항목을 추가합니다
흐름
-
허브 배포실행: docker run -p 3000:3000 -v $PWD/mcp_settings.json:/app/mcp_settings.json samanhappy/mcphub✓ 복사됨→ 로그의 관리자 로그인 URL + 생성된 비밀번호
-
그룹 생성관리자 UI에서 'dev'(github, filesystem, postgres)와 'data'(postgres, bigquery) 그룹을 생성합니다.✓ 복사됨→ /mcp/dev와 /mcp/data에서 그룹이 표시됩니다
-
URL 배포팀과 https://mcp.yourco.internal/mcp/dev를 공유하면, 팀원들이 이를 클라이언트에서 하나의 HTTP MCP로 추가합니다.✓ 복사됨→ 팀원들이 하나의 설정 라인으로 연결합니다
결과: 하나의 작동 가능한 엔드포인트가 20개의 머신별 설정을 대체합니다.
함정
- Docker 로그에서 관리자 비밀번호 노출 — ADMIN_PASSWORD 환경변수를 명시적으로 설정하고, 첫 로그인 시 로테이션합니다
- 허브를 공개 인터넷에 노출 — VPN 뒤에 배치하거나 사용자별 베어러 토큰을 요구합니다