인공지능(AI) 활용도가 높아진 요즘, LLM과 대화하다 보면 ‘AI가 직접 실행까지 해주면 좋겠다’라는 생각을 많이 합니다. 이제는 불가능한 이야기가 아닙니다. MCP(Model Context Protocol)를 활용하면, 다양한 엔지니어링 업무를 자동화할 수 있습니다.

이 글은 MCP 구조와 설치 방법을 소개하고 이를 활용한 최신 정보 검색, README 파일 생성, Git 제어, Slack 채널 분석·메시지 전송 방법을 간단한 예제로 살펴보려 합니다. 저는 Claude의 MCP를 활용했습니다. Claude의 MCP는 Claude Pro 계정이 있어야 사용할 수 있습니다.

MCP 개념

MCP 개념도 | 인포그랩 GitLab
MCP 개념도

2024년 11월 Claude 운영사인 Anthropic은 MCP(Model Context Protocol)를 오픈 소스로 공개했습니다. ‘프로토콜 하나 공개한 게 무슨 의미인가?’ 싶을 수도 있어 뜻을 풀어보겠습니다.

MCP는 콘텐츠 리포지터리, 비즈니스 도구, 개발 환경 등 데이터가 있는 시스템에 AI 어시스턴트를 연결하는 새로운 표준입니다. Anthropic은 “MCP 목표는 프론티어 모델이 관련성이 더 있고, 더 나은 응답을 생성하도록 돕는 것”이라고 설명합니다.

즉, MCP는 ‘Model(AI model)이 ‘제공되는 Context(외부 데이터 소스, 도구)를 이용하는’ Protocol(표준 규약)을 제공한다’라는 의미가 있습니다. AI는 MCP로 외부나 로컬 시스템에서 데이터를 사용해 AI 시스템의 기능과 적용 범위를 크게 확장할 수 있습니다.

구조

AI는 MCP를 이용해 아래 구조로 작동합니다.

MCP 작동 구조 | 인포그랩 GitLab
MCP 작동 구조

  1. MCP Hosts: MCP로 다양한 리소스와 상호작용을 하는 대상입니다. AI 도구나 IDE 프로그램이 해당합니다. 이 글에서는 Claude DesktopApp이 되겠습니다.
  2. MCP Clients: 특정 Server와 1:1 연결을 직접 설정하는 호스트의 구성 요소입니다.
  3. MCP Servers: MCP 프레임워크로 특정 기능을 제공하도록 설계된 프로그램 단위입니다.
  4. Local Resources: MCP Server가 접근할 수 있는 Local Machine의 파일, 데이터베이스, 서비스입니다.
  5. Remote Resources: 인터넷에서 MCP Server가 API로 연결되는 자원입니다.

