인터넷, IT 이야기

MCP로 시작하는 AI 자동화: 초보자를 위한 기본 가이드

아임슬로리. 2025. 5. 13. 00:09

AI 자동화는 반복적인 작업을 줄이고 생산성을 높이는 데 큰 도움이 됩니다. 하지만 AI가 외부 도구(예: 데이터베이스, 파일 시스템, GitHub)와 상호작용하려면 복잡한 설정이 필요할 때가 많죠. 여기서 **MCP(Model Context Protocol)**가 등장합니다. MCP는 AI와 도구를 연결하는 "USB-C 포트" 같은 표준화된 프로토콜로, 복잡한 통합 과정을 간소화해줍니다.


MCP란 무엇인가요?

MCP는 Anthropic에서 개발한 오픈소스 프로토콜로, AI 에이전트가 외부 도구나 데이터 소스와 실시간으로 상호작용할 수 있게 해줍니다. 예를 들어, AI가 로컬 파일을 읽거나 GitHub에 PR을 생성하거나 데이터베이스를 쿼리하는 작업을 MCP를 통해 쉽게 처리할 수 있습니다. MCP의 핵심 구성 요소는 다음과 같습니다:

  • MCP 클라이언트/호스트: AI가 실행되는 환경(예: IDE, Claude Desktop).
  • MCP 서버: 외부 도구나 데이터 소스에 접근하는 경량 서버.
  • 프로토콜: 클라이언트와 서버 간의 표준화된 통신 방식.

MCP의 장점은 표준화확장성입니다. 한 번 MCP 서버를 설정하면 다양한 AI 모델에서 재사용할 수 있어 개발 시간이 크게 줄어듭니다.


초간단 MCP 자동화 예제: 파일 읽기

이제 실제로 MCP를 사용해 AI가 로컬 파일을 읽는 자동화를 구현해보겠습니다. 이 예제는 Python을 사용하며, MCP 서버를 통해 파일 시스템에 접근합니다. 이 코드는 간단하지만 MCP의 기본 작동 방식을 이해하는 데 딱 좋습니다.

준비물

  • Python 3.10+: Python이 설치되어 있어야 합니다.
  • MCP 서버: 파일 시스템에 접근하는 MCP 서버를 사용합니다.
  • AI 클라이언트: 예제에서는 간단한 Python 스크립트를 사용하지만, Cursor나 Claude Desktop 같은 도구에서도 동작합니다.

단계별 설명

환경 설정
먼저 Python 가상 환경을 설정하고 필요한 패키지를 설치합니다. 터미널에서 다음 명령어를 실행하세요:

python -m venv venv
source venv/bin/activate  # Windows의 경우: venv\Scripts\activate
pip install modelcontextprotocol

modelcontextprotocol은 MCP 서버와 통신하기 위한 기본 패키지입니다.

 

MCP 서버 실행
파일 시스템에 접근하는 MCP 서버를 실행합니다. 아래 명령어는 로컬 디렉토리(~/Documents)에 접근 가능한 MCP 서버를 시작합니다:

npx @modelcontextprotocol/server-filesystem ~/Documents

이 명령어를 실행하면 MCP 서버가 시작되고, AI가 지정된 디렉토리의 파일을 읽거나 쓸 수 있게 됩니다.

 

AI 자동화 코드 작성
이제 AI가 파일을 읽도록 요청하는 간단한 Python 스크립트를 작성합니다. 이 스크립트는 MCP 서버와 통신해 특정 파일의 내용을 가져옵니다.

import asyncio
from mcp import MCPClient, MCPTool

async def main():
    # MCP 클라이언트 초기화
    client = MCPClient()
    
    # 파일 시스템 MCP 서버에 연결
    server = await client.connect("filesystem", command=["npx", "@modelcontextprotocol/server-filesystem", "~/Documents"])
    
    # 파일 읽기 도구 호출
    tool = MCPTool(
        name="read_file",
        description="Reads the content of a specified file",
        parameters={"path": {"type": "string", "description": "Path to the file"}}
    )
    
    # 특정 파일 읽기 요청
    result = await server.execute_tool(tool, {"path": "~/Documents/sample.txt"})
    print("파일 내용:", result)

if __name__ == "__main__":
    asyncio.run(main())


코드 설명
:

  • MCPClient: MCP 서버와 통신하는 클라이언트를 초기화합니다.
  • connect: 파일 시스템 MCP 서버에 연결합니다.
  • MCPTool: AI가 사용할 도구(여기서는 파일 읽기)를 정의합니다.
  • execute_tool: 지정된 파일(sample.txt)의 내용을 읽도록 요청합니다.

실행 및 테스트
~/Documents 폴더에 sample.txt 파일을 만들고, 간단한 텍스트(예: "Hello, MCP!")를 입력합니다. 그런 다음 위 Python 스크립트를 실행하세요:

python mcp_file_reader.py

실행하면 AI가 sample.txt 파일의 내용을 읽어 출력합니다. 예를 들어:

파일 내용: Hello, MCP!

코드 동작 원리

이 예제에서 MCP는 다음과 같은 흐름으로 작동합니다:

  1. 클라이언트 요청: Python 스크립트(MCP 클라이언트)가 파일 읽기 요청을 보냅니다.
  2. 서버 처리: MCP 파일 시스템 서버가 요청을 받아 로컬 파일을 읽습니다.
  3. 결과 반환: 읽은 파일 내용이 클라이언트로 돌아와 출력됩니다.

이 과정은 MCP의 표준화된 통신 덕분에 간단하고 확장 가능합니다. 같은 방식으로 데이터베이스 쿼리, GitHub API 호출 등 더 복잡한 작업도 처리할 수 있습니다.


실행 방법 요약:

  1. Python과 modelcontextprotocol 패키지를 설치하세요.
  2. MCP 파일 시스템 서버를 실행하세요: npx @modelcontextprotocol/server-filesystem ~/Documents
  3. 제공된 mcp_file_reader.py 코드를 실행해 파일 내용을 읽어보세요.