서버라는 이름 때문에 별도 컴퓨터부터 떠올릴 필요는 없습니다

MCP는 Model Context Protocol의 약자입니다. AI 애플리케이션이 외부 데이터와 기능을 공통된 방식으로 연결하도록 만든 규약입니다. 여기서 서버는 인터넷 어딘가의 큰 장비일 수도 있지만, 내 컴퓨터에서 자식 프로세스로 실행되는 작은 프로그램일 수도 있습니다.

예를 들어 메모 서비스의 MCP 서버는 페이지 검색 기능과 문서 내용을 제공하고, Claude Code는 사용자의 요청에 맞춰 그 기능을 호출합니다. 같은 서비스를 연결해도 서버가 내놓지 않은 기능은 쓸 수 없습니다. 반대로 서버에 수정·삭제 도구가 포함돼 있다면 단순 검색 연결보다 훨씬 넓은 권한을 갖게 됩니다.

MCP 공식 사양의 서버 기능 개요 화면
MCP 공식 사양의 Server features 2026-07-28 최신 사양에서 Prompts, Resources, Tools를 서로 다른 제어 방식으로 구분합니다. 촬영 2026.08.27

공식 사양은 프롬프트·리소스·도구를 구분합니다

Prompts는 사용자가 명시적으로 선택해 쓰는 재사용 가능한 대화 틀입니다. Resources는 파일, 데이터베이스 레코드, 문서처럼 애플리케이션이 대화 맥락에 포함할 수 있는 자료입니다. Tools는 검색 실행, 이슈 생성, 파일 수정처럼 모델이 호출할 수 있는 행동입니다.

노션을 예로 들면

‘주간 회의 정리’가 프롬프트, 특정 회의 페이지의 본문이 리소스, 새 할 일을 만드는 기능이 도구에 해당할 수 있습니다. 실제 제공 범위는 해당 MCP 서버의 구현과 사용자가 부여한 권한에 따라 달라집니다.

이 구분이 중요한 이유는 위험도가 다르기 때문입니다. 문서를 읽는 리소스와 문서를 삭제할 수 있는 도구는 같은 “노션 연결”이 아닙니다. 서버를 추가할 때 기능 개수보다 쓰기·삭제 동작이 있는지 먼저 봐야 합니다.

로컬 stdio와 원격 HTTP는 운영 방식이 다릅니다

로컬 서버는 보통 stdio 방식으로 Claude Code가 명령을 실행하고 표준 입출력으로 통신합니다. 파일 시스템이나 로컬 개발 도구처럼 내 컴퓨터 가까이에 있는 기능에 잘 맞습니다. 대신 실행 명령과 패키지 업데이트, 로컬 권한을 직접 관리해야 합니다.

원격 서버는 Streamable HTTP를 통해 웹 주소에 연결합니다. 서비스 제공자가 업데이트와 인증을 관리하기 쉬워 SaaS 연동에서 많이 쓰입니다. Anthropic 문서는 원격 연결에 HTTP를 권장하며 예전 SSE 방식은 더 이상 우선 선택이 아닙니다. URL 하나가 간단해 보여도 그 주소를 누가 운영하고 어떤 데이터가 전송되는지는 확인해야 합니다.

“로컬이면 안전하고 원격이면 위험하다”는 식으로 나눌 수는 없습니다. 출처가 불분명한 로컬 패키지는 내 파일에 넓게 접근할 수 있고, 공식 원격 서버는 제한된 OAuth 권한만 요청할 수 있습니다. 설치 위치가 아니라 코드 출처·권한·데이터 흐름을 함께 봅니다.

Claude Code에서는 이름·전송 방식·주소를 등록합니다

공식 문서의 원격 HTTP 예시는 claude mcp add --transport http 이름 URL 형태입니다. 로컬 stdio는 claude mcp add --transport stdio 이름 -- 실행명령으로 등록합니다. 인터넷 글의 명령을 그대로 실행하기 전에 서버 공식 문서에서 URL과 패키지 이름을 다시 확인하세요.

등록 뒤 확인 순서

