MCP 연동 (Claude, 설치, 설정)
MCP를 처음 듣고 가장 궁금한 건 결국 "내 Claude에 어떻게 붙이느냐"다. 2026년 5월 기준 MCP는 Claude Desktop 앱 기본 기능으로 들어와 있어서, 별도의 클라이언트를 구현할 필요 없이 설정 파일 한 줄만 추가하면 외부 서버와 연결된다. 이 글에서는 Claude Desktop을 호스트로 두고 MCP 서버를 연결하는 가장 빠른 경로를 정리한다. 제가 직접 처음 연동했을 때는 솔직히 30분이면 충분할 거라 생각했는데, 경로 문제와 권한 설정에서 한 번 막혀 1시간을 썼고 그 경험을 토대로 시행착오를 미리 공유한다.

MCP 클라이언트 설치와 사전 준비
MCP 연동의 첫걸음은 호스트 앱과 런타임 환경을 갖추는 일이다. 호스트는 Claude Desktop을 권장한다. 공식 다운로드 페이지에서 macOS·Windows·Linux 빌드를 받을 수 있고, 2026년 5월 기준 모든 운영체제에서 MCP가 기본 활성화되어 있다(출처: Claude Desktop 공식 다운로드).
런타임으로는 Node.js LTS와 Python 3.10 이상 둘 중 하나가 필요하다. 여기서 LTS란 Long-Term Support의 약자로 장기 지원되는 안정 버전을 의미하는데, MCP 서버 다수가 npm 또는 uvx 패키지로 배포되기 때문에 npx 명령이 동작하는 환경이 필수다. 솔직히 이 부분에서 환경 변수 PATH 설정을 빠뜨리면 Claude Desktop이 서버를 찾지 못해 한참을 헤매게 되니, 설치 직후 터미널에서 npx --version과 python --version 두 줄을 먼저 확인하는 습관을 들이는 것이 좋다.
마지막으로 연동할 외부 서비스의 인증 토큰을 준비한다. 예를 들어 GitHub MCP 서버라면 GitHub에서 발급받은 PAT(Personal Access Token)이 필요하고, Slack이라면 Bot Token이 필요하다. 여기서 PAT란 비밀번호 대신 사용하는 임시 발급 키로, 제한된 권한 범위만 갖도록 설정해야 보안상 안전하다. 제 경험상 이 토큰을 한곳에 모아두는 비밀 저장소(macOS 키체인이나 Windows 자격 증명 관리자)를 미리 정해 두면 나중에 서버를 추가할 때마다 헤매지 않을 수 있다.
claude_desktop_config.json 작성 방법
Claude Desktop은 시작 시점에 한 개의 JSON 파일을 읽어 어떤 MCP 서버를 띄울지 결정한다. 이 파일이 바로 claude_desktop_config.json이다. 운영체제별 위치는 다음과 같다. macOS는 ~/Library/Application Support/Claude/claude_desktop_config.json, Windows는 %APPDATA%\Claude\claude_desktop_config.json, Linux는 ~/.config/Claude/claude_desktop_config.json이다.
파일이 존재하지 않으면 직접 만들어 주면 된다. 가장 단순한 형식은 다음과 같이 한 서버를 등록하는 모양이다.
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_여기에_토큰"
}
}
}
}
mcpServers 객체 아래에 서버 이름을 키로 두고, command(실행 명령), args(인자), env(환경 변수)를 명시하면 끝이다. Claude Desktop을 재시작하면 좌하단 아이콘에 연결된 서버 수가 표시되고, 채팅창 입력 영역에 도구(Tool) 목록을 펼쳐 볼 수 있는 망치 모양 버튼이 나타난다(출처: MCP 공식 Quickstart). 솔직히 이건 예상 밖이었는데, 한 번 연결이 잡히고 나면 별도의 추가 설정 없이 모델이 자연어 명령을 도구 호출로 자동 변환해 주어서, 처음에는 너무 매끄러워서 진짜로 작동한 게 맞나 싶었다.
실전 연동 예제, GitHub MCP 서버 붙이기
가장 자주 써먹는 예제가 GitHub MCP 서버다. 이 서버는 이슈 검색·PR 코멘트 추가·파일 읽기 같은 기능을 도구로 노출한다. 위의 config 예시를 그대로 적용한 뒤 Claude Desktop을 다시 띄우면, 채팅창에 "내 organization의 최근 PR 5개 보여줘" 같은 명령을 자연어로 입력할 수 있다. 모델은 자동으로 GitHub 도구를 찾아내 호출하고 결과를 마크다운 표로 정리해 보여준다.
연동 후 가장 유용했던 시나리오는 코드 리뷰 자동화였다. 제가 학교 졸업 프로젝트에서 시도해 본 흐름을 예로 들면, "최근 머지된 PR 중에서 N+1 쿼리 의심되는 부분만 추려서 코멘트 초안 만들어줘"라고 한 줄 말하면, GitHub 서버가 PR 변경분을 가져오고 모델이 코드를 읽어 의심 구간을 찾아 코멘트 초안을 출력해 주었다. 여기서 N+1 쿼리란 한 번에 묶을 수 있는 데이터베이스 조회를 반복문 안에서 N번 따로 날리는 비효율 패턴을 가리킨다. 이 한 줄로 처리되는 작업이 기존에는 코드 클론·diff 확인·리뷰 작성으로 30분 넘게 걸렸기 때문에, 솔직히 이 차이를 처음 본 순간이 MCP의 가치를 가장 직관적으로 체감한 순간이었다.
추가 서버는 같은 mcpServers 객체에 키를 더해 가면서 늘리면 된다. 공식 저장소에는 PostgreSQL·Slack·Google Drive·Brave Search 등 200개 이상의 레퍼런스 서버가 등록되어 있고(출처: MCP Servers 공식 저장소), 거의 모든 주요 SaaS가 자체 서버를 제공하므로 필요한 통합을 직접 짤 일은 점점 줄고 있다. 다만 사내 시스템처럼 외부에 없는 서버는 직접 구현해야 하는데, Python과 TypeScript SDK 모두 30분 안에 첫 서버를 띄울 수 있을 만큼 단순하므로 다음 글에서 그 과정을 다룰 예정이다.
메타 디스크립션: Claude Desktop에 MCP 서버를 연결하는 전 과정을 사전 준비, claude_desktop_config.json 작성, GitHub MCP 실전 예제 순으로 정리합니다.