← 返回目录
M

MCP Metabase Server

社区
为 AI 助手提供全面的 Metabase 访问能力(70+ 工具)
GitHub 源仓库 ↗
★ 82 Stars 分类 · 其他 热门 源版本 464fc93edd22
59FMRS · C
可靠性
6/20
安全与权限
12/20
维护活跃度
12/20
文档质量
15/20
安装易用性
14/20

该 MCP 服务器利用 Metabase REST API 提供全面功能,包括仪表板、卡片、数据库、表、集合和用户管理。它支持多种部署方式和权限控制。对于希望将 Metabase 集成到 AI 工作流的组织来说,这是一个强大的工具,但需要谨慎管理 API 权限以避免意外修改。

查看 FMRS 评分方法 →

一个基于 Model Context Protocol (MCP) 的服务器,让 AI 助手能够全面访问您的 Metabase 分析平台——包括仪表板、卡片、数据库、表、集合等。由 EaseCloud 开发和维护。

工具能力

list_dashboards
列出所有仪表板
get_dashboard
按 ID 获取特定仪表板
create_dashboard
创建新的仪表板
update_dashboard
更新现有仪表板
delete_dashboard
删除/归档仪表板
copy_dashboard
复制仪表板(浅复制或深复制)
save_dashboard
保存完整的仪表板对象,包含嵌套数据
save_dashboard_to_collection
将仪表板移动到特定集合
search_dashboards
按名称或描述搜索仪表板
favorite_dashboard
将仪表板标记为收藏
unfavorite_dashboard
从收藏中移除仪表板
get_dashboard_cards
获取仪表板中的所有卡片
add_card_to_dashboard
添加卡片并设置位置
add_text_block
添加文本或标题块到仪表板
remove_card_from_dashboard
从仪表板中移除卡片
update_dashboard_card
更新卡片位置、大小和设置
update_dashboard_cards
批量替换仪表板上的所有卡片
update_dashcard
更新特定 dashcard 的属性
execute_dashboard_card
执行特定的 dashcard 并返回结果
create_dashboard_public_link
创建公开分享链接
delete_dashboard_public_link
移除公开链接
list_public_dashboards
列出具有公开链接的仪表板
list_embeddable_dashboards
列出已启用嵌入的仪表板
get_dashboard_revisions
获取修订历史(审计追踪)
revert_dashboard
回滚到之前的修订版本
get_dashboard_related
获取相关内容建议
get_dashboard_queries
提取所有卡片查询并解析字段 ID
list_cards
列出所有问题/卡片
get_card
按 ID 获取卡片(包含完整 SQL / MBQL 查询)
create_card
创建新问题
update_card
更新现有问题
delete_card
删除/归档问题
copy_card
复制卡片
move_cards
将一个或多个卡片移动到不同集合
move_cards_to_collection
从源集合批量移动卡片
execute_card
运行卡片并返回结果
execute_pivot_card_query
以透视表格式运行卡片
export_card_result
以 CSV 或 JSON 格式导出结果
get_card_param_values
获取卡片参数的可用值
search_card_param_values
搜索/筛选参数值
get_card_param_remapping
获取参数值显示时的重新映射方式
get_card_query_metadata
获取列类型和显示名称
get_card_dashboards
列出包含此卡片的仪表板
get_card_series
获取系列数据或相关卡片建议
create_card_public_link
创建公开分享链接
delete_card_public_link
移除公开链接
list_public_cards
列出具有公开链接的卡片
list_embeddable_cards
列出已启用嵌入的卡片
list_databases
列出所有数据库连接
get_database
按 ID 获取特定数据库
create_database_connection
创建新的数据库连接
update_database
更新数据库连接的配置或凭据
delete_database
永久移除数据库连接
add_sample_database
添加内置的 H2 示例数据库(含演示数据)
execute_query
对数据库执行 SQL 查询
get_database_schema
获取模式信息
get_database_tables
获取数据库中的所有表
get_database_metadata
获取完整元数据,包括所有表和字段 ID
list_database_schemas
列出数据库中的所有模式
sync_database_schema
触发模式元数据同步
get_database_sync_status
检查同步状态
check_database_health
检查连接健康状况
validate_database
保存前验证连接设置
test_database_connection
测试现有连接
list_tables
列出表(可按数据库过滤)
get_table
按 ID 获取表元数据
get_table_metadata
获取完整查询元数据,包括字段 ID 和类型
get_table_fks
获取外键关系
get_table_related
通过外键关系查找相关表
get_table_data
获取表的数据预览
get_field_id
通过表 ID 和列名查找字段 ID(返回 MBQL 引用)
get_card_table_fks
获取卡片虚拟表的外键关系
get_card_table_query_metadata
获取卡片虚拟表的查询元数据
update_table
更新显示名称、描述或可见性
update_tables
使用相同配置批量更新多个表
reorder_table_fields
更改字段的显示顺序
sync_table_schema
为特定表触发模式同步
rescan_table_field_values
重新扫描字段值(更新筛选下拉列表)
discard_table_field_values
丢弃缓存的字段值
append_csv_to_table
从 CSV 内容追加新行
replace_table_csv
用新的 CSV 内容替换所有表数据
list_collections
列出所有集合
create_collection
创建新集合
get_collection
获取集合详细信息
update_collection
更新名称、描述、颜色或父级
delete_collection
删除集合及其内容
get_collection_items
列出卡片、仪表板和子集合
move_to_collection
将卡片或仪表板移动到不同集合
list_users
列出所有用户
create_user
创建新用户
list_permission_groups
列出所有权限组
create_permission_group
创建新权限组
search_content
搜索所有 Metabase 内容
get_schema_cache
返回缓存的模式(如果缺失或过期则自动获取)
refresh_schema_cache
强制刷新一个或所有数据库的缓存