claude mcp list로 전체 목록 확인 → claude mcp get 이름으로 개별 설정 확인 → Claude Code 안에서 /mcp를 열어 연결·인증 상태 확인. 사용하지 않으면 claude mcp remove 이름으로 제거합니다.

연결에 성공했다는 표시만 보고 바로 중요한 문서를 맡기지 않습니다. 읽기 전용 테스트 자료 하나를 검색해보고, 어떤 도구가 노출됐는지 확인합니다. 수정 기능을 테스트해야 한다면 삭제해도 되는 별도 페이지나 샌드박스 저장소를 씁니다.

local·project·user 범위를 프로젝트 성격에 맞춰 고릅니다

Claude Code의 기본 local 범위는 현재 프로젝트에서 개인적으로 쓰는 설정입니다. project 범위는 .mcp.json에 저장되어 팀과 공유할 수 있고, user 범위는 여러 프로젝트에서 같은 사용자가 쓸 수 있습니다.

팀 모두가 같은 이슈 관리 서버를 써야 한다면 project 범위가 편리하지만, 파일에 실제 비밀키를 넣어 공유하면 안 됩니다. 개인 실험 서버나 아직 검증하지 않은 연결은 local 범위에서 시작하는 편이 좋습니다. user 범위에 등록하면 편하지만 전혀 관계없는 프로젝트에서도 도구가 보일 수 있으므로 적용 범위가 넓어진다는 점을 기억해야 합니다.

공유 설정을 처음 열었을 때 Claude Code가 서버 사용 승인을 묻는 이유도 여기에 있습니다. 저장소에 설정 파일이 있다는 사실만으로 그 서버를 신뢰하지 말고 변경 이력과 서버 운영 주체를 확인합니다.

가장 현실적인 위험은 과한 권한과 프롬프트 인젝션입니다

MCP 서버가 반환한 문서 안에는 모델의 행동을 유도하는 문장이 숨어 있을 수 있습니다. 사용자는 자료라고 생각했지만 모델은 지시처럼 해석할 수 있는 프롬프트 인젝션 문제입니다. 외부 웹, 이메일, 고객 문의처럼 누구나 내용을 넣을 수 있는 데이터와 쓰기 도구를 동시에 연결하면 위험이 커집니다.

읽기와 쓰기를 분리하고, 삭제·결제·공개 게시 같은 동작은 반드시 사람 승인을 거치게 합니다. OAuth 권한 화면에서는 서비스 전체 관리 권한이 필요한지 확인합니다. 토큰은 대화나 저장소에 직접 넣지 말고 운영체제 비밀 저장소나 환경변수를 사용합니다. 로그에 문서 본문이나 고객 정보가 남는지도 점검해야 합니다.

추가 전 다섯 질문

누가 운영하는 서버인가? 읽는 데이터는 무엇인가? 쓸 수 있는 동작은 무엇인가? 인증정보는 어디에 저장되는가? 문제가 생기면 연결과 토큰을 어떻게 폐기하는가? 이 중 답을 모르는 항목이 있으면 실제 업무 계정 연결을 미룹니다.

첫 MCP는 자주 쓰는 서비스보다 피해가 작은 서비스가 낫습니다

처음부터 회사 메일과 고객 데이터베이스를 연결하면 편리함은 크지만 실패 비용도 큽니다. 공개 문서를 검색하는 서버나 테스트 저장소의 이슈를 읽는 연결처럼, 잘못 호출돼도 복구하기 쉬운 대상으로 동작을 익히세요.

일주일 사용한 뒤 실제로 호출한 도구와 승인 횟수를 봅니다. 거의 쓰지 않는 서버는 제거하는 것이 좋습니다. 연결이 많을수록 모델이 선택해야 할 도구가 늘고, 비슷한 이름의 기능을 잘못 고를 가능성도 생깁니다. MCP의 목적은 도구 목록을 수집하는 것이 아니라 필요한 맥락과 행동을 예측 가능한 경로로 제공하는 데 있습니다.

확인한 공식 자료

Model Context Protocol 2026-07-28 서버·전송 사양과 Anthropic Claude Code MCP 안내를 2026년 8월 27일 확인했습니다.

MCP 공식 서버 사양 ↗ · Claude Code MCP 공식 문서 ↗