enessari/metabase-ai-assistant
요약
Metabase 사용자를 위한 강력한 MCP(Model Context Protocol) 서버 프로젝트로, 자연어를 통해 SQL 생성, 대시보드 구축, 사용자 관리를 자동화합니다. 기존 MCP 서버 대비 압도적인 134개의 도구를 제공하며 엔터프라이즈 보안 기능을 갖추고 있습니다.
핵심 포인트
- MCP SDK v1.26.0 기반의 134개 도구 제공
- 자연어를 통한 SQL 생성 및 최적화 기능 지원
- 대시보드 템플릿 생성 및 워크스페이스 관리 자동화
- 읽기 전용 보안 모드 및 구조화된 JSON 출력 지원
134개 도구 • MCP SDK v1.26.0 • AI 기반 SQL • 구조화된 출력 (Structured Output) • 엔터프라이즈 보안
당신의 AI 어시스턴트를 Metabase 파워 유저로 변신시키세요.
자연어를 통해 SQL을 생성하고, 대시보드를 만들며, 사용자를 관리하고, BI 워크플로우를 자동화하세요.
"시중에 있는 모든 Metabase MCP 서버를 분석했습니다. 이 프로젝트는 경쟁사보다 4배 더 많은 도구와 기능을 갖추고 있습니다."
| 기능 | 이 프로젝트 | 기타 MCP 서버 |
|---|---|---|
| 총 도구 수 | 134 ✅ | 6-30 |
| AI SQL 생성 (AI SQL Generation) | ✅ | ❌ |
| AI SQL 최적화 (AI SQL Optimization) | ✅ | ❌ |
| 대시보드 템플릿 (Dashboard Templates) | ✅ | ❌ |
| 사용자 관리 (User Management) | ✅ | ❌ |
| 워크스페이스 내보내기/가져오기 (Workspace Export/Import) | ✅ | ❌ |
| 읽기 전용 보안 모드 (Read-Only Security Mode) | ✅ | ✅ |
| 응답 캐싱 (Response Caching) | ✅ | ✅ |
| 활동 로깅 (Activity Logging) | ✅ | ❌ |
| 메타데이터 분석 (Metadata Analytics) | ✅ | ❌ |
| 매개변수 질문 (Parametric Questions) | ✅ | ❌ |
| 환경 비교 (Environment Comparison) | ✅ | ❌ |
| 구조화된 출력 (Structured Output (JSON)) | ✅ | ❌ |
| 도구 주석 (Tool Annotations) | ✅ | ❌ |
npx metabase-ai-assistant
{
"mcpServers": {
"metabase": {
...
그게 전부입니다! 이제 당신의 AI 어시스턴트는 Metabase의 모든 초능력을 갖게 되었습니다. 🦸
사용자: "지난 30일 동안의 제품 카테고리별 총 매출을 보여줘"
AI: ai_sql_generate 사용 → 쿼리 실행 → 포맷팅된 결과 반환
사용자: "우리 이커머스 판매를 위한 경영진 대시보드를 만들어줘"
AI: mb_dashboard_template_executive 사용 → 완전히 구성된 대시보드 생성
사용자: "'orders'와 관련된 테이블은 무엇이며 그 관계를 보여줘"
AI: db_relationships_detect 사용 → 완전한 ER 다이어그램 정보 반환
사용자: "DROP TABLE users"
AI: 🔒 차단됨 - 읽기 전용 모드 활성화됨
🆕 모든 도구에는 MCP 주석(annotations)과 title이 포함되어 있습니다. 16개의 우선순위 도구는 타입이 지정된 JSON 응답을 위해 outputSchema + structuredContent를 지원합니다.
📊 데이터베이스 작업 (25개 도구)
| 도구 (Tool) | 설명 (Description) |
|---|---|
db_list | |
| 모든 데이터베이스 목록 나열 | |
db_schemas | |
| 데이터베이스 내 스키마 (Schemas) 가져오기 | |
db_tables | |
| 필드가 포함된 테이블 가져오기 | |
sql_execute | |
| SQL 쿼리 실행 | |
db_table_create | |
| 테이블 생성 (AI 접두사 사용) | |
db_view_create | |
| 뷰 (Views) 생성 | |
db_matview_create | |
| 구체화된 뷰 (Materialized Views) 생성 | |
db_index_create | |
| 인덱스 (Indexes) 생성 | |
db_vacuum_analyze | |
| VACUUM 및 ANALYZE 수행 | |
db_query_explain | |
| 쿼리 실행 계획 (Query Plans) 설명 (EXPLAIN) | |
db_table_stats | |
| 테이블 통계 | |
db_index_usage | |
| 인덱스 사용 분석 | |
db_schema_explore | |
| 빠른 스키마 탐색 | |
db_schema_analyze | |
| 심층 스키마 분석 | |
db_relationships_detect | |
| 외래 키 (Foreign Keys) 감지 | |
| ...외 다수 |
🤖 AI 기반 기능 (AI-Powered Features) (5개 도구)
| 도구 (Tool) | 설명 (Description) |
|---|---|
ai_sql_generate | |
| 자연어 → SQL 변환 | |
ai_sql_optimize | |
| 쿼리 최적화 (Query Optimization) 제안 | |
ai_sql_explain | |
| SQL을 쉬운 영어로 설명 | |
ai_relationships_suggest | |
| 테이블 관계 제안 | |
mb_auto_describe | |
| 설명 자동 생성 |
📋 질문/카드 관리 (Question/Card Management) (12개 도구)
| 도구 (Tool) | 설명 (Description) |
|---|---|
mb_question_create | |
| 새 질문 생성 | |
mb_questions | |
| 모든 질문 목록 나열 | |
mb_question_create_parametric | |
| 매개변수형 (Parametric) 질문 | |
mb_card_get | |
| 카드 상세 정보 가져오기 | |
mb_card_update | |
| 카드 업데이트 | |
mb_card_delete | |
| 카드 삭제 | |
mb_card_archive | |
| 카드 보관 (Archive) | |
mb_card_data | |
| 카드 데이터를 JSON 형식으로 가져오기 | |
mb_card_copy | |
| 카드 복사 | |
mb_card_clone | |
| 카드 복제 (Clone) | |
| ...외 다수 |
📈 대시보드 관리 (Dashboard Management) (14개 도구)
| 도구 (Tool) | 설명 (Description) |
|---|---|
mb_dashboard_create | |
| 대시보드 생성 | |
mb_dashboards | |
| 모든 대시보드 목록 나열 | |
mb_dashboard_get | |
| 대시보드 상세 정보 가져오기 | |
mb_dashboard_update | |
| 대시보드 업데이트 | |
mb_dashboard_delete | |
| 대시보드 삭제 | |
mb_dashboard_add_card | |
| 대시보드에 카드 추가 | |
mb_dashboard_add_filter | |
| 필터 추가 | |
mb_dashboard_layout_optimize | |
| 레이아웃 최적화 | |
mb_dashboard_template_executive | |
| 경영진용 템플릿 (Executive Templates) | |
| ...외 다수 |
👥 사용자 및 권한 관리 (User & Permission Management) (10개 도구)
| 도구 (Tool) | 설명 (Description) |
|---|---|
mb_user_list | 사용자 목록 조회 (List users) |
mb_user_get | 사용자 상세 정보 가져오기 (Get user details) |
mb_user_create | 사용자 생성 (Create users) |
mb_user_update | 사용자 정보 업데이트 (Update users) |
mb_user_disable | 사용자 비활성화 (Disable users) |
mb_permission_group_list | 그룹 목록 조회 (List groups) |
mb_permission_group_create | 그룹 생성 (Create groups) |
| ...외 다수 |
📊 메타데이터 분석 (Metadata Analytics) (14개 도구)
| 도구 (Tool) | 설명 (Description) |
|---|---|
mb_meta_overview | 인스턴스 상태 점검 (Instance health check) |
mb_meta_query_performance | 쿼리 분석 (Query analytics) |
mb_meta_content_usage | 콘텐츠 사용 통계 (Content usage stats) |
mb_meta_user_activity | 사용자 활동 (User activity) |
mb_meta_table_dependencies | 테이블 의존성 (Table dependencies) |
mb_meta_impact_analysis | 변경 영향 분석 (Breaking change analysis) |
mb_meta_optimization_recommendations | 인덱스 제안 (Index suggestions) |
mb_meta_export_workspace | JSON으로 백업 (Backup to JSON) |
mb_meta_import_preview | 가져오기 시뮬레이션 (Import dry-run) |
mb_meta_compare_environments | 개발(Dev) vs 운영(Prod) 차이 비교 (Dev vs Prod diff) |
mb_meta_auto_cleanup | 안전한 정리 (Safe cleanup) |
| ...외 다수 |
| 기능 (Feature) | 설명 (Description) |
|---|---|
| 🔒 읽기 전용 모드 (Read-Only Mode) | INSERT, UPDATE, DELETE, DROP 차단 (기본값: 활성화) |
| 🏷️ AI 접두사 (AI Prefix) | 모든 AI 생성 객체에 claude_ai_ 접두사 사용 |
| ✅ 명시적 승인 (Explicit Approval) | 파괴적인 작업(Destructive operations) 시 확인 필요 |
| 📝 활동 로깅 (Activity Logging) | 모든 작업에 대한 전체 감사 추적 (Audit trail) |
| 🔐 환경 변수 검증 (Env Validation) | Zod로 검증된 환경 변수 |
| 💾 자동 백업 (Auto-Backup) | 파괴적인 작업 전 백업 프롬프트 표시 |
# 읽기 전용 모드 활성화/비활성화
METABASE_READ_ONLY_MODE=true # 기본값: 쓰기 작업 차단
METABASE_READ_ONLY_MODE=false # 쓰기 작업 허용
.env 파일을 생성하세요:
# 필수 항목
METABASE_URL=https://your-metabase.com
METABASE_API_KEY=mb_your_api_key
...
npm install -g metabase-ai-assistant
docker run -e METABASE_URL=... -e METABASE_API_KEY=... ghcr.io/enessari/metabase-ai-assistant
git clone https://github.com/enessari/metabase-ai-assistant.git
cd metabase-ai-assistant
npm install
...
metabase-ai-assistant/
├── src/
│ ├── mcp/
...
기여를 환영합니다! 가이드라인은 CONTRIBUTING.md를 참조하세요.
# Fork, clone, install
git clone https://github.com/YOUR_USERNAME/metabase-ai-assistant.git
npm install
...
Apache License 2.0 - LICENSE 참조
Built with ❤️ by Abdullah Enes SARI @ ONMARTECH LLC
Keywords: Metabase MCP Server, Model Context Protocol (모델 컨텍스트 프로토콜), AI SQL Generation (AI SQL 생성), Business Intelligence (비즈니스 인텔리전스), Claude AI, Cursor AI, Natural Language SQL (자연어 SQL), Dashboard Automation (대시보드 자동화), PostgreSQL, Data Analytics (데이터 분석), LLM Tools (LLM 도구)
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기