
이 글에서 다루는 내용: 두 방식의 구조 차이, 항목별 비교, 선택 기준, 각각의 보안 포인트.
구조: 프로세스 vs 엔드포인트
로컬 MCP는 클라이언트(Cursor, Claude Code)가 설정에 적힌 명령으로 내 컴퓨터에 프로세스를 띄우고 표준입출력(stdio)으로 대화합니다. 원격 MCP는 제공자가 운영하는 HTTP 엔드포인트에 접속하는 방식이라 실행할 것이 없습니다 — URL과 인증만 설정하면 끝. 초기 MCP 생태계는 로컬 위주였지만, 주요 서비스들이 공식 원격 서버를 내면서 "외부 서비스는 원격"이 기본값이 되어가는 중입니다.
항목별 비교
| 항목 | 로컬 (stdio) | 원격 (HTTP) |
|---|---|---|
| 설치 | 런타임(Node·Python 등) 필요 | URL 등록만 |
| 로컬 자원 접근 | 가능 (파일, 로컬 DB, CLI) | 불가 |
| 업데이트 | 내가 관리 (버전 깨짐 리스크) | 제공자가 관리 (항상 최신) |
| 인증 | 보통 토큰을 env로 주입 | OAuth 흐름이 표준 |
| 흔한 장애 | PATH·환경변수 문제 | 네트워크·인증 만료 |
| 데이터 경로 | 내 컴퓨터 안에서 종결 가능 | 제공자 서버 경유 |
선택 기준: 자원이 어디 있나
로컬을 쓰는 경우: 파일 시스템, 로컬 개발 DB, 내 컴퓨터의 CLI 도구를 에이전트에게 물릴 때 — 원격은 구조적으로 불가능한 영역입니다. 데이터가 밖으로 나가면 안 되는 요건에서도 로컬(+로컬 모델까지 가면 완전 폐쇄)이 답입니다. 원격을 쓰는 경우: GitHub·Slack·Notion 같은 외부 SaaS 연동 — 공식 원격 서버가 있다면 그쪽이 우선입니다. 로컬로 띄우던 시절의 고질병(PATH 문제, 버전 깨짐 — 디버깅 글의 절반)이 통째로 사라지고, 제공자가 직접 운영하니 API 변경 대응도 그쪽 몫입니다.
보안: 각자 다른 걱정
로컬의 걱정은 "이 코드를 실행해도 되나"입니다 — 검증 안 된 패키지를 내 컴퓨터에서 프로세스로 돌리는 것이므로, 출처 확인과 최소 권한 토큰(MCP 보안 가이드)이 핵심입니다. 원격의 걱정은 "이 제공자에게 데이터와 권한을 줘도 되나"입니다 — OAuth 승인 화면에서 요구 권한 범위를 읽는 것, 비공식 원격 서버(제3자가 호스팅하는 것)를 피하는 것이 핵심입니다. 특히 후자 — 공식이 아닌 원격 MCP는 내 토큰이 남의 서버를 지나간다는 뜻이므로, 공식 여부 확인이 보안 점검의 첫 줄입니다.
실전 구성 예
제 구성은 이렇게 정착했습니다: 파일·로컬 Postgres는 로컬 MCP, GitHub·문서 도구는 공식 원격. 설정 파일에서 로컬은 절대 경로 명령으로, 원격은 URL로 — 섞여 있어도 클라이언트 입장에선 똑같은 도구 목록입니다. 연결 방법 자체는 Cursor 편·Claude Code 편을 참고하세요.
자주 묻는 질문 (FAQ)
Q. 같은 서비스에 로컬·원격이 둘 다 있으면?
A. 공식 원격을 권합니다. 관리 비용과 장애 빈도가 낮습니다. 로컬 전용 기능(로컬 파일 연계 등)이 필요할 때만 로컬을 씁니다.
Q. 원격 MCP는 느리지 않나요?
A. 네트워크 왕복이 있으니 이론상 느리지만, 도구 호출 자체가 외부 API를 치는 작업이라 체감 차이는 크지 않습니다. 병목은 대부분 모델 응답 시간입니다.
Q. 회사에서 원격 MCP를 막아야 할까요?
A. 일괄 차단보다 허용 목록 관리가 현실적입니다. 공식 제공자 + 필요 최소 권한 원칙으로 승인하고, 비공식 호스팅은 차단하는 정책이 균형점입니다.
한눈에 보는 요약
내 컴퓨터의 자원이면 로컬, 외부 서비스면 공식 원격. 로컬의 보안은 "실행 코드 신뢰", 원격의 보안은 "제공자와 권한 범위 신뢰". 이 두 문장이 전부입니다.
함께 보면 좋은 글
MCP란 무엇인가?
MCP 보안 가이드
MCP 서버가 안 붙을 때 디버깅 체크리스트
참고 자료
'MCP' 카테고리의 다른 글
| MCP 서버, 어디서 찾아야 안전할까? 공식 레지스트리 활용법 (0) | 2026.07.23 |
|---|---|
| Postgres MCP로 DB를 물려 개발하기: 에이전트가 스키마를 아는 순간 달라지는 것들 (0) | 2026.07.22 |
| MCP 서버가 안 붙을 때 디버깅 체크리스트: 순서대로 따라가면 잡힌다 (0) | 2026.07.20 |
| TypeScript로 MCP 서버 만들기: Node 개발자용 30분 가이드 (0) | 2026.07.14 |
| MCP 보안 가이드: AI에게 도구를 쥐여주기 전에 확인할 것들 (0) | 2026.07.10 |