피드로 돌아가기
How to give Claude (or Cursor) access to your Rails app's activity logs
Dev.toDev.to
AI/ML

MCP 기반 Deterministic Activity Log 연결로 AI Hallucination 제거

How to give Claude (or Cursor) access to your Rails app's activity logs

Razvan2026년 6월 14일6intermediate

Context

LLM이 Production DB에 직접 접근하지 못해 발생하는 데이터 기반 답변의 Hallucination 문제 발생. Raw DB를 직접 노출할 경우 외래 키(Foreign Key) 및 복잡한 Join 구조로 인해 AI가 데이터를 오해하여 부정확한 결과를 생성하는 한계 존재.

Technical Solution

  • Model Context Protocol(MCP)을 통한 AI Client와 외부 데이터 소스 간의 표준화된 JSON-RPC 통신 구조 설계
  • Raw Data 대신 Human-readable하게 가공된 Activity Log를 제공하여 AI의 추론 단계에서 발생하는 오류 원천 차단
  • LLM을 배제한 Pure Function 기반의 Deterministic Translation 로직을 적용하여 동일 입력에 대한 동일 결과 보장
  • Read-only 권한의 6가지 전용 Tool(find_actions, actor_timeline 등)을 구현하여 시스템 Write 권한 박탈 및 Blast Radius 최소화
  • Rails Gem 및 Next.js Agent를 통한 이벤트 수집 레이어와 MCP Server 간의 인터페이스 분리

- AI에게 데이터 접근 권한 부여 시 Raw DB 대신 정제된 추상화 레이어(Activity Log) 제공 검토 - 데이터 변환 과정에서 LLM 사용을 지양하고 결정론적(Deterministic) 템플릿 기반 변환 적용 - AI Tool 설계 시 Write 권한을 완전히 제거한 Read-only 전용 엔드포인트 구축 - MCP와 같은 표준 프로토콜을 활용하여 AI 모델 교체 시에도 데이터 소스 연결 유지 가능성 확보

원문 읽기