AI 에이전트와 Rails 프로젝트 연동: rails-mcp-server Gem 활용 가이드

How to Rev Up Your Rails Development with MCP

작성자
HackerNews
발행일
2025년 11월 27일

핵심 요약

  • 1 rails-mcp-server 젬은 AI 에이전트가 Rails 코드베이스의 심층적인 컨텍스트를 이해하도록 돕는 Model Context Protocol (MCP)의 Ruby 구현체입니다.
  • 2 이 젬은 전역으로 설치되며, Claude Code 및 Copilot과 같은 AI 도구와 연동하여 Rails 애플리케이션 아키텍처에 대한 풍부한 컨텍스트를 제공하고 AI 기반 개발의 비효율성을 줄입니다.
  • 3 AI 에이전트는 `project_info`, `get_routes`, `analyze_models` 등의 MCP 도구를 자연어로 활용하여 코드 분석, 리팩토링 제안 등 개발 워크플로우를 가속화합니다.

도입

레거시 Rails 애플리케이션에서 새로운 기능을 구현하거나 기술 부채를 해결하는 과정은 코드베이스에 대한 깊은 이해를 요구합니다. AI 에이전트가 이러한 복잡한 환경에서 효과적으로 작동하기 위해서는 풍부한 컨텍스트가 필수적입니다. `rails-mcp-server` 젬은 AI 에이전트와 Rails 프로젝트 사이의 컨텍스트 격차를 해소하기 위해 개발된 Ruby 구현체로, Model Context Protocol (MCP)을 통해 보다 관련성 높은 코드 분석 및 컨텍스트 인지 리팩토링 제안을 가능하게 합니다. 이 도구는 브라운필드 애플리케이션의 기술 부채 관리부터 그린필드 기능 개발에 이르기까지 개발자가 더욱 빠르고 자신감 있게 작업할 수 있도록 지원합니다.

Model Context Protocol (MCP)은 LLM(거대 언어 모델)이 개발 환경 및 외부 도구와 상호 작용할 수 있도록 설계된 프로토콜입니다. rails-mcp-server 젬은 이 MCP의 Ruby 구현으로, LLM이 Rails 프로젝트와 직접 상호 작용하도록 지원합니다. 이 젬을 Claude Code 또는 Copilot과 같은 AI 에이전트와 함께 설정하면, 모델은 애플리케이션의 아키텍처에 대한 훨씬 더 많은 컨텍스트를 확보하게 되어 AI 기반 개발과 관련된 불필요한 추측과 비효율성을 크게 줄일 수 있습니다.

설치

rails-mcp-server 젬은 다른 Ruby 젬과 마찬가지로 간단하게 설치됩니다. 터미널을 열고 다음 명령어를 실행합니다.

bash gem install rails-mcp-server

주의: 이 젬은 프로젝트 디렉토리에 설치하거나 Rails Gemfile에 추가하지 않아야 합니다. 여러 프로젝트에서 전역적으로 설치 및 구성하여 사용하도록 설계되었습니다.

설정

서버를 처음 실행하면 젬이 Rails 프로젝트에 접근할 수 있도록 구성할 수 있습니다. 구성 파일의 위치는 운영 체제에 따라 다릅니다.

  • macOS: $XDG_CONFIG_HOME/rails-mcp 또는 $XDG_CONFIG_HOME이 설정되지 않은 경우 ~/.config/rails-mcp

  • Windows: %APPDATA%\rails-mcp

서버가 처음 실행될 때 이 디렉토리들이 생성됩니다.

Rails MCP 서버 실행

서버는 두 가지 모드로 실행될 수 있으나, 본 문서에서는 HTTP 모드에 중점을 둡니다. HTTP 모드는 웹 애플리케이션에 적합한 JSON-RPC 및 Server-Sent Events (SSE) 엔드포인트를 제공하는 HTTP 서버로 작동합니다.

  • 기본 포트(6029)로 시작: bash rails-mcp-server --mode http

  • 사용자 지정 포트로 시작: bash rails-mcp-server --mode http -p 8080

