Skip to main content
Claude Code는 AI 도구 통합을 위한 오픈 소스 표준인 Model Context Protocol (MCP)를 통해 수백 개의 외부 도구 및 데이터 소스에 연결할 수 있습니다. MCP 서버는 Claude Code에 도구, 데이터베이스 및 API에 대한 액세스를 제공합니다. 다른 도구(예: 이슈 추적기 또는 모니터링 대시보드)에서 채팅으로 데이터를 복사하는 자신을 발견할 때 서버를 연결하세요. 연결되면 Claude는 붙여넣은 내용에서 작업하는 대신 해당 시스템을 직접 읽고 작동할 수 있습니다. 첫 번째 서버를 연결하는 경우 단계별 안내를 위해 MCP 빠른 시작으로 시작하세요. 이 페이지는 전체 참고 자료입니다.

MCP로 할 수 있는 것

MCP 서버가 연결되면 Claude Code에 다음을 요청할 수 있습니다:
  • 이슈 추적기에서 기능 구현: “JIRA 이슈 ENG-4521에 설명된 기능을 추가하고 GitHub에서 PR을 생성하세요.”
  • 모니터링 데이터 분석: “Sentry와 Statsig을 확인하여 ENG-4521에 설명된 기능의 사용량을 확인하세요.”
  • 데이터베이스 쿼리: “PostgreSQL 데이터베이스를 기반으로 기능 ENG-4521을 사용한 무작위 사용자 10명의 이메일을 찾으세요.”
  • 디자인 통합: “Slack에 게시된 새로운 Figma 디자인을 기반으로 표준 이메일 템플릿을 업데이트하세요.”
  • 워크플로우 자동화: “이 10명의 사용자를 새로운 기능에 대한 피드백 세션에 초대하는 Gmail 초안을 생성하세요.”
  • 외부 이벤트에 반응: MCP 서버는 채널로도 작동할 수 있으며, 세션에 메시지를 푸시하므로 Claude는 자리를 비운 동안 Telegram 메시지, Discord 채팅 또는 webhook 이벤트에 반응할 수 있습니다.

MCP 서버 찾기 및 구축

Anthropic Directory에서 검토된 커넥터를 찾아보세요. Directory 커넥터는 Claude Code와 동일한 MCP 인프라를 사용하므로 claude mcp add를 사용하여 여기에 나열된 모든 원격 서버를 추가할 수 있습니다.
연결하기 전에 각 서버를 신뢰할 수 있는지 확인하세요. 외부 콘텐츠를 가져오는 서버는 프롬프트 주입 위험에 노출될 수 있습니다.
자신만의 서버를 구축하려면 프로토콜 기본 사항에 대한 MCP 서버 가이드와 인증, 테스트 및 Directory 제출에 대한 Claude 커넥터 구축 문서를 참조하세요. 공식 mcp-server-dev 플러그인을 사용하여 Claude가 서버를 스캐폴드하도록 할 수도 있습니다.
1

플러그인 설치

VS Code 확장 프로그램이나 데스크톱 앱에서는 이 단계 대신 플러그인 설치를 따르세요. 터미널에서는 claude를 실행하여 Claude Code를 시작한 다음 프롬프트에 다음을 입력하세요:
설치가 실패하면 Claude Code가 보고하는 메시지와 일치하는지 확인하세요:
  • Marketplace "claude-plugins-official" not found: /plugin marketplace add anthropics/claude-plugins-official로 마켓플레이스를 추가한 다음 설치를 다시 시도하세요.
  • 플러그인이 마켓플레이스에서 찾을 수 없음: 플러그인 이름을 확인하세요.
설치 요약에서 Run /reload-plugins to apply.를 보고하면 Claude Code가 해당 리로드를 실행합니다. 리로드에서 다음 메시지가 대화를 다시 읽을 것이라고 경고하면 /reload-plugins --force를 실행하세요.
2

빌드 스킬 실행

Claude가 사용 사례에 대해 묻고 원격 HTTP 또는 로컬 stdio 서버를 스캐폴드합니다.

MCP 서버 설치

MCP 서버는 필요에 따라 여러 가지 방식으로 구성할 수 있습니다:

옵션 1: 원격 HTTP 서버 추가

