Model Context Protocol(MCP)이란?
Model Context Protocol(MCP)은 Anthropic이 도입한 개방형 표준으로, 애플리케이션이 데이터, 액션 및 도구를 GitHub Copilot 또는 Claude와 같은 AI 어시스턴트에 안전하게 노출할 수 있도록 합니다. 이는 앱과 AI 모델 간의 다리 역할을 하여, AI가 애플리케이션의 기능을 ‘이해’하고 데이터를 읽거나 레코드를 생성하거나 작업을 실행하는 등 직접 상호작용할 수 있게 합니다. MCP는 AI가 응답을 ‘환각’하는 대신, 실제 정보에 접근하고 안전하게 작업을 수행할 수 있는 구조화되고 통제된 방법을 제공합니다.
MCP로 Rails 앱 설정하기
-
MCP Gem 설치:
mcp-on-rails템플릿을 복제합니다.bash git clone https://github.com/pstrzalk/mcp-on-rails.git -
MCP 서버가 포함된 Rails 애플리케이션 생성: MCP 템플릿을 사용하여 새 Rails 앱을 생성합니다. 이 과정에서 MCP 도구가 사전 구성된 Rails CRUD 애플리케이션이 스캐폴딩됩니다.
bash rails new translate_app -m mcp-on-rails/mcp -
번역 스캐폴드 추가: 번역 기능을 위한 스캐폴드를 생성합니다. 이는 Rails 모델, 컨트롤러, 뷰를 생성하고 MCP 도구 설정에 자동으로 연결됩니다.
bash rails g scaffold translation input_text:text output_text:text from_lang:string to_lang:string
MCP 도구 검사하기
스캐폴드 명령은 필요한 Rails 파일과 함께 MCP 도구 정의를 생성합니다. MCP Inspector를 설치하고 실행하여 노출된 도구를 확인할 수 있습니다.
bash
npx @modelcontextprotocol/inspector
Inspector를 통해 다음을 수행할 수 있습니다:
-
사용 가능한 MCP 도구 목록(예:
CreateTranslation,ListTranslations) 확인 -
각 도구가 허용하는 스키마 및 매개변수 탐색
-
Rails 콘솔을 사용하지 않고 인터페이스에서 직접 CRUD 작업 테스트
-
Rails 앱이 모든 AI 클라이언트에 도구를 올바르게 노출하는지 확인
MCP Inspector를 Rails 서버에 연결하기
-
MCP Inspector 설정 열기.
-
‘Transport Type’에서 ‘Streamable HTTP’ 선택.
-
URL 필드에 로컬 Rails MCP 엔드포인트
http://localhost:3000/mcp붙여넣기. -
설정을 저장하고 ‘Tools’ 탭으로 돌아가면 Rails 애플리케이션이 노출하는 MCP 도구를 확인할 수 있습니다.
VS Code Copilot Chat과 연결하기
MCP 서버가 실행 중이므로, GitHub Copilot Chat과 통합하여 Rails 앱에 AI 기능을 추가할 수 있습니다. VS Code에 Copilot이 설정되어 있다면, VS Code Extensions Marketplace에서 ‘Copilot MCP Server’를 설치합니다.
-
Ctrl + Shift + P를 눌러 검색창을 열고 ‘MCP’를 검색합니다. -
‘MCP: Add Server’ 옵션을 선택하고, 목록에서 ‘HTTP Option’을 클릭한 후 Rails MCP 경로를 입력합니다.
이제 Rails MCP 서버가 Copilot Chat에 연결되었습니다. Copilot Chat을 열고 AI 기반 프롬프트를 통해 Rails 애플리케이션에서 직접 CRUD 작업을 수행할 수 있습니다. 예를 들어, 번역을 생성하고 원하는 언어로 즉시 결과를 얻을 수 있습니다.