MCP 서버를 독립형 서비스로 시작하여 MCP 서버를 AI 클라이언트 와 독립적으로 실행 수 있습니다. MCP 서버를 독립형 서비스로 시작하려면 npx
명령을 사용합니다.
환경 변수를 사용한 독립형 서비스
npx
를 사용하여 MCP 서버를 시작하고 환경 변수를 사용할 수 있습니다. npx
를 실행 전에 운영 체제에서 MCP 서버 환경 변수를 정의해야 합니다.
다음 예제에서는 Atlas cluster 에 연결할 MCP 서버 Unix 환경 변수를 정의합니다.
export MDB_MCP_API_CLIENT_ID="<atlas-service-account-client-id>" export MDB_MCP_API_CLIENT_SECRET="<atlas-service-account-client-secret>" export MDB_MCP_CONNECTION_STRING="mongodb+srv://<user-name>:<password>@<cluster-name>.mongodb.net/<database-name>"
예시 사용하려면 다음 사항을 고려하세요.
옵션 값을 연결 정보 및 기타 세부 정보로 바꿉니다.
다른 운영 체제에 대한 환경 변수를 정의하려면 운영 체제에서 MCP 서버 환경 변수 정의를 참조하세요.
MCP 서버 옵션 목록을 확인하려면 MongoDB MCP 서버 구성 옵션을 참조하세요.
Atlas 서비스 계정을 만들려면 Atlas 도구를 실행하기 위한 MongoDB MCP 서버 전제 조건을 참조하세요.
다음 예시 에서는 연결 정보가 있는 이전 환경 변수를 사용하고 추가 명령줄 옵션도 설정합니다.
npx -y mongodb-mcp-server@latest --readOnly --indexCheck --loggers mcp stderr --logPath=<log-path>
<log-path>
를 로그 파일을 저장 디렉토리 경로로 바꿉니다.
HTTP 서버로 실행되는 독립형 서비스
기본값 MCP 서버 전송 프로토콜 stdio
이며, 대부분의 MCP 클라이언트와의 통합에 적합합니다.
MCP 서버와 함께 HTTP 전송 프로토콜 사용할 수도 있습니다. HTTP 웹 클라이언트 에서 MCP 서버와 상호 작용 하거나 특정 포트의 요청에 응답하도록 MCP 서버를 구성하려는 경우에 유용합니다.
참고
인증 및 보안 조치를 구현하지 않은 프로덕션 환경에서는 HTTP 전송을 사용하지 않는 것이 좋습니다. MCP 서버와 상호 작용 위해 HTTP 사용해야 하는 경우에만 HTTP 전송을 사용합니다.
보안 지침:
인증 구현합니다. 예시 들어 API 게이트웨이 또는 역방향 프록시를 사용합니다.
HTTPS/TLS 암호화 사용합니다.
방화벽 뒤 또는 사설 네트워크에 MCP 서버를 배포합니다.
속도 제한을 구현합니다.
연결 자격 증명 노출하지 마세요.
보안 권장 사항을 보려면 MongoDB MCP 서버 보안 및 MongoDB MCP 서버 보안 모범 사례를 참조하세요.
HTTP 전송으로 MCP 서버를 시작하려면 --transport http
을 사용합니다. 예시 를 들면 다음과 같습니다.
npx -y mongodb-mcp-server@latest --transport http --readOnly
기본값 으로 MCP 서버는 http://127.0.0.1:3000
의 요청에 응답하고 로컬 연결만 허용합니다.
클라이언트 연결 URL
MCP 클라이언트 HTTP 서버 에 연결하는 경우 클라이언트의 연결 URL /mcp
엔드포인트 경로가 포함되어야 합니다. 예시 를 들면 다음과 같습니다.
http://127.0.0.1:3000/mcp
원격 연결
다른 컴퓨터 또는 컨테이너에서 원격 연결을 허용하려면 --httpHost=0.0.0.0
를 사용하여 서버 모든 네트워크 인터페이스에 바인딩한 다음 클라이언트 서버의 IP 주소 또는 호스트 이름을 사용하여 다른 컴퓨터에서 연결할 수 있습니다.
경고
Streamable HTTP 사용하면 MCP 서버가 기본값 으로 localhost
(127.0.0.1)
에 바인딩됩니다. 이렇게 하면 MCP 서버가 동일한 컴퓨터에서 시작되는 연결만 허용합니다.
0.0.0.0
에 바인딩하면 MCP 서버가 전체 로컬 네트워크에 노출되어 동일한 네트워크의 다른 장치가 잠재적으로 MCP 서버에 액세스 수 있습니다. 이는 보안 위험이며 데이터베이스 컨텍스트에 대한 무단 액세스 허용할 수 있습니다. MCP 서버를 localhost
외부에 노출해야 하는 경우 강력한 보안 인증구현.