HTTP 서버는 원격 MCP 서버에 연결하기 위한 권장 옵션입니다. 이는 클라우드 기반 서비스에 가장 널리 지원되는 전송 방식입니다.
.mcp.json, ~/.claude.json 또는 claude mcp add-json을 통해 JSON으로 MCP 서버를 구성할 때, type 필드는 http의 별칭으로 streamable-http를 허용합니다. MCP 사양은 이 전송에 대해 streamable-http라는 이름을 사용하므로 서버 설명서에서 복사한 구성이 수정 없이 작동합니다. url은 있지만 type이 없는 JSON 항목은 구성 오류입니다. Claude Code는 type이 없는 항목을 stdio 서버로 읽기 때문입니다. Claude Code는 해당 서버를 건너뛰고 MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry를 보고합니다. SDK 호스트 애플리케이션 (예: Agent SDK 애플리케이션 또는 데스크톱 앱)만 인프로세스 "type": "sdk" 서버를 등록할 수 있습니다. Claude Code는 .mcp.json, ~/.claude.json 또는 설정의 "type": "sdk" 항목을 건너뛰고 Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register를 보고합니다. --output-format stream-json 실행에서 Claude Code는 또한 system/init 이벤트의 mcp_server_errors 필드에서 건너뛴 --mcp-config 항목을 보고하므로 스크립트가 서버가 로드되지 않았음을 감지할 수 있습니다. 이는 Claude Code v2.1.219 이상이 필요합니다.

옵션 2: 원격 SSE 서버 추가

SSE (Server-Sent Events) 전송은 더 이상 사용되지 않습니다. 가능한 경우 HTTP 서버를 사용하세요.
일부 서비스는 여전히 SSE 엔드포인트만 노출합니다. HTTP 서버와 동일한 claude mcp add --transport http <name> <url> 명령으로 추가하세요. Claude Code는 HTTP 전송을 먼저 시도하고 서버가 이를 허용하지 않을 때 SSE로 전환합니다. 자동 전환에는 Claude Code v2.1.265 이상이 필요합니다. 이전 버전에서 또는 SSE를 통해 직접 연결하려면 대신 --transport sse를 전달하세요:

옵션 3: 로컬 stdio 서버 추가

Stdio 서버는 컴퓨터에서 로컬 프로세스로 실행됩니다. 시스템에 직접 액세스하거나 사용자 정의 스크립트가 필요한 도구에 이상적입니다. Claude Code는 생성된 서버의 환경에서 CLAUDE_PROJECT_DIR을 프로젝트 루트로 설정하므로 서버는 작업 디렉터리에 의존하지 않고 프로젝트 상대 경로를 확인할 수 있습니다. 이는 훅이 CLAUDE_PROJECT_DIR 변수에서 받는 것과 동일한 디렉터리입니다. 서버 프로세스 내에서 읽으세요. 예를 들어 Node에서는 process.env.CLAUDE_PROJECT_DIR 또는 Python에서는 os.environ["CLAUDE_PROJECT_DIR"]입니다. CLAUDE_PROJECT_DIR은 안정적인 프로젝트 루트이며 세션 중에 작업 디렉터리를 추가하거나 제거할 때 변경되지 않습니다. 자신의 파일 시스템 액세스를 허용된 디렉터리 집합으로 제한하는 서버는 대신 MCP roots/list 요청을 구현해야 합니다. Claude Code는 roots/list에 세션의 시작 디렉터리와 --add-dir, /add-dir 또는 additionalDirectories 설정으로 부여한 모든 추가 작업 디렉터리로 응답합니다. Claude Code는 해당 집합이 변경될 때 notifications/roots/list_changed를 보냅니다. 이 변수는 Claude Code 자체의 환경이 아닌 서버의 환경에 설정되므로 프로젝트 범위 .mcp.json 항목 또는 ~/.claude.json의 로컬 범위 또는 사용자 범위 서버 항목의 command 또는 args에서 ${VAR} 확장을 통해 참조하려면 ${CLAUDE_PROJECT_DIR:-.}와 같은 기본값이 필요합니다. 플러그인 제공 MCP 구성은 ${CLAUDE_PROJECT_DIR}을 직접 대체하며 기본값이 필요하지 않습니다.