MCPS의 ‘리소스’는 애플리케이션 내의 데이터를 AI가 조회하고 분석할 수 있도록 노출하는 역할을 합니다. 예를 들어, 사용자 목록이나 특정 데이터베이스 엔트리를 AI가 질의하고 통계 정보를 추출할 수 있게 합니다. ‘도구’는 AI가 애플리케이션 내에서 실제 작업을 수행할 수 있도록 하는 기능입니다. 사용자 생성, 데이터 삭제, 특정 로직 실행 등 다양한 작업을 AI의 명령에 따라 자동화할 수 있습니다.
Ruby on Rails 애플리케이션에 MCPS를 통합하기 위해서는 ‘fast-mcp’ 젬을 활용합니다. 이 젬을 설치하고 bin/rails generate fast_mcp install
명령을 실행하면 필요한 설정 파일(config/initializers/mcp.rb
)과 구조(app/mcp/resources
, app/mcp/tools
)가 자동으로 생성됩니다. 개발자는 이 구조 내에서 애플리케이션의 모델을 기반으로 리소스를 정의하고, AI가 수행할 수 있는 구체적인 도구(함수)를 구현할 수 있습니다. 각 도구는 필요한 매개변수와 실행 로직을 명시하며, AI는 이 정의를 바탕으로 사용자 요청을 처리합니다.
MCPS는 클라우드 코드 환경과 같은 외부 서비스와 연동하여 더욱 강력한 기능을 발휘할 수 있습니다. 예를 들어, 사용자가 책을 읽는 기록을 애플리케이션에 남길 때, 단순히 페이지 번호를 입력하는 것만으로도 AI가 책과 저자에 대한 추가 정보를 자동으로 검색하고 저장하도록 지시할 수 있습니다. 이는 사용자에게 편리함을 제공하고 애플리케이션의 사용성을 크게 향상시킵니다.
그러나 MCPS의 강력함 뒤에는 잠재적인 위험이 따릅니다. 특히 AI가 데이터를 조작하거나 생성하는 ‘변이 도구(mutating tools)’를 사용할 경우, AI가 부정확하거나 의도치 않은 데이터를 생성할 수 있습니다. 예를 들어, 사용자 생성 도구가 이름, 이메일, 나이 정보 없이도 임의의 사용자 데이터를 생성하여 데이터베이스에 저장하는 상황이 발생할 수 있습니다. 또한, 리소스를 통해 노출되는 데이터의 범위(예: 사용자 ID, 생성/업데이트 시각 등)를 적절히 제어하지 않으면 민감한 정보가 유출될 위험이 있습니다. 따라서 fast-mcp
가 제공하는 인증(Authentication Bearer Header Token) 기능과 같은 보안 메커니즘을 철저히 활용하고, 애플리케이션 내부에 적절한 유효성 검사 및 접근 제어 장치를 마련하는 것이 중요합니다.