메타베이스 MCP 서버
AI 어시스턴트가 Metabase 데이터베이스 및 작업과 상호 작용할 수 있도록 하는 MCP(모델 제어 프로토콜) 서버입니다.
![메타베이스 MCP 서버]
개요
Metabase MCP 서버는 AI 어시스턴트와 Metabase를 연결하는 브리지 역할을 하며, 이를 통해 AI 모델은 다음과 같은 작업을 수행할 수 있습니다.
Metabase에 구성된 데이터베이스 나열 및 탐색
데이터베이스 스키마, 테이블 및 필드에 대한 자세한 메타데이터를 검색합니다.
데이터베이스의 테이블 간 관계 시각화
메타베이스 작업 나열 및 실행
보안 API를 통해 Metabase 데이터에 대한 작업 수행
이 서버는 [모델 제어 프로토콜(MCP)] 사양을 구현하여 MCP 도구를 지원하는 AI 어시스턴트와 호환됩니다.
Related MCP server: MCP Toolkit
특징
데이터베이스 탐색 : 모든 데이터베이스를 나열하고 스키마를 탐색합니다.
메타데이터 검색 : 테이블, 필드 및 관계에 대한 자세한 정보를 얻습니다.
관계 시각화 : 데이터베이스 관계의 시각적 표현을 생성합니다.
작업 관리 : 메타베이스 작업 나열, 세부 정보 보기 및 실행
안전한 API 키 처리 : API 키를 암호화하여 저장하고 노출을 방지합니다.
웹 인터페이스 : 사용자 친화적인 웹 인터페이스를 통해 기능을 테스트하고 디버깅합니다.
Docker 지원 : Docker 및 Docker Compose를 통한 간편한 배포
필수 조건
메타베이스 인스턴스(v0.46.0 이상 권장)
적절한 권한이 있는 Metabase API 키
Docker(컨테이너화된 배포용)
Python 3.10+(로컬 개발용)
설치
Docker 사용(권장)
이 저장소를 복제하세요:
지엑스피1
Docker 컨테이너를 빌드하고 실행합니다.
docker-compose up -dhttp://localhost:5001 에서 구성 인터페이스에 액세스하세요.
수동 설치
이 저장소를 복제하세요:
git clone https://github.com/yourusername/metabase-mcp.git cd metabase-mcp종속성 설치:
pip install -r requirements.txt구성 인터페이스를 실행합니다.
python -m src.server.web_interfacehttp://localhost:5000 에서 구성 인터페이스에 액세스하세요.
구성
브라우저에서 웹 인터페이스를 엽니다
Metabase URL을 입력하세요(예: http://localhost:3000 )
Metabase API 키를 입력하세요
"구성 저장"을 클릭하고 연결을 테스트하세요.
메타베이스 API 키 얻기
관리자로 Metabase 인스턴스에 로그인하세요.
설정 > 관리자 설정 > API 키로 이동하세요.
적절한 권한으로 새 API 키를 만듭니다.
생성된 키를 MCP 서버에서 사용하기 위해 복사합니다.
용법
MCP 서버 실행
구성 후 MCP 서버를 실행할 수 있습니다.
# Using Docker
docker run -p 5001:5000 metabase-mcp
# Manually
python -m src.server.mcp_server사용 가능한 도구
MCP 서버는 AI 어시스턴트에게 다음과 같은 도구를 제공합니다.
list_databases : Metabase에 구성된 모든 데이터베이스를 나열합니다.
get_database_metadata : 특정 데이터베이스에 대한 자세한 메타데이터를 가져옵니다.
db_overview : 데이터베이스의 모든 테이블에 대한 개요를 얻습니다.
table_detail : 특정 테이블에 대한 자세한 정보를 가져옵니다.
visualize_database_relationships : 데이터베이스 관계의 시각적 표현을 생성합니다.
run_database_query : 데이터베이스에 대해 SQL 쿼리를 실행합니다.
list_actions : Metabase에 구성된 모든 작업을 나열합니다.
get_action_details : 특정 작업에 대한 자세한 정보를 가져옵니다.
execute_action : 매개변수를 사용하여 Metabase 작업을 실행합니다.
웹 인터페이스를 통한 테스트 도구
웹 인터페이스는 각 도구에 대한 테스트 영역을 제공합니다.
데이터베이스 목록 : Metabase에 구성된 모든 데이터베이스를 봅니다.
데이터베이스 메타데이터 가져오기 : 데이터베이스에 대한 자세한 스키마 정보 보기
DB 개요 : 데이터베이스의 모든 테이블에 대한 간략한 목록을 봅니다.
테이블 세부 정보 : 특정 테이블에 대한 자세한 정보를 봅니다.
데이터베이스 관계 시각화 : 테이블 관계의 시각적 표현을 생성합니다.
쿼리 실행 : 데이터베이스에 대해 SQL 쿼리를 실행합니다.
작업 목록 : Metabase에 구성된 모든 작업 보기
작업 세부 정보 가져오기 : 특정 작업에 대한 자세한 정보를 봅니다.
작업 실행 : 매개변수를 사용하여 작업 실행 테스트
보안 고려 사항
API 키는 암호화되어 저장됩니다.
웹 인터페이스는 API 키를 일반 텍스트로 표시하지 않습니다.
보안 Metabase URL로 구성된 경우 모든 API 요청은 HTTPS를 사용합니다.
서버는 프로덕션 환경에서 보안 프록시 뒤에 배포되어야 합니다.
개발
프로젝트 구조
metabase-mcp/
├── src/
│ ├── api/ # Metabase API client
│ ├── config/ # Configuration management
│ ├── server/ # MCP and web servers
│ └── tools/ # Tool implementations
├── templates/ # Web interface templates
├── docker-compose.yml # Docker Compose configuration
├── Dockerfile # Docker build configuration
├── requirements.txt # Python dependencies
└── README.md # Documentation새로운 도구 추가
새로운 도구를 추가하려면:
src/tools/에 도구 기능을 구현하세요src/server/mcp_server.py에 도구를 등록합니다.templates/config.html에 테스트 인터페이스 추가(선택 사항)src/server/web_interface.py에 경로를 추가합니다(테스트 인터페이스를 추가하는 경우)
문제 해결
일반적인 문제
연결 실패 : Metabase URL이 올바르고 액세스 가능한지 확인하세요.
인증 오류 : API 키에 필요한 권한이 있는지 확인하세요.
Docker 네트워크 문제 : Docker를 사용할 때 적절한 네트워크 구성을 확인하세요.
로그
자세한 오류 정보는 로그에서 확인하세요.
# Docker logs
docker logs metabase-mcp
# Manual execution logs
# Logs are printed to the console기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.