Ruby on Rails 애플리케이션에 AI 인터페이스 추가하기: Model Context Protocol(MCP) 활용
Paweł Strzałkowski, AI interface in 5 minutes. San Francisco Ruby Conference 2025
작성자
Evil Martians
발행일
2026년 01월 13일
핵심 요약
- 1 Model Context Protocol(MCP)을 활용하여 Ruby on Rails 애플리케이션에 AI 인터페이스를 통합하는 방법을 소개합니다.
- 2 새로운 Rails 앱, 기존 레거시 앱, 기성 AVO 기반 앱에 MCP 템플릿을 적용하여 도구를 생성하고 LLM과 연동하는 과정을 시연합니다.
- 3 MCP 서버의 생산 환경 배포를 위해 OAuth(DCR 및 PKCE)를 통한 강력한 인증 및 권한 부여 구현의 중요성을 강조합니다.
도입
2025년, LLM 챗봇을 통해 여행을 예약하는 미래 시나리오를 시작으로, 현재 LLM과 웹 애플리케이션 간의 직접적인 상호작용이 어렵다는 문제점을 제기합니다. 기존의 M*N 통합 문제와 AI 네이티브 방식의 필요성을 언급하며, 이러한 간극을 메울 수 있는 Model Context Protocol(MCP)의 도입 배경을 설명합니다. 발표자는 Ruby 소프트웨어 하우스 Visuality의 CTO인 Pavo Strokovski로, 20년 이상의 개발 경력을 바탕으로 창의적인 기술 접근을 추구하며, LLM과 웹 앱의 라이브 상호작용을 가능하게 하는 MCP의 중요성을 강조합니다.
MCP 아키텍처 및 기본 요소MCP 시스템은 주로 세 가지 구성 요소로 이루어집니다:<ul><li>MCP Host: ChatGPT와 같은 사용자 대면 챗 애플리케이션 또는 개발자 도구(예: Corsor)입니다. LLM과 사용자 간의 인터페이스 역할을 합니다.</li><li>LLM: 대규모 언어 모델입니다. MCP Host로부터 전달받은 컨텍스트를 기반으로 사용자의 요청을 처리하고 적절한 도구 호출을 결정합니다.</li><li>MCP Servers: 웹 애플리케이션으로, HTTP 연결(또는 로컬 환경에서는 표준 입출력)을 통해 MCP Host에 컨텍스트를 제공합니다.</li></ul>MCP에서 컨텍스트는 다음 세 가지 기본 요소(Primitives)로 구성됩니다:<ul><li>Tools: MCP 서버가 수행할 수 있는 기능(예: 날씨 예측, 게시물 발행)의 정의입니다. LLM은 이 정의를 바탕으로 어떤 도구를 사용할지 결정합니다.</li><li>Resources: LLM에 유용한 데이터 파일, 레코드, 로그, 이미지 등 모든 종류의 데이터입니다.</li><li>Prompts: LLM 애플리케이션 사용을 위한 표준화된 지침 또는 레시피입니다.</li></ul>### MCP 작동 방식 예시여행사 및 날씨 예측 MCP 서버를 활용한 시나리오를 통해 MCP의 상호작용 과정을 설명합니다.<ul><li>사용자가 LLM 챗 앱을 열면, MCP Host는 MCP 서버들(여행사, 날씨 예측)로부터 도구 및 리소스 정의를 가져옵니다.</li><li>사용자가 “낭만적인 유럽 주말 여행을 예약해 줘, 날씨는 좋아야 해”와 같은 프롬프트를 입력합니다.</li><li>LLM은 프롬프트와 도구 정의를 받아 “list romantic trips” 도구를 호출하도록 응답합니다.</li><li>MCP Host는 해당 도구의 실행을 요청하고, 서버는 가능한 여행 목록을 반환합니다. 이 목록은 새로운 컨텍스트로 추가됩니다.</li><li>LLM은 업데이트된 컨텍스트를 바탕으로 각 도시의 날씨 예측을 위해 “get weather forecast” 도구를 여러 번 호출하도록 요청합니다.</li><li>MCP Host는 날씨 예측 서버에 도구를 실행하고, 그 결과를 받아 다시 LLM에 전달합니다.</li><li>최종적으로 LLM은 여행 예약 도구를 호출하여 실제 예약을 완료하도록 지시합니다. 이 과정을 통해 LLM은 복잡한 조건부 로직을 스스로 처리하며 여러 애플리케이션과 상호작용합니다.</li></ul>### Ruby on Rails 애플리케이션에 AI 인터페이스 추가발표자는 Ruby on Rails 애플리케이션에 MCP를 쉽게 통합하기 위한 Rails 템플릿을 제공합니다. 이 템플릿은 다음 기능을 추가합니다:<ul><li>공식 Ruby SDK for Model Context Protocol Gem 설치</li><li>
결론
결론적으로, Model Context Protocol(MCP)을 활용하면 어떠한 Ruby on Rails 애플리케이션이든 AI 인터페이스를 손쉽게 통합할 수 있습니다. 발표자가 제공하는 Rails 템플릿을 통해 새로운 앱이든 레거시 앱이든 관계없이 MCP 서버를 구축하고, LLM과의 상호작용을 위한 도구를 자동 또는 수동으로 생성할 수 있습니다. 특히, 생산 환경에서 안전하고 신뢰할 수 있는 AI 인터페이스를 제공하기 위해서는 OAuth(DCR, PKCE 포함)를 통한 강력한 인증 및 권한 부여 메커니즘을 반드시 구현해야 합니다. 이는 AI가 실제 사용자 권한 내에서 애플리케이션 기능을 활용하도록 보장합니다.