MCP-Ambari-API with OpenWebUI+MCPO
MCP 서버로 무엇을 해볼지 잠시 고민한 끝에, 관심의 대상은 어디까지나 MCP 서버이므로 최근까지 불가피(?)하게 다루어야 했던 Ambari 클러스터를 대상으로 잡았다. 추가 학습에 따른 오버헤드도 거의 없다는 점도 크게 작용했다. 잘 준비된 Ambari REST API를 통해 필요한 정보를 수집하고 이를 LLM 기반으로 정리된 결과로 받아보는 ‘MCP 서버 만들기 실습’을 진행하였으며, 이하에서는 그 과정을 기록으로 남김.
결과물 예시
먼저 실습 결과 중 하나로, 구축한 MCP 서버가 Claude Desktop과 성공적으로 연동되어 만족스러운 성과를 얻을 수 있었다. (참고로, 데모에 사용된 UI 환경은 OpenWebUI 를 활용)
{
"mcpServers": {
"ambari-api": {
"command": "uvx",
"args": ["--python", "3.11", "mcp-ambari-api"],
"env": {
"AMBARI_HOST": "localhost",
"AMBARI_PORT": "7070",
"AMBARI_USER": "admin",
"AMBARI_PASS": "changeme!@34",
"AMBARI_CLUSTER_NAME": "TEST-AMBARI",
"AMBARI_LOG_LEVEL": "INFO"
}
}
}
}
실습 환경 구성
Windows11(23H2)
WSL2(2.6.0.0) (networkingMode = bridged)
DockerDesktop(4.39.0)
VSCode(1.102.3) + Copilot(GPT-4.1 또는 Claude Sornet 4)
Ambari-3.0 Cluster
(선택사항) OpenWebUI + MCPO(MCP OpenAPI Proxy)
https://github.com/call518/MCP-Ambari-API.git
- An LLM dose not need to understand MCP
요즘은 참 세상이 좋아진 것 같다. 구구절절 코드 흐름이나 로직 설명을 따로 작성한다는 게 무슨 의미가 있을까 싶을 정도다. 아래 링크로 가면 아주 상세히 분석 및 정리된 자료가 있으니 필요하면 참조.
https://deepwiki.com/call518/MCP-Ambari-API (갱신 주기: 7일)
(Info) Ambari 클러스터를 위한 MCP다 보니, 테스트용 Ambari Cluster가 먼저 준비되어 있어야 한다.
마침 얼마 전 다른 일로, Ambari 3.0 Demo Cluster 구성을 해보고 기록한 문서가 있다. Install Ambari 3.0 with Docker 참고해서 Ambari 클러스터를 준비한다.
MCP 서버만 필요한 경우, "pip install mcp-ambari-api" 명령만으로 설치/사용이 가능하나, 본 과정인 QuickStart 데모를 진행하려면 저장소 Clone 필요함.
$ git clone https://github.com/call518/MCP-Ambari-API.git
$ cd MCP-Ambari-API
먼저 다음 명령으로 템플릿을 복사하고, 환경에 맞게 값을 수정.
$ cp mcp-config.json.local mcp-config.json
$ vi mcp-config.json
docker-compose.yml 파일을 보면 알겠지만, 2개의 컨테이너가 기동 됨.
하나는, 사용자가 LLM과 상호작용 할 수 있는 웹기반 인터페이스인 OpenWebUI 컨테이너.
다른 하나는, MCP서버를 OpenAPI 호환 프로토콜로 Wrap해주는 MCPO-Proxy 컨테이너.
$ docker-compose up -d
(NOTE) 포트 번호는 충돌로 변경될 수 있으니 docker-compose.yml을 확인하세요.
응답 포트(기본값): 8001
MCPO API Docs URL: http://localhost:8001/docs
Swagger 기반 API 문서 제공
응답 포트(기본값): 3001
URL: http://localhost:3001/
최초 접속 시, 관리자 계정 등록/로그인
[설정] - [도구]에서, "ambari-api" 도구의 API 주소(MCPO Swagger에 표시된 링크 주소)인, "http://localhost:8001/ambari-api" 등록/추가.
[관리자 패널] - [설정] - [연결]에서, OpenAI API Key 등록. (다른 AI도구도 가능)
테스트 작업으로 "암바리 클러스터 정보 보여줘" 작업 요청.
(NOTE) 당연한 이야기지만, 모델 수준에 따라 응답 품질 차이 있을 수 있음.
Demo 환경 구성 완료
테스트 완료
이번 MCP 서버 구현 실습을 통해 MCP 서버 동작 방식과 덤으로 MCPO도 알게 되었으며, 샘플 구현체인 Ambari API 통해, API를 통한 운용/관리의 MCP의 실용성과 자동화 가능성을 체감할 수 있었음.
이 글이 도움이 되셨다면, 다른 글도 함께 읽어보세요
LLM-Based Log Analyzer - https://github.com/call518/LogSentinelAI