탕구리's 블로그

업무에 MCP Server를 한 스푼 퐁당 본문

Server

업무에 MCP Server를 한 스푼 퐁당

탕구리당 2025. 7. 19. 17:20
반응형

우선 내가 이해를 제대로 하고 있는 상황인지 나도 잘 모르겠음 :(

우선 간략한 MCP에 대한 개념과 내가 하고자 하는 취미 생활에 대해 소개해 볼 예정

해당 문서는 기록 차원에서 쓰고 있는 포스팅이므로 크게 참고할 내용이 없을지도 모름

MCP란?

  • 대규모 언어 모델(LLM)이 외부 데이터와 시스템을 더 효과적으로 활용할 수 있도록 설계된 일종의 연결 프로토콜
  • MCP는 클라이언트-서버 아키텍쳐를 기반으로 하며, AI 모델과 외부 데이터 소스간의 통신을 가능하게 하는 구조로 설계
    • 구성 : Host, MCP Client, MCP Server

Host

  • 여러 클라이언트 인스턴스를 관리합니다.
  • 클라이언트 연결권한과 생명주기를 제어합니다.
  • AI/LLM 통합 및 샘플링을 조정합니다.
  • 클라이언트 간 컨텍스트 집계를 관리합니다. 

MCP client

  • 호스트에 의해 생성되며 서버와의 독립적인 연결을 유지합니다.
  • 서버당 하나의 상태유지 세션을 설정합니다.
  • 프로토콜 협상 및 기능 교환을 처리합니다.
  • 양방향으로 프로토콜메시지를 라우팅합니다.
  • 서버 간 보안 경계를 유지합니다,  

MCP Server 

  • 특화된컨텍스트 기능을 제공합니다.
  • MCP  기본 요소를 통해 리소스,도구 및 프롬프트를 노출합니다.
  • 독립적으로 작동하며 집중된 책임을 가집니다.
  • 클라이언트 인터페이스를 통해 샘플링을 요청합니다.
  • 로컬프로세스 또는 원격 서비스일수 있습니다.   

 

MCP-Server구성 요소

  • 도구: 이는 LLM이 서버에 실행을 요청할 수 있는 기본적인 기능입니다. 전통적인 API의 POST 엔드포인트와 비슷하게 생각할 수 있습니다. 작업을 수행하고, 다른 시스템(데이터베이스, API, 하드웨어)과 상호작용하며, 결과를 반환합니다. 예를 들어 도구는 이메일을 보내거나 데이터베이스를 쿼리하거나 계산을 수행할 수 있습니다.
  • 리소스: 이는 LLM이 읽거나 검색할 수 있는 데이터를 노출합니다. GET 엔드포인트와 유사하게, 리소스는 LLM의 컨텍스트를 풍부하게 하는 정보를 제공합니다. 이는 구성 파일, 사용자 프로필에서 실시간 데이터 스트림에 이르기까지 다양할 수 있습니다.
  • 프롬프트: 이는 LLM과의 상호작용 구조화에 대한 재사용 가능한 템플릿입니다. 대화를 안내하고 특정 작업에 대한 일관된 출력을 보장합니다.
  • 컨텍스트: 서버는 사용 가능한 도구 및 리소스와 상호작용하는 방법에 대한 지침을 포함하여 맥락 정보를 제공할 수 있습니다.

 

MCP 구성 환경 

MCP 설명에 대한 내용 및 이미지 출처 : https://dytis.tistory.com/112

 


그래서 나는 무엇을 해볼 심산인가?

  • 서비스 소개와 업무 가이드에 대한 리소스를 최소화하고 담당자 부재 상황에도 플램폼 연동에 대한 정보를 손쉽게 얻을 수 있는 환경을 구성해보면 좋을 것 같다
    • 각 문서에 대한 메타 정보가 명확히 정리되어야 학습하는 과정에서 자체적인 분류에 이점이 있을 것
    • 기존 업무 프로세스 및 서비스에 대한 재정리가 필요할 것으로 예상됨
  • 연동 작업자의 궁금증에 대한 명확한 답변이 되면 작업에 효율성이 높아질 것 같다.
    • 연동 과정에서 발생하는 담당자간의 이해도와 산발된 가이드 문서에 대한 불필요한 리소스 소모를 줄일 수 있음 것
  • 사내의 서비스의 변경사항이 많은 편임으로 온보딩 과정에서 변경사항에 대해 담당자가 업무를 파악하기 수월해 질 것 같다.

 

보증이 되어야 하는 부분

  • 가이드 문서를 바탕으로 학습을 진행하는 경우 효용가치가 있는 답변이 도출되는지 확인이 필요함
  • 답변에 대한 수준에 대한 판단은 사용자가 판단해야하므로 수치화 하기가 어려움
    • 답변의 질을 어떤 수준까지 이끌어낼 수 있을지가 제일 중요할 것

 

프로세스

  1. 업무 활용에 필요한 문서 수집
  2. 수집한 문서에 대한 임베딩 벡터 생성 (업무 가이드)
    - 지라를 통해 진행되는 문답에 대해서도 함께 학습되거나 내용을 참조할 수 있으면 좋을 것 같다.
  3. MCP Client를 통한 사용자 질의
  4. 사용자 질의 내용에 대한 벡터화 진행
    • 문서에 대한 정보 전달을 명확히 하기 위한 전처리 및 벡터 생성
      • 문서에 포함하고 있는 플랫폼서비스의 소개 및 기능 단위로 문서 분류 작업 진행 
      • 각 문단별로 줄바꿈은 2줄, markdown기반으로 ##의 상태를 청크 타이틀로 분류
      • 문단의 최대 청크 사이즈는 n으로 설정하고 슬라이딩 윈도우 적용을 위해 n으로 청크 분류
      • 분류된 청크를 기반으로 임베딩 벡터 생성
  5. 기존 변환한 업무 문서에 대한 임베딩 벡터와 사용자 질의에 대한 임베딩 벡터의 유사도를 측정하여 관련 문서 발췌
  6. 사용자 질의 + (5)의 발췌 문서 내용을 기반으로 LLM에게 질의
  7. LLM로 부터 답변 받은 내용에 대한 정확도(사용성 검사) 검사

 

우선 1차적인 계획을 적어보았고 어느정도 샘플링을 진행하고 있는 상황이지만 추후 진행 사항에 대해서는 새로운 포스팅을 통해 찾아올 수 있도록 준비를 해야겠슴 

반응형
Comments