개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

← 글 목록

MCP — 외부 시스템과 Claude Code 연결하기

2025년 12월 27일
Claude CodeMCPModel Context Protocol도구 확장외부 연동

Claude Code가 GitHub 이슈를 직접 읽고 코드를 수정한 뒤 PR까지 열어준다면 어떨까요. MCP를 연결하면 가능합니다. 외부 서비스를 Claude의 도구로 만드는 표준 프로토콜입니다.

MCP란

Model Context Protocol의 약자입니다. Claude(클라이언트)와 외부 시스템(서버) 사이의 통신 규격을 정의합니다. MCP 서버를 연결하면 Claude가 해당 서버의 도구와 데이터에 접근할 수 있습니다.

프로토콜(Protocol): 시스템 간 통신 방식을 정의한 규격. MCP는 AI와 외부 도구가 어떻게 대화할지 표준화합니다.

구성 요소

MCP Server

외부 시스템과의 인터페이스를 구현한 서버입니다. GitHub, Jira, Notion, PostgreSQL 등 각 서비스별 MCP 서버가 있습니다.

MCP Client

Claude Code가 MCP 클라이언트 역할을 합니다. 서버에 연결해 도구를 사용합니다.

Tool

MCP 서버가 제공하는 함수입니다. Claude가 호출할 수 있는 기능 단위입니다.

mcp__github__create_issue(title, body, labels)
mcp__github__search_code(query, repo)
mcp__jira__get_ticket(ticket_id)
mcp__postgres__query(sql)

Resource

MCP 서버가 제공하는 데이터입니다. 파일, DB 레코드, API 응답 등을 컨텍스트로 가져옵니다.

Prompt

MCP 서버가 제공하는 프롬프트 템플릿입니다. 서버별 작업에 최적화된 지시를 포함합니다.

설정 방법

.claude/settings.json 또는 ~/.claude/settings.json에 MCP 서버를 등록합니다.

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_..."
      }
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://localhost/mydb"
      }
    }
  }
}

/mcp 명령으로 추가

claude> /mcp

인터랙티브하게 MCP 서버를 추가하고 관리할 수 있습니다.

주요 MCP 서버

GitHub

기능: 이슈 조회/생성, PR 조회/생성, 코드 검색, 파일 조회
도구: create_issue, search_code, list_pull_requests, create_pull_request

Jira

기능: 티켓 조회, 상태 변경, 댓글 추가
도구: search_issues, get_issue, update_issue

Notion

기능: 페이지 읽기/쓰기, 데이터베이스 조회
도구: get_page, create_page, query_database

PostgreSQL / SQLite

기능: SQL 쿼리 실행, 스키마 조회
도구: query, list_tables, describe_table

Filesystem

기능: 기본 파일 시스템 도구 확장
도구: read_file, write_file, list_directory

실제 사용 예시

GitHub 이슈 기반 작업

사용자: "ISSUE-123 처리해줘"

Claude Code:
1. mcp__github__get_issue(123)       → 이슈 내용 읽기
2. 코드 수정 및 테스트
3. mcp__github__create_pull_request() → PR 생성
4. mcp__github__add_comment(123)     → 이슈에 PR 링크 댓글

DB 스키마 기반 코드 생성

사용자: "users 테이블 기반으로 UserEntity 만들어줘"

Claude Code:
1. mcp__postgres__describe_table("users")  → 컬럼 구조 조회
2. 컬럼 정보를 기반으로 TypeORM Entity 생성

커스텀 MCP 서버 만들기

내부 시스템을 Claude와 연결하려면 MCP 서버를 직접 구현할 수 있습니다.

import { Server } from "@modelcontextprotocol/sdk/server/index.js";

const server = new Server({ name: "my-server", version: "1.0.0" });

server.tool("get_deployment_status", async (params) => {
  const status = await internalApi.getDeployment(params.env);
  return { content: [{ type: "text", text: JSON.stringify(status) }] };
});

사내 배포 시스템, 모니터링 대시보드, 사내 문서 시스템 등을 연결할 수 있습니다.

/mcp 명령

claude> /mcp

연결된 MCP 서버 목록, 각 서버가 제공하는 도구 목록, 연결 상태를 확인할 수 있습니다.

← 이전 글Skills — 복잡한 워크플로를 패키징하기
다음 글 →Plugins — Claude Code 기능 확장