HTTP 모드에서 서버는 다음 엔드포인트로 접근할 수 있습니다:

  • JSON-RPC 엔드포인트: http://localhost:<port>/mcp/messages

  • SSE 엔드포인트: http://localhost:<port>/mcp/sse

서버 실행 시 구성 디렉토리에 projects.yml 파일이 생성됩니다. Rails 프로젝트를 포함하려면 프로젝트 이름과 디렉토리 경로를 제공하면 됩니다.

yaml # ~/.config/rails-mcp/projects.yml test_app: "~/projects/test_app"

AI 도구 연동

  • Claude Code 연동: claude/config.json에 다음을 추가합니다. json { "mcpServers": { "railsMcpServer": { "command": "ruby", "args": ["/full/path/to/rails-mcp-server/exe/rails-mcp-server"] } } } rails-mcp-server 실행 파일의 전체 경로는 which rails-mcp-server 명령어로 찾을 수 있습니다. 설정 적용을 위해 Claude Code 세션을 다시 시작해야 합니다.

  • Copilot 연동: .vscode/mcp.json에 다음을 추가합니다. json { "servers": { "railsMcpServer": { "command": "ruby", "args": ["/full/path/to/rails-mcp-server/exe/rails-mcp-server"] } } } 마찬가지로 which rails-mcp-server 명령어를 사용하여 실행 파일 경로를 확인합니다.

Rails MCP 서버 활용

일단 설정되면, AI 어시스턴트는 제공된 도구를 사용하여 Rails 프로젝트와 상호 작용할 수 있습니다. LLM 채팅에서 도구 이름을 직접 언급할 필요 없이 자연어로 참조할 수 있습니다. 예를 들어, “load the Turbo guides and then show me how to refactor my blog feed with turbo streams”와 같이 요청할 수 있습니다.

MCP 도구를 사용하기 전에, projects.yml에 포함된 프로젝트 이름으로 MCP에 프로젝트 전환을 지시해야 합니다.

다음은 LLM 채팅에서 사용할 수 있는 몇 가지 도구와 프롬프트 예시입니다.

  • project_info: => break down each of the 3rd party integrations used in the project

  • get_routes: => which routes are being used for the messaging endpoints?

  • analyze_models: => how is the user model associated with the blogpost model?

더 많은 컨텍스트 제공

MCP 서버가 AI 어시스턴트에게 코드 구조에 대한 접근 권한을 제공하지만, 작업 중인 내용에 대한 더 많은 컨텍스트를 제공하면 더 나은 제안을 생성하는 데 도움이 됩니다. 다음 사항을 언급하는 것이 좋습니다.

  • 작업하려는 특정 파일

  • 구현하려는 기능 또는 해결하려는 버그에 대한 명확한 설명

  • 아키텍처 또는 물류 관련 제약 사항

결론

`rails-mcp-server` 젬은 AI와 Rails 개발 워크플로우 사이의 컨텍스트 격차를 효과적으로 메워줍니다. 이 도구를 통해 AI 에이전트는 Rails 애플리케이션의 내부 구조를 훨씬 더 깊이 이해하고, 이는 개발자가 더욱 정확하고 신뢰할 수 있는 코드 분석 및 리팩토링 제안을 받을 수 있도록 합니다. 단일 애플리케이션을 개발하든 여러 Rails 프로젝트를 전환하며 작업하든, MCP 서버는 AI와 개발자 모두가 코드베이스를 더 잘 이해하도록 돕는 강력한 수단이 됩니다. 이를 통해 개발 생산성을 향상시키고, 복잡한 Rails 프로젝트를 더욱 효율적으로 관리할 수 있습니다.

댓글 0

로그인이 필요합니다

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

로그인 하러 가기

아직 댓글이 없습니다

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