설치 방법

  1. Claude 데스크톱 앱 설치

    Claude 웹사이트의 다운로드 페이지에서 운영 체제에 맞는 데스크톱 애플리케이션을 다운로드 받습니다.

    Claude 웹사이트 다운로드 페이지. 출처=Claude | 인포그랩 GitLab
    Claude 웹사이트 다운로드 페이지. 출처=Claude

  2. config 파일 구성

    macOS에서는 /Users/joshua/Library/Application Support/Claude/claude_desktop_config.json 해당 경로에 Claude 구성 파일이 생성됩니다. 앞으로 MCP Server를 추가할 때, JSON 파일을 아래와 같이 업데이트하면 됩니다.

    {
    "mcpServers": {
    {
    }

MCP Server 기반 업무 자동화 방법

앞서 MCP Server가 ‘MCP 프레임워크로 특정 기능을 제공하도록 설계된 프로그램 단위’라고 설명했는데요. 이 MCP Server로 Claude에서 최신 정보 검색, README 파일 생성, Git 제어, Slack 채널 분석·메시지 전송을 자동화하는 방법을 소개하겠습니다.

최신 정보 검색

AI 모델은 데이터 학습 시점이 제한돼 최신 정보를 모르는 단점이 있습니다. 그러나 BraveSearch MCP를 활용하면, 최근 데이터를 학습하지 않은 AI 모델도 웹 검색으로 최신 정보를 찾을 수 있습니다.

  1. 계정 생성

    Brave Search API 계정을 생성합니다.

    Brave Search API 페이지. 출처=Brave | 인포그랩 GitLab
    Brave Search API 페이지. 출처=Brave

  2. 요금제 선택

    Free Tier를 선택합니다. 한 달에 질문을 2000개 할 수 있습니다. 1초에 질문을 1개 하도록 속도가 제한됩니다.

    Brave Search API의 Free Tier 설명. 출처=Brave | 인포그랩 GitLab
    Brave Search API의 Free Tier 설명. 출처=Brave

  3. API Key와 함께 설정 추가

    API key를 복사해 claude_desktop_config.json에 설정을 업데이트합니다.

    API Key 화면 | 인포그랩 GitLab
    API Key 화면

    {
    "mcpServers": {
    "brave-search": {
    "command": "npx",
    "args": [
    "-y",
    "@modelcontextprotocol/server-brave-search"
    ],
    "env": {
    "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
    }
    }
    }
    }
    config 설정 예제

    Claude DesktopApp을 종료하고 재시작하면, 업데이트한 설정이 반영됩니다. 이때 Claude 대화칸 오른쪽 하단 망치 모양 이모티콘 옆의 숫자(52)가 추가된 기능만큼 늘어납니다.

    업데이트한 설정이 Claude에 반영된 화면 | 인포그랩 GitLab
    업데이트한 설정이 Claude에 반영된 화면

  4. AI에 질문

    이제 Claude AI에 2024년 12월 릴리즈된 최신 버전인 Kubernetes v1.32: Penelope를 질문하겠습니다. ‘BraveSearch를 사용해 새 기능을 검색하라’고 요청합니다. AI가 아래와 같이 Kubernetes v1.32: Penelope의 주요 내용을 응답했습니다.

    Claude에서 AI가 BraveSearch로 Kubernetes v1.32: Penelope 새 기능을 검색, 응답한 결과 | 인포그랩 GitLab
    Claude에서 AI가 BraveSearch로 Kubernetes v1.32: Penelope 새 기능을 검색, 응답한 결과

    AI 응답 결과를 보면, ‘DisableNodeKubeProxyVersion 기능 게이트가 기본적으로 비활성되도록 변경했다’는 내용이 있습니다. 이는 Kubernetes 공식 GitHub 페이지의 CHANGELOG-1.32.md에도 있는 정보인데요. Claude에서 AI가 BraveSearch를 사용해 정확한 정보를 검색, 응답한 걸 확인할 수 있습니다.

    Kubernetes 공식 GitHub 페이지의 CHANGELOG-1.32.md에서 확인한 관련 내용 | 인포그랩 GitLab
    Kubernetes 공식 GitHub 페이지의 CHANGELOG-1.32.md에서 확인한 관련 내용

README 파일 생성

MCP FileSystem은 로컬 컴퓨터의 파일을 직접 조작할 수 있습니다. 파일 읽기, 쓰기, 이동, 생성이 가능하죠. MCP FileSystem을 활용해 프로젝트 파일을 분석하고, README 파일을 생성하겠습니다.

  1. 조작하려는 파일 경로와 함께 설정 추가

    아래 예제를 활용해 설정을 추가합니다.

    {
    "mcpServers": {
    "filesystem": {
    "command": "npx",
    "args": [
    "-y",
    "@modelcontextprotocol/server-filesystem",
    "/Users/username/Desktop",
    "/path/to/other/allowed/dir"
    ]
    }
    }
    }
  2. README 파일 생성

    AI에 siren-order-app 프로젝트의 내용을 읽히고, README 파일을 만들도록 주문합니다. AI가 프로젝트 파일 구조와 소스 코드, 의존성 등을 확인한 다음, README 파일을 생성합니다.

    Claude에서 AI가 프로젝트 파일을 분석하고, README 파일을 생성하는 화면 | 인포그랩 GitLab
    Claude에서 AI가 프로젝트 파일을 분석하고, README 파일을 생성하는 화면

  3. 생성 완료

    AI가 프로젝트의 소스 코드에 기반해 아래와 같이 Markdown 형식으로 README 파일 생성을 완료했습니다(이 글에서는 내용 일부만 발췌했습니다).

    # Siren Order App

    온라인 주문 시스템을 위한 Spring Boot 기반 웹 애플리케이션입니다.

    ## 기술 스택

    - Java 17
    - Spring Boot 3.2.4
    - MySQL
    - MyBatis
    - Thymeleaf
    - Liquibase
    - Undertow (WAS)
    - HikariCP (Connection Pool)
    - Lombok
    - Maven

    ## 주요 기능

    - 온라인 주문 시스템
    - GitLab CI/CD 예제 프로젝트

    ## 시스템 요구사항

    - JDK 17 이상
    - Maven 3.x
    - MySQL 8.x

    ## 프로젝트 설정 및 실행

Git 제어

MCP Git Server는 프로젝트의 Git을 제어할 수 있습니다. git add, git commit, git diff, git branch, git log 명령어를 실행할 수 있는데요. 앞서 생성한 README 파일을 MCP Git Server로 commit 하겠습니다.

  1. 리포지터리 경로와 함께 설정 추가

    uvx 명령어를 활용해 임시 격리된 환경에 MCP Git Server를 설치하고 실행합니다.

    "mcpServers": {
    "git": {
    "command": "uvx",
    "args": ["mcp-server-git", "--repository", "path/to/git/repo"]
    }
    }
  2. git commit

    AI에 ‘README 파일을 commit하고, 원격 리포지터리에 반영하라’고 요청합니다. AI가 아래와 같이 README 파일 수정을 확인하고, 변경 사항을 commit 했습니다.

    그러나 AI가 변경 사항을 원격 리포지터리에 반영하지는 못했습니다. 이 작업을 수행하려면 git push 명령어를 실행해야 하는데요. MCP Git Server는 아직 git push 명령어를 지원하지 않습니다. 따라서 수동으로 git push 명령어를 실행해야 합니다.

    Claude에서 AI가 README 파일 수정을 확인하고, 변경 사항을 commit 하는 화면 | 인포그랩 GitLab
    Claude에서 AI가 README 파일 수정을 확인하고, 변경 사항을 commit 하는 화면

Slack 채널 분석, 메시지 전송

Slack MCP Server를 활용하면, Slackbot으로 Slack 채널을 조회, 관리하고 메시지를 보낼 수 있습니다. Slack MCP Server를 기반으로 Slackbot에 읽기, 쓰기 등 다양한 권한을 추가하겠습니다.

  1. Slack api 접속

  2. Create New App 클릭 > From scratch 클릭

  3. 설정 페이지의 왼쪽 메뉴에서 OAuth & Permission 클릭

  4. Bot Token Scopes에 아래 권한 추가
    channels:historychannels:readchat:write.publicreactions:write, users:read

  5. 위로 스크롤해 Install to Workspace 클릭, 애플리케이션 승인

  6. xoxb-로 시작하는 Bot User OAuth Token 저장

  7. 가이드에 따라 아래와 같이 T로 시작하는 Slack Team ID 저장

    {
    "mcpServers": {
    "slack": {
    "command": "npx",
    "args": [
    "-y",
    "@modelcontextprotocol/server-slack"
    ],
    "env": {
    "SLACK_BOT_TOKEN": "xoxb-your-bot-token",
    "SLACK_TEAM_ID": "T01234567"
    }
    }
    }
    }
  8. Slack 채널 분석, 메시지 전송

    설정을 완료하면 AI가 Slack 채널을 분석하고, Slack에 대화 링크도 만들어 정리할 수 있습니다.

    AI로 Slack 전체 채널 수 파악(왼쪽), 대화 링크 생성·정리 화면(오른쪽) | 인포그랩 GitLab
    AI로 Slack 전체 채널 수 파악(왼쪽), 대화 링크 생성·정리 화면(오른쪽)

위 MCP Server 외에도 다양한 Server가 개발되고 있습니다.

  • AWS KB Retrieval: AWS Knowledge Base에서 정보 검색
  • GitLab: 저장소 관리, 파일 작업, GitHub API 통합
  • Google Drive: Google Drive 파일 접근, 검색
  • PostgreSQL: 스키마 검사가 가능한 읽기 전용 데이터베이스 접근

맺음말

Anthropic이 AI 에이전트의 표준 프로토콜을 만들기 시작했습니다. 아직 베타 버전이라서 사용이 원활하지 않고, 불안정하기도 합니다. 그러나 awesome-mcp-servers GitHub 페이지를 보시면 GitLab, Google Maps, SQLite 등 다양한 MCP Server가 활발히 개발 중이라 쓸모는 훨씬 더 다양해질 걸로 예상됩니다. 더 많은 개발자가 MCP 생태계에 참여해 효율적인 자동화 도구가 계속 등장하기를 기대해 봅니다.

참고 자료

  1. “Introducing the Model Context Protocol”, Anthropic, 2024.11.26, https://www.anthropic.com/news/model-context-protocol
  2. “MCP Introduction”, MCP, https://www.claudemcp.com/docs
  3. “Model Context Protocol” GitHub, https://github.com/modelcontextprotocol
  4. “punkpeye / awesome-mcp-servers”, GitHub, https://github.com/punkpeye/awesome-mcp-servers?tab=readme-ov-file
  5. Pedro Aquino, “How to Use MCP Tools on Claude Desktop App and Automate Your Daily Tasks”, Medium, 2024.12.8, https://medium.com/@pedro.aquino.se/how-to-use-mcp-tools-on-claude-desktop-app-and-automate-your-daily-tasks-1c38e22bc4b0
  6. Pedro Aquino, “Top 5 MCP Servers to Automate Daily Tasks and Workflows with Prompts”, Medium, 2024.12.13, https://medium.com/@pedro.aquino.se/top-5-mcp-servers-to-automate-daily-tasks-and-workflows-with-prompts-039fe50570fd

우리 회사에 딱 맞는 DevSecOps 관행과 프레임워크를 찾고 계시나요? DevOps 전문가, 인포그랩과 상담하세요!