📊 Metabase MCP Server

📊 Metabase MCP Server

site icon
2025.05.01 0
Python商业智能数据分析数据可视化数据库管理开发效率数据库
Metabase MCP Server 是一个后端集成层,通过 Model Context Protocol (MCP) 将 Metabase 实例与 AI 助手连接起来。它允许业务领导者、产品经理和分析师通过自然语言与商业智能资产(如仪表盘和图表)进行交互。该工具使 Metabase 不仅是一个仪表盘工具,还是一个对话式的智能业务助手。
View on GitHub

Overview

基本能力

产品定位

Metabase MCP Server 是一个后端集成层,通过 Model Context Protocol (MCP) 将 Metabase 实例与 AI 助手连接起来。它允许业务领导者、产品经理和分析师通过自然语言与商业智能资产(如仪表盘和图表)进行交互。

核心功能

  • 通过自然语言查询获取即时洞察
  • 通过描述生成仪表盘和图表
  • 管理用户访问和数据库连接

适用场景

  • 业务分析和报告
  • 数据可视化
  • 数据库管理
  • 用户和权限管理

工具列表

功能 描述
Collection Operations
get_metabase_collection 通过 ID 获取集合
create_metabase_collection 创建新集合
update_metabase_collection 更新集合元数据
delete_metabase_collection 删除集合
Chart (Card) Operations
get_metabase_cards 列出所有图表
get_card_query_results 从图表查询获取结果
create_metabase_card 创建新图表
create_simple_visualization 创建简单可视化
update_metabase_card 更新现有图表
delete_metabase_card 删除图表
Dashboard Operations
get_metabase_dashboards 列出所有仪表盘
get_dashboard_by_id 通过 ID 获取仪表盘
get_dashboard_cards 获取仪表盘中的卡片
get_dashboard_items 获取所有仪表盘项目
create_metabase_dashboard 创建仪表盘
update_metabase_dashboard 更新仪表盘
delete_metabase_dashboard 删除仪表盘
copy_metabase_dashboard 复制现有仪表盘
Database Operations
get_metabase_databases 列出数据库
create_metabase_database 创建新数据库连接
update_metabase_database 更新数据库连接
delete_metabase_database 删除数据库连接
User Operations
get_metabase_users 列出所有用户
get_metabase_current_user 获取当前用户详情
create_metabase_user 创建新用户
update_metabase_user 更新用户信息
delete_metabase_user 删除用户
Group Operations
get_metabase_groups 列出用户组
create_metabase_group 创建用户组
delete_metabase_group 删除用户组
SQL Operations
execute_sql_query 执行原生 SQL 查询

常见问题解答

  • 如何配置 AI 客户端? 修改 claude_desktop_config.json 文件,添加 MCP 服务器配置。
  • 如何获取 Metabase API 密钥? 在 Metabase 管理界面生成 API 密钥。
  • 如何解决路径问题? 确保在配置文件中使用正确的路径格式(Windows 使用反斜杠,macOS/Linux 使用正斜杠)。

使用教程

使用依赖

安装以下软件:

# Python 3.11+
https://www.python.org/downloads/

# Node.js
https://nodejs.org/

# MCP-compatible AI client (e.g., Claude Desktop)
https://claude.ai/download

安装教程

  1. 设置 Metabase 参考官方文档:https://www.metabase.com/docs/latest/installation-and-operation/installing-metabase

  2. 克隆或下载仓库

git clone https://github.com/codewalnut/metabase-mcp-server.git
cd metabase-mcp-server
  1. 安装 uv 包管理器
pip install uv
  1. 创建虚拟环境
uv venv .venv

# Windows
.venv\Scripts\activate

# macOS/Linux
source .venv/bin/activate
  1. 安装依赖
uv pip install -r requirements.txt
  1. 配置 .env 文件
METABASE_URL=http://127.0.0.1:3000
METABASE_API_KEY=mb_xxx_your_api_key
  1. 连接到 AI 客户端 修改 claude_desktop_config.json 文件,添加 MCP 服务器配置。

调试方式

  1. 确保 Metabase 服务正在运行
  2. 检查 .env 文件中的配置是否正确
  3. 确保 AI 客户端已正确配置并重启
  4. 使用示例提示测试功能

示例提示: - 创建一个名为 'Flight Overview' 的仪表盘,显示按目的地城市划分的航班条形图。 - 运行 SQL: SELECT origin, destination, COUNT(*) FROM flights GROUP BY origin, destination LIMIT 10。 - 创建一个显示上个月按地区分组的预订总数的卡片。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。