오픈소스 인사이트
home
오픈소스 기술 동향
home
🚀

AI로 WildFly를 스마트하게 관리하기 : WildFly MCP 프로젝트

6 more properties

들어가며

2025년 2월, WildFly 공식 사이트를 통해 "Making WildFly Glow with Intelligence"라는 뉴스가 발표됐어요!
이 게시물에서 소개된 WildFly AI Feature Pack은 다양한 AI 모델, 임베딩, RAG, MCP 등 최신 AI 기능을 WildFly에 쉽게 통합할 수 있게 해주는 확장 패키지인데요.
여러 계층으로 구성된 이 패키지는 복잡한 설정 과정을 최소화하면서도 최신 AI 기술 도입을 빠르게 지원하는 게 강점이에요.
3월 WildFly Mini Conference 2025에서는 더욱 흥미로운 발표가 있었어요.
"WildFly AI Feature Pack: Deploying an MCP Server" 세션에서 AI 챗봇을 통한 기능 시연이 진행됐거든요!
시연 내용
자연어로 WildFly 서버 설정 자동화
로그 분석 및 상태 점검
실시간 문제 진단
단순한 모니터링을 넘어 자연어로 서버를 관리하고 문제를 진단하는 등, AI가 미들웨어 운영의 핵심을 직접 맡는 미래 IT 인프라를 엿볼 수 있었어요.
이 프로젝트가 고도화되면 정말 AI가 미들웨어를 알아서 돌봐주는 시대가 올지도 모르겠네요!
본 글에서는 공개된 WildFly MCP 프로젝트를 소개하고, 실제 테스트를 통해 자연어를 활용한 스마트한 WildFly 관리가 가능한지 확인해볼게요.
나아가 튜닝을 통해 나만의 WildFly 관리 도우미도 만들어보도록 하겠습니다!

WildFly MCP 프로젝트 소개

개요

WildFly MCP 프로젝트는 모니터링 및 관리 작업에 생성형 AI를 활용할 수 있도록 지원 도구를 제공해요.
개발자와 운영자가 자연어로 WildFly 서버와 상호작용하며 복잡한 관리 작업을 간소화할 수 있죠.
주요 구성 요소
WildFly MCP 서버 : AI 챗봇과 연동되어 자연어로 WildFly 서버 제어 및 관리를 돕는 MCP 서버
WildFly 챗봇 : STDIO/SSE 프로토콜로 MCP 서버와 연결, LLM과 연동해 자연어 대화가 가능한 AI 챗봇
MCP STDIO/SSE 게이트웨이 : STDIO를 SSE로 변환해주는 MCP 프로토콜 게이트웨이
Wait MCP 서버 : LLM 워크플로우에서 지정된 시간만큼 대기하는 기능을 제공하는 MCP 서버

MCP란?

MCP(Model Context Protocol)는 2024년 11월 Anthropic이 발표한 비교적 새로운 오픈 프로토콜이에요.
외부 데이터 소스를 LLM(Large Language Model) 컨텍스트 내에 통합하는 방법을 표준화한 거죠.
AI 애플리케이션에서 일종의 USB-C 포트처럼 동작해서, 다양한 외부 시스템과 AI 모델 간 연결을 가능하게 해요.
아직 비교적 새로운 표준이지만 MCP 생태계는 이미 빠르게 발전하고 있고, 실제 AI 서비스 현장에서도 MCP 기반 통합이 점차 확산되고 있어요.
MCP Tools의 역할
MCP 서버가 클라이언트에게 실행 가능한 기능을 공개할 수 있도록 해주는 강력한 기본 요소
LLM이 외부 시스템과 상호작용 및 연산을 수행할 수 있게 지원
WildFly 자원 관리를 위한 여러 tool이 구현되어 있음
LLM이 필요에 따라 tool을 호출해 자연어를 통한 WildFly 관리 실현

MCP tools 워크플로우

