제20회 AI 에이전트와 검색을 연결하다 – MCP 서버로 Fess를 외부 AI 도구에 통합

들어가며

지난 회에서는 Fess 내장 AI 검색 모드를 사용하여 AI 어시스턴트를 구축했습니다. 그러나 AI 활용 방식은 그것만이 아닙니다. Claude Desktop이나 다른 AI 에이전트에서 Fess를 “검색 도구”로 사용하는 방법이 있습니다.

이 글에서는 Fess를 MCP(Model Context Protocol) 서버로 공개하고, 외부 AI 도구에서 원활하게 사내 문서를 검색할 수 있는 환경을 구축합니다.

대상 독자

  • AI 에이전트와 검색 시스템의 연계에 관심이 있는 분

  • MCP의 개념을 이해하고 싶은 분

  • Claude Desktop 등의 AI 도구를 업무에서 활용하고 있는 분

MCP란

MCP(Model Context Protocol)는 AI 애플리케이션이 외부 데이터 소스와 도구에 접근하기 위한 프로토콜입니다. AI 모델이 “검색하기”, “파일 읽기”, “API 호출하기” 등의 작업을 표준화된 방식으로 수행할 수 있도록 합니다.

Fess를 MCP 서버로 공개하면, AI 에이전트가 자연스러운 맥락에서 “사내 문서를 검색해줘”라는 작업을 실행할 수 있게 됩니다.

패러다임의 전환

기존의 검색은 “사람이 키워드를 입력하고 결과를 읽는” 모델이었습니다. MCP를 통해 “AI 에이전트가 자율적으로 검색하고, 결과를 해석하여 답변에 통합하는” 새로운 모델이 실현됩니다.

이는 “사람이 검색하는” 것에서 “AI가 사람을 대신하여 검색하는” 것으로의 전환입니다.

Fess MCP 서버 구축

플러그인 설치

Fess의 MCP 서버 기능은 webapp 플러그인으로 제공됩니다.

  1. 관리 화면의 [시스템] > [플러그인]을 선택

  2. fess-webapp-mcp 를 설치

  3. Fess를 재시작

MCP 서버가 제공하는 기능

Fess의 MCP 서버는 AI 에이전트에 다음과 같은 기능을 제공합니다.

Tools

  • search: 사내 문서의 전문 검색

  • get_index_stats: 인덱스의 문서 수 및 JVM 메모리 정보 조회

AI 에이전트는 이러한 도구를 호출하여 Fess의 인덱스를 검색하거나 시스템 상태를 확인할 수 있습니다.

Resources

  • fess://index/stats: 인덱스 통계 정보(문서 수, 설정 정보, JVM 메모리)

Prompts

  • basic_search: 기본적인 검색 쿼리 생성

  • advanced_search: 정렬이나 건수 지정을 포함한 상세 검색 쿼리 생성

Claude Desktop과의 연계

Claude Desktop 설정

Fess의 MCP 서버를 Claude Desktop에 연결하려면 Claude Desktop의 설정 파일에 MCP 서버 정보를 추가합니다.

설정 파일(claude_desktop_config.json)에 다음과 같은 설정을 추가합니다.

{
  "mcpServers": {
    "fess": {
      "url": "http://localhost:8080/mcp"
    }
  }
}

사용 예

Claude Desktop에서 Fess가 MCP 서버로 연결되면 다음과 같은 대화가 가능해집니다.

예시 1: 사내 문서 검색

사용자: “출장 경비 정산 절차에 대해 알려주세요”

Claude: (Fess의 search 도구를 호출) 사내 출장 경비 정산 관련 문서를 검색했습니다. 출장 경비 정산 절차는 다음과 같습니다: 1. 출장 보고서를 작성하고… [출장 경비 정산 매뉴얼(portal/manual/travel-expense.html)에서]

예시 2: 여러 문서의 횡단 조사

사용자: “당사 보안 정책에서 비밀번호 관련 규정을 정리해주세요”

Claude: (Fess에서 “비밀번호 보안 정책”을 검색하고 여러 결과를 통합) 비밀번호 관련 규정은 다음 문서에 기재되어 있습니다: - 정보 보안 기본 방침: 비밀번호는 12자 이상… - 계정 관리 규정: 90일마다 변경 필요… - 원격 접속 규정: 다중 인증 병용 필수…

AI 에이전트는 검색 결과를 해석하고, 여러 문서에서 정보를 통합한 답변을 생성합니다.

다른 AI 도구와의 연계

MCP는 표준 프로토콜이므로 Claude Desktop 외의 MCP 대응 AI 도구에서도 Fess를 사용할 수 있습니다.

커스텀 AI 에이전트에서의 이용

자체 개발 AI 에이전트에서 MCP 프로토콜로 Fess에 연결하는 것도 가능합니다. MCP 클라이언트 라이브러리를 사용하여 프로그램에서 Fess의 검색 기능을 호출할 수 있습니다.

보안 고려 사항

MCP 서버를 공개할 때의 보안상 주의 사항입니다.

접근 제어

  • MCP 서버 접근을 신뢰할 수 있는 클라이언트로 제한

  • 네트워크 수준의 제한(방화벽, VPN)

  • API 토큰을 통한 인증

검색 결과의 권한 제어

MCP 경유 검색에도 Fess의 역할 기반 검색(제5회)이 적용됩니다. API 토큰에 역할을 연결함으로써 AI 에이전트가 가져올 수 있는 문서의 범위를 제어할 수 있습니다.

데이터 취급

클라우드 기반 AI 서비스와 연계하는 경우, 검색 결과 텍스트가 외부로 전송되는 점에 유의하십시오. 기밀성이 높은 문서가 포함되는 경우, 로컬 LLM(Ollama)과의 조합이나 검색 결과 필터링을 검토하십시오.

정리

이 글에서는 Fess를 MCP 서버로 공개하고 AI 에이전트와 연계하는 방법을 해설했습니다.

  • MCP 프로토콜의 개념과 “AI가 검색하는” 패러다임

  • fess-webapp-mcp 플러그인의 설치 및 설정

  • Claude Desktop과의 연계 예

  • 보안 고려 사항(접근 제어, 권한, 데이터 취급)

AI 에이전트가 사내 지식에 직접 접근할 수 있게 됨으로써 지식 활용의 가능성이 크게 넓어집니다.

다음 회에서는 멀티모달 검색에 대해 다룹니다.

참고 자료