MCP란?
Model Context Protocol에 대한 소개입니다. MCP를 통해 Claude Code를 외부 도구 및 서비스와 연동할 수 있습니다.
MCP 개요
Model Context Protocol (MCP)은 Anthropic이 개발한 개방형 프로토콜로, LLM이 외부 데이터 소스 및 도구와 안전하게 상호작용할 수 있게 해줍니다.
표준화된 통신
JSON-RPC 2.0 기반의 일관된 프로토콜을 사용합니다
안전한 접근
권한 기반 접근 제어로 보안을 보장합니다
확장 가능
필요한 만큼 여러 MCP 서버를 동시에 사용할 수 있습니다
커스터마이징
팀의 요구사항에 맞는 MCP 서버를 직접 만들 수 있습니다
아키텍처
MCP는 클라이언트-서버 아키텍처를 기반으로 합니다.
클라이언트 (Claude Code)
Claude Code가 MCP 클라이언트 역할을 하며, 사용자의 요청을 이해하고 적절한 MCP 서버에 연결하여 도구를 실행합니다.
서버 (MCP Server)
특정 리소스나 도구를 제공하는 독립적인 프로세스입니다. 각 서버는 자체 통신 채널을 통해 클라이언트와 연결됩니다.
- 도구(Tools): 실행 가능한 기능
- 리소스(Resources): 접근 가능한 데이터
- 프롬프트(Prompts): 재사용 가능한 프롬프트 템플릿
통신 프로토콜
JSON-RPC 2.0을 사용하여 클라이언트와 서버 간 통신합니다. Stdio, HTTP, WebSocket 등 다양한 전송 방식을 지원합니다.
MCP의 장점
MCP를 사용하면 Claude Code의 기능을 크게 확장할 수 있습니다.
1. 데이터 접근
Claude가 다양한 데이터 소스에 직접 접근할 수 있습니다.
- 데이터베이스 (PostgreSQL, MySQL, MongoDB 등)
- 파일 시스템
- API 및 웹 서비스
- 클라우드 스토리지
2. 도구 통합
기존 도구와 서비스를 Claude 워크플로우에 통합할 수 있습니다.
- Jira, Linear 등 프로젝트 관리 도구
- Slack, Discord 등 커뮤니케이션 도구
- GitHub, GitLab 등 코드 호스팅
- 커스텀 내부 도구
3. 보안 및 제어
세밀한 권한 제어로 안전하게 외부 리소스에 접근할 수 있습니다.
MCP 서버 종류
공식 및 커뮤니티에서 제공하는 다양한 MCP 서버들이 있습니다.
Filesystem Server
로컬 파일 시스템 접근
@modelcontextprotocol/server-filesystemPostgreSQL Server
PostgreSQL 데이터베이스 쿼리
@modelcontextprotocol/server-postgresGitHub Server
GitHub API 통합
@modelcontextprotocol/server-githubSlack Server
Slack 메시지 및 채널 관리
@modelcontextprotocol/server-slack시작하기
첫 번째 MCP 서버를 설치하고 Claude Code와 연동해봅시다.
- 1npm install -g @modelcontextprotocol/server-filesystem 명령으로 MCP 서버를 설치합니다
- 2~/.claude/config.json 파일에 MCP 서버 설정을 추가합니다
- 3Claude Code를 재시작하여 설정을 적용합니다
- 4Claude에게 파일 시스템 관련 작업을 요청하여 테스트합니다
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"@modelcontextprotocol/server-filesystem",
"/allowed/directory/path"
]
}
}
}