이 프로젝트에서 tool을 어떻게 사용하는지 워크플로우로 확인해볼게요.
다음은 챗봇에 "What is the status of my wildfly server?"라고 질문했을 때의 동작 흐름이에요.
[그림 1] WildFly MCP 프로젝트 워크플로우
동작 과정
0. 챗봇 기동 시 MCP 서버로부터 사용 가능한 tool 리스트 수신
1.
사용자 질문: "What is the status of my wildfly server?"
2.
챗봇이 질문과 tool 리스트가 포함된 JSON 메시지를 LLM에 전달 ("getWildFlyServerAndDeploymentsStatus" tool 포함)
3.
LLM이 질문을 분석해 "getWildFlyServerAndDeploymentsStatus" tool 사용을 챗봇에 지시
4.
챗봇이 MCP 클라이언트를 통해 해당 tool을 MCP 서버에 호출
5.
MCP 서버가 WildFly 관리 포트로 서버 상태 점검 명령 실행
6.
WildFly가 요청된 명령을 처리하고 결과를 반환
7.
MCP 서버가 이 결과를 챗봇에 전달
8.
챗봇이 결과를 LLM에 전달
9.
LLM이 결과를 분석해 챗봇에 답변을 전달
10.
챗봇이 사용자에게 최종 답변 제공
이런 과정을 통해 챗봇은 "getWildFlyServerAndDeploymentsStatus" tool을 활용해서 LLM 단독으로는 답변하기 어려운 질문을 손쉽게 처리해요!

WildFly MCP 프로젝트 테스트 및 응용

실제로 잘 동작하는지 확인해볼 차례예요!
테스트용 리눅스 환경에서 WildFly MCP 프로젝트의 main 브랜치를 clone하여 Maven 빌드 후 테스트를 진행했어요.
테스트 환경
OS: rocky 8.10
JDK: 21.0.7
Maven: 3.9.6
WildFly: 36.0.1
LLM: ollama/qwen2.5:3b, ollama/qwen2.5:7b

"What is the status of my wildfly server?" 질문 해보기

위 워크플로우대로 동작하는지 똑같이 질문해봤어요.
참고로 챗봇은 tool 사용 시 어떤 툴을 사용하는지 인자 값과 함께 출력해줘요.
예상대로 getWildFlyServerAndDeploymentsStatus tool을 호출해서 필요한 정보들을 받아와 답변하는 걸 확인할 수 있었어요!
getWildFlyServerAndDeploymentsStatus 리턴 값 예시
LLM이 아래 데이터를 바탕으로 최종 답변을 작성해요.

조금 더 스마트하게 – 한국어로 소통하기

기본 기능이 잘 작동하는 걸 확인했으니, 이제 한국어로도 소통이 되는지 테스트해볼게요.
조금 더 스마트한 일 처리를 위해서는 한국어 질문도 문제없이 처리돼야 하거든요.
안타깝게도 소통이 잘 안 되네요
같은 의미인데도 "wildfly 상태 어때?"만 제대로 답변하고, 나머지는 답변할 수 없다고 응답해요.
해결책: 더 큰 모델 사용
LLM의 한국어 구사 능력을 높이기 위해 ollama에서 제공하는 더 무거운 버전인 qwen2.5:7b 모델로 연동해봤어요.
용량이 더 크니까 한국어 능력도 그만큼 뛰어날 거예요!
가끔 답변에서 한자가 발견되긴 하지만 확실히 개선됐네요!
이전에 이해하지 못했던 질문들을 제대로 해석하고 정확하게 답변해요.
더 규모가 큰 모델과 연동하면 한국어 처리 능력이 더 상승할 텐데, 이번 테스트에서는 7b 모델 정도면 충분할 것 같아요!
자연어로 애플리케이션을 배포하는 시연까지 보고 싶으시다면 아래 링크를 클릭해주세요!

참고 자료