安装接入

  1. 设置环境变量 METABASE_URL 和 METABASE_API_KEY(或使用用户名/密码)。
  2. 运行 npx @easecloudio/mcp-metabase-server
  3. 在客户端(如 Claude Desktop)中配置 MCP 服务器指向该命令。
claude_desktop_config.json
{
  "mcpServers": {
    "metabase": {
      "command": "npx",
      "args": [
        "@easecloudio/mcp-metabase-server"
      ],
      "env": {
        "METABASE_URL": "https://your-metabase-instance.com",
        "METABASE_API_KEY": "your_metabase_api_key"
      }
    }
  }
}

选型与风险

适合谁

  • 使用 Metabase 的组织希望在其 BI 平台上启用 AI 驱动的交互
  • 开发者希望构建基于 Metabase 数据的 AI 代理
  • 需要自动化 Metabase 管理与监控的场景

不适合谁

  • 非 Metabase 用户
  • 需要实时、低延迟数据查询的场景(此服务器通过 API 调用)
  • 希望避免维护 Metabase 实例的团队

所需权限

  • 需要 Metabase 实例的 API 密钥或用户名/密码
  • 工具可以读取和修改仪表板、卡片、数据库、集合和用户,具体取决于 API 令牌的权限
  • 模式缓存可能需要本地文件系统写入权限(~/.easecloud/metabase-mcp/)

风险与副作用

  • 如果 API 令牌权限过高,可能意外修改或删除 Metabase 资源
  • 使用写入工具时需谨慎,因为它们可能导致不可逆更改
  • 未加密的 API 密钥可能被泄露
  • 对 Metabase 实例的滥发请求可能导致速率限制或负载增加

常见排障

  1. 确保 METABASE_URL 可从运行服务器的机器访问
  2. 验证 API 密钥是否有效且具有足够的权限
  3. 检查 Metabase 版本是否为 v0.46 或更高版本,推荐 v0.48+
  4. 如果使用 Docker,确保环境变量已正确传递
  5. 使用 MCP Inspector 调试工具调用问题

使用场景

自动化 Metabase 中的仪表板、卡片和数据库管理
通过自然语言查询和操作 Metabase 数据
将 AI 助手集成到 BI 工作流中

支持客户端

Claude Desktop完整支持