MCP 서버란 무엇인가 — 한국어 완전 가이드
모델 컨텍스트 프로토콜(MCP)의 정의부터 API와의 차이, 활용처, 보안까지. 한국 개발자를 위한 MCP 입문 완전 가이드입니다.
MCP 서버란 무엇인가
MCP(Model Context Protocol, 모델 컨텍스트 프로토콜)는 Anthropic이 공개한 개방형 표준으로, AI 모델이 외부 데이터와 도구에 표준화된 방식으로 접근하도록 만든 규격입니다. Claude Code, Cursor 같은 AI 클라이언트가 “호스트”가 되고, 데이터·기능을 제공하는 쪽이 “MCP 서버”가 됩니다. 호스트와 서버는 JSON-RPC 기반의 동일한 약속으로 대화하기 때문에, 한 번 만든 MCP 서버는 그 규격을 지원하는 모든 AI 클라이언트에서 그대로 동작합니다.
핵심은 표준화입니다. 과거에는 AI에 새 데이터 소스를 붙일 때마다 클라이언트별로 별도 연동 코드를 작성해야 했습니다. MCP는 이 연결을 USB-C 단자처럼 하나의 규격으로 통일합니다. 그래서 MCP 서버를 한 번 설치하면, AI 모델이 그 서버가 제공하는 기능을 마치 자기 능력처럼 사용할 수 있습니다.
MCP 서버가 제공하는 3가지
MCP 서버는 호스트에게 세 종류의 능력을 노출합니다.
- 도구(Tools): 모델이 호출할 수 있는 함수. 예: “기업명으로 DART 공시 검색”, “특정 좌표의 날씨 조회”.
- 리소스(Resources): 모델이 읽을 수 있는 데이터. 예: 파일, DB 레코드, 문서.
- 프롬프트(Prompts): 재사용 가능한 프롬프트 템플릿.
모델은 연결 직후 서버에 “어떤 도구가 있니?”라고 물어 목록과 입력 스키마를 받아옵니다. 이후 사용자의 질문에 맞춰 적절한 도구를 스스로 선택해 실행합니다. 이것이 일반 API와 가장 다른 점으로, MCP는 사람이 아니라 AI가 직접 사용하는 인터페이스라는 데 의의가 있습니다.
동작 흐름
- 사용자가 Claude에게 “삼성전자 작년 매출 알려줘”라고 묻습니다.
- Claude는 연결된 DART MCP 서버의 도구 목록에서 재무 조회 도구를 발견합니다.
- Claude가 해당 도구를 적절한 인자(기업코드, 연도)로 호출합니다.
- MCP 서버가 실제 DART OpenAPI를 호출해 결과를 받아 모델에 반환합니다.
- Claude가 그 데이터를 근거로 자연어 답변을 작성합니다.
이 모든 과정에서 사용자는 별도 코드를 작성하지 않습니다. 설치와 설정만 하면 됩니다.
설치는 어떻게 하나
대부분의 한국 MCP 서버는 클라이언트 설정 파일에 서버 한 블록을 추가하는 것으로 설치가 끝납니다. 예를 들어 Claude Code라면 다음과 같은 형태입니다.
{
"mcpServers": {
"dart": {
"command": "npx",
"args": ["-y", "dart-mcp-server"],
"env": { "DART_API_KEY": "발급받은_키" }
}
}
}
command는 서버를 띄우는 실행 명령, args는 인자, env는 API 키 같은 비밀값을 전달하는 환경 변수입니다. 클라이언트를 재시작하면 모델이 새 도구를 인식합니다.
안전하게 쓰는 법
MCP 서버는 강력한 만큼 권한도 큽니다. 로컬 파일 접근이나 명령 실행 권한을 가질 수 있으므로 다음을 지키세요.
- 출처가 분명하고 소스가 공개된 서버만 설치합니다.
- API 키는 반드시 설정 파일의
env로 주입하고, 코드나 채팅에 직접 붙여넣지 않습니다. - 신뢰할 수 없는 서버, 무엇을 하는지 알 수 없는 서버는 연결하지 않습니다.