Ruby로 MCP Inspector 구축하기: 정신적 안개를 걷어내다

Enrique Carlos Mogollán, The MCP fog made me do it. San Francisco Ruby Conference 2025

작성자
Evil Martians
발행일
2026년 01월 13일

핵심 요약

  • 1 Model Context Protocol(MCP)의 개념을 이해하고, Ruby 기반의 MCP 서버와 클라이언트를 구축하는 과정을 소개합니다.
  • 2 Ruby MCP Inspector를 CLI 및 Rails Engine 기반 웹 인터페이스로 구현하여 MCP 프로토콜 학습 및 디버깅 도구로 활용하는 방법을 설명합니다.
  • 3 MCP UI 통합 및 AI 에이전트의 스킬 생성 도구로서 MCP Inspector의 발전 가능성과 미래 지향적 역할을 제시합니다.

도입

발표자 엔리케는 핸드셰이크의 소프트웨어 엔지니어로서, Ruby를 활용하여 Model Context Protocol(MCP) Inspector를 구축한 경험을 공유합니다. 샌프란시스코의 안개에 비유하며 MCP에 대한 이해의 "정신적 안개"를 걷어내는 과정을 설명하고, 핸드셰이크가 경력 시작 및 가속화를 위한 직업 기회를 민주화하는 임무를 수행 중임을 언급합니다. 본 발표는 MCP 프로토콜의 기본 개념부터 실제 Ruby 기반 구현 및 그 활용 가능성까지 다룹니다.

Model Context Protocol (MCP) 개요

  • MCP는 파운데이션 모델(Foundation Models)이 외부 정보에 접근할 수 있도록 하는 표준입니다.

  • 요청-응답 방식으로 작동하며, 모델이 질문을 하고 서버가 응답하는 상호작용을 통해 외부 도구, 리소스 및 프롬프트를 활용합니다.

  • 2022년 11월 25일에 출시되었으며, 빠르게 발전하고 있는 분야입니다.

Ruby 기반 MCP 서버 구축

  • fast_MCP Gem을 활용하여 샌프란시스코의 안개를 확인하고 안개 관련 정보를 제공하는 ‘SF Fog MCP 서버’를 구축했습니다.

  • 안개 확인 도구와 지식 도구(wisdom tool)를 생성하고, 이를 MCP 서버에 등록한 후 Rack 미들웨어에 마운트하여 웹을 통해 접근 가능하도록 했습니다.

Ruby MCP Inspector 개발 동기

  • MCP 프로토콜에 대한 깊은 이해를 얻기 위함입니다.

  • Ruby 생태계 내에서 새로운 Gem을 탐색하고 기여할 기회를 모색했습니다.

  • MCP의 작동 방식에 대한 초기 혼란을 해소하고자 했습니다.

Inspector 아키텍처

MCP Inspector는 세 가지 주요 계층으로 설계되었습니다.

  1. 전송 계층 (Transport Layer): Ruby 클라이언트와 서버 간의 통신을 담당합니다.
    • 표준 입출력 (Standard Input/Output): Open3 라이브러리를 사용하여 비동기 스트림 통신을 구현합니다.
    • HTTP: Faraday Gem을 활용하여 HTTP 연결을 처리합니다.
    • 스트리밍 HTTP: Rack Gem과 같은 기본적인 스트림을 사용합니다.
    • 이러한 도구들은 이미 Ruby 개발에서 널리 사용되는 일반적인 기술임을 강조합니다.
  2. 데이터 계층 (Data Layer): 전송되는 데이터의 형식을 정의합니다.
    • 간단한 JSON-RPC 형식을 사용하여 ID와 호출할 메서드를 포함합니다.
  3. 프레젠테이션 계층 (Presentation Layer): 사용자 인터페이스를 제공합니다.
    • CLI (Command Line Interface): thor Gem을 사용하여 list tools, resources, prompts와 같은 간단한 명령을 처리합니다.
    • 웹 인터페이스 (Web Interface): Rails Engine으로 구현되어 다른 Rails 애플리케이션에 쉽게 마운트할 수 있습니다.
      • 성능 향상을 위해 MCP 서버와의 연결을 유지하는 ‘연결 풀(Connection Pool)’을 도입했습니다.
      • Turbo 및 HTML을 활용하여 사용자 인터페이스를 구축했습니다.

MCP UI 통합 및 미래 방향

  • 기존 Node Inspector가 동적으로 필드를 생성하는 방식에서 영감을 얻어, Shopify 및 monday.com 팀이 개발한 MCP UI(HTML 데이터를 와이어를 통해 전송)를 Inspector에 통합했습니다.

  • 이를 통해 외부 링크 로드, HTML 폼 상호작용, 원격 DOM 객체 실행 등 동적인 UI 기능을 시연했습니다.

  • AI 에이전트와 스킬 생성: 최근 AI 에이전트의 부상과 Anthropic의 “Agents with Skills”, “Code Executions with MCPS” 블로그 게시물을 언급하며, MCP Inspector가 에이전트의 스킬 파일 생성에 기여할 수 있음을 강조했습니다.

    • MCP는 데이터 및 도구 접근을 위한 연결 계층 역할을 하며, 스킬은 도구 사용에 대한 절차적 지식을 제공합니다.
    • Cloud Code를 사용하여 MCP Inspector CLI 도구를 통해 MCP 서버의 스킬 파일을 자동으로 생성하는 데모를 선보였습니다. 이는 에이전트가 효율적으로 도구를 학습하고 활용할 수 있는 가능성을 보여줍니다.

결론

본 발표는 `fast_MCP`를 활용한 MCP 서버 구축부터 CLI 및 웹 기반 MCP Inspector 구현, MCP UI 통합, 그리고 궁극적으로 Cloud Code를 통한 스킬 생성에 이르기까지 Ruby AI 툴링의 광범위한 가능성을 탐구했습니다. MCP Inspector는 모델의 기능을 탐색하고, 실행을 테스트하며, 통합 문제를 디버깅하고, 모델을 위한 스킬을 문서화하는 데 필수적인 도구임을 입증했습니다. 발표자는 `Activation`, `Lang`, `Rubm`과 같은 새로운 도구들이 "정신적 안개"를 걷어내고 미래 프로그래밍의 길을 밝히는 데 기여하고 있음을 강조하며, Ruby 개발자들이 AI 시대에 새로운 것을 구축할 기회가 무궁무진하다고 결론지었습니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!