데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      멀티모달 기반 AI 챗봇 기술 연구&개발 (6회차, Dify & Morphik MCP 연동테스트 방법)

      sysmoon 25.10.29
      154 3 0
      DEVOTEE 요약
      DEVOCEAN OpenLab 2025 프로젝트의 일부로 진행된 '멀티모달 기반 AI 챗봇 기술 연구'에서 Dify와 Morphik MCP 연동 테스트 결과를 공유합니다. MCP는 AI와 외부 도구를 연결하는 표준 프로토콜로, 이번 테스트에서 Streamable HTTP 방식을 활용해 안정적인 연동에 성공했으나, 답변 품질 저하, 토큰 초과, 복잡한 작업 수행 실패 등 성능 제약이 발견되었습니다. 이를 개선하기 위해 Dify 커스텀 도구 구현 및 플러그인 성능 최적화를 포함한 단기·중기·장기 계획을 수립하고 있습니다.
      DEVOTEE 추천 블로그

      소개

      DEVOCEAN OpenLab 2025 프로젝트의 일환으로 진행된 '멀티모달 기반 AI 챗봇 기술 연구 및 개발' 중 Dify와 Morphik MCP(Model Context Protocol) 연동 테스트 결과를 자세히 공유합니다 [i].

      이 글은 MCP가 무엇인지부터 실제 연동 과정에서 발생한 기술적 문제, 그리고 성능 분석을 통해 얻은 향후 개선 방향을 소개합니다.

      세미나 발표자료 파일 첨부하여 드립니다. (Dify & Morphik MCP 연동테스트 결과)


      1. AI와 외부 도구 연결의 핵심: MCP(Model Context Protocol)란?

      AI 모델이 단순히 질문에 답하는 것을 넘어 외부 서비스나 도구를 활용하려면 표준화된 통신 방식이 필요합니다.

      MCP(Model Context Protocol)는 AI 모델과 외부 도구/서비스를 연결하는 표준 프로토콜입니다 [i].

      MCP의 주요 개요 및 장점은 다음과 같습니다:

      • 개요: 다양한 데이터 소스와 AI 에이전트의 통합을 용이하게 합니다 [i].

      • 장점: 도구 연동을 일관된 방식으로 처리하며 [i], 새로운 도구 추가가 용이하고 [i], 다양한 AI 플랫폼과 호환 가능합니다 [i].


      2. Dify에서 MCP Tool을 활용하는 두 가지 방법

      image.png

      Dify 플랫폼에서 MCP 도구를 활용하는 방법은 크게 두 가지가 있습니다.

      방법

      커스텀 도구 생성 (OpenAPI 방식)

      플러그인 활용 (Marketplace 방식)

      장점

      특정 기능을 세밀하게 제어 가능

      간편한 설정으로 다양한 MCP 서버 연동


      OpenAPI 방식으로 직접 도구 등록

      여러 MCP 서비스를 동시에 관리 가능

      단점

      OpenAPI 스키마 직접 작성 필요 등 구현의 어려움

      커스터마이징의 제약 (세부 파라미터 조정 제한적)


      API 변경 시 스키마 수동 업데이트 필요

      플러그인이 제공하는 기능 및 업데이트에 의존적

      본 테스트에서는 간편한 연동 및 관리의 장점을 활용하기 위해 Dify Marketplace에서 제공하는 플러그인 방식을 채택했습니다.


      선택한 플러그인: Dify Marketplace에는 540개 이상의 플러그인이 있으며, 이 중 MCP 프로토콜을 지원하는 'Agent Strategies' 플러그인이 주목받고 있습니다.

      저희는 **Agent Strategies (Support MCP Tools)**를 선택했으며, 이 플러그인은 88,667회 이상의 많은 설치 수를 보유하고 있으며 Function Calling과 ReAct 에이전트 전략을 모두 제공합니다.


      3. MCP 전송 방식의 진화: Streamable HTTP 표준의 채택 ⭐

      image.png

      안정적이고 확장 가능한 MCP 통신을 위해 전송 방식은 빠르게 진화했습니다.

      MCP는 초기 HTTP+SSE 방식의 한계를 극복하고 2025년 3월에 Streamable HTTP를 공식 표준으로 변경했습니다.

      항목

      HTTP + SSE 방식 (2024.11 ~ 2025.03)

      Streamable HTTP 방식 (2025.03 ~ 현재)

      엔드포인트

      양방향 통신을 위해 2개 필요 (서버→클라이언트: SSE, 클라이언트→서버: HTTP POST)

      하나의 HTTP 엔드포인트로 양방향 통신 구현

      연결 지속성

      네트워크 끊김 시 스트림 재개 불가능

      messageId 기반 Resume 기능 지원, 중단 지점부터 재개 가능

      서버 부하

      장시간 연결 유지 필요, 사용자 증가 시 서버 리소스 과부하

      짧은 연결로 구성 가능, 서버 리소스 효율적

      호환성/표준

      제한적 양방향 통신

      MCP 공식 표준으로 채택 (2025-03-26부터)



      로드밸런서/프록시 호환성 우수 및 방화벽 친화적

      Streamable HTTP 방식은 Transfer-Encoding: chunked를 통해 점진적 응답을 제공하며,

      AI 응답 중 사용자 제어(중단/수정)가 가능하여 기존 방식의 한계를 극복했습니다.


      4. Morphik MCP 연동 테스트 과정

      이번 테스트의 목적은 사용자 질문이 Morphik 검색이 필요한지를 판단하고, 필요하다면 MCP 에이전트가 지식 베이스를 검색하여 답변하도록 하는 워크플로우를 구성하는 것이었습니다.

      테스트 환경 및 절차:

      1. 환경:

        • MCP 서버: http://morphik_mcp.dev.moonid.ai.kr:8976/mcp

        • Dify 플랫폼: https://dify.dev.moonid.ai.kr

        • 플러그인: Agent Strategies (Support MCP Tools)

      2. 연동 절차: Morphik MCP 서버 구성 → Dify Marketplace에서 MCP 플러그인 설치 → Dify 워크플로우에 Agent 노드 추가 → MCP 서버 설정 입력 및 연결 테스트 → 질의응답 테스트 실행.

      3. 워크플로우 설정 예시:

        • 시작 노드: 실제 예시 질문 ("Morphik 문서 데이터베이스에 몇 개의 문서가 있나요?") 추가.

        • 질문 분류 노드: "Morphik 지식베이스 검색이 필요한지 vs 일반 질문인지"를 분류하도록 기준 명시.

      연동 과정 중 발생한 문제와 해결

      문제 발생: Claude Desktop에서는 정상 작동하던 Morphik MCP 도구가 Dify 환경에서 LLM 모델 호출을 차단하는 에러를 발생시켰습니다.

      원인: ingest-file-from-path 도구의 rules 파라미터가 구체적인 타입 정보 없이 z.array(z.any()) 형태로 정의되어 있었기 때문입니다.

      Dify는 이러한 불명확한 스키마를 허용하지 않았습니다.

      해결 과정: 문제 툴(ingest-file-from-path, ingest-files-from-paths, ingest-text 등 데이터 업로드 기능)들이 타입 정보가 부족한 업로드 툴임을 확인하고,

      업로드 기능을 제외한 조회 기능에 대해서만 테스트를 진행했습니다.

      이 수정 이후 LLM 호출에 성공하며 정상 작동을 확인했습니다.


      5. 테스트 결과 및 성능 분석

      테스트 결과, Streamable HTTP 방식을 사용하여 Dify와 Morphik의 MCP 연동에는 성공했습니다.

      MCP 도구 정상 호출 및 응답이 확인되었습니다.

      🚫 성능 제약 사항 및 한계

      성공적인 연동에도 불구하고, 다음과 같은 심각한 성능 제약 사항이 발견되었습니다:

      1. 낮은 답변 품질: Morphik Dashboard 대비 답변 퀄리티가 낮았습니다.

      2. 토큰 제한 초과: 검색 시 토큰 초과로 답변 생성이 실패하는 경우가 다수 발생했습니다.

      3. 기능적 한계: "Morphik 지식 베이스에 등록된 파일의 총 개수는?"과 같은 간단한 목록 조회 수준의 질문만 답변 가능했습니다.

      4. 복잡한 작업 실패: "Morphik 지식 베이스에서 resume_1.pdf - Sally Branders의 이력서를 읽고 요약해주세요"와 같이 파일을 읽고 답하는 것은 거의 불가능했습니다.

      5. 구조적 제약: MCP 플러그인 방식의 구조적 한계로 인해 세부 파라미터(예: top_k, min_score) 제어가 제한적이었습니다.

      6. 비효율적인 검색 결과: 과도한 메타데이터 및 불필요한 정보가 검색 결과에 포함되어 처리 효율이 낮았습니다.

      항목

      Morphik Dashboard

      Dify Morphik MCP 연동

      답변 품질

      높음

      중간

      토큰 제한

      여유로움

      자주 초과

      파라미터 제어

      세밀한 조정 가능

      제한적


      6. 향후 개선 방향

      테스트 결과를 바탕으로, Dify 환경에서의 MCP 성능을 최적화하기 위한 개선 방향을 단기, 중기, 장기로 나누어 계획하고 있습니다.

      • 단기: Dify 커스텀 도구로 직접 구현하여 플러그인 방식의 한계를 극복하고 더 세밀한 제어를 확보할 계획입니다.

      • 중기: 플러그인 성능 최적화 작업을 진행할 예정입니다.

      • 장기: Agno + LangGraph + Dify + n8n 조합 등을 활용하여 생태계 확장 및 고도화를 목표로 합니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      sysmoon 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기