使用说明

项目简介

Metabase MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在将 AI 助手与 Metabase 分析平台无缝集成。它充当连接 LLM 与 Metabase 数据的桥梁,使 AI 助手能够直接访问、查询和操作 Metabase 中的仪表板、问题(卡片)和数据库等资源,从而增强 AI 在数据分析和决策支持方面的能力。

主要功能点

  • 资源访问: 支持通过 'metabase://' URI 访问 Metabase 中的各类资源,如仪表板、问题卡片、数据库和集合(Collection),方便LLM获取结构化数据信息。
  • 数据分析工具: 内置丰富的工具集,包括数据查询、SQL 执行、仪表板和卡片管理等功能,使 AI 助手能够执行复杂的数据分析和操作任务,例如:
    • 获取仪表板、问题、数据库和集合列表
    • 执行已保存的问题(卡片)并获取结果
    • 执行自定义 SQL 查询
    • 获取仪表板的卡片列表
    • 创建、更新和删除仪表板
    • 创建和更新问题卡片
    • 创建集合
  • 两种认证方式: 支持 API 密钥和用户名密码两种 Metabase 认证方式,用户可根据安全需求灵活选择。推荐生产环境使用 API 密钥认证。
  • 结构化数据: 所有数据交互均采用 JSON 格式,方便 AI 助手高效解析和利用 Metabase 返回的结构化数据。
  • 详细日志: 提供详尽的日志记录,帮助用户监控服务器运行状态,快速定位和解决问题。

安装步骤

  1. Fork 仓库: 点击 https://github.com/cheukyin175/metabase-mcp 仓库页面右上角的 "Fork" 按钮,将仓库克隆到自己的 GitHub 账户下。
  2. 部署服务器: 推荐使用 Smithery 进行快速部署。访问 Smithery 官网,使用 GitHub 账户登录,并按照 Smithery 的指引部署您 Fork 后的 'metabase-mcp' 仓库。您也可以选择其他 Node.js 云平台或本地服务器进行部署。
  3. 配置 Metabase 连接信息: 在服务器的运行环境中配置以下环境变量,用于连接您的 Metabase 实例:
    • API 密钥认证 (推荐):
      • 'METABASE_URL': 您的 Metabase 实例 URL,例如 'https://your-metabase-instance.com'
      • 'METABASE_API_KEY': 您的 Metabase API 密钥
    • 用户名密码认证:
      • 'METABASE_URL': 您的 Metabase 实例 URL,例如 'https://your-metabase-instance.com'
      • 'METABASE_USER_EMAIL': 您的 Metabase 用户邮箱
      • 'METABASE_PASSWORD': 您的 Metabase 用户密码

服务器配置 (MCP 客户端)

要将此 MCP 服务器配置到您的 MCP 客户端(例如 Claude),您需要提供服务器的启动命令和参数。以下是配置示例 (JSON 格式):

{
  "mcpServers": {
    "metabase-mcp": {  // 服务器名称,您可以自定义
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "YOUR_GITHUB_USERNAME/metabase-mcp-server", // 替换为您的 GitHub 用户名和仓库名
        "--config",
        "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"YOUR_METABASE_API_KEY\"}" // 替换为您的 Metabase URL 和 API 密钥
      ]
    }
  }
}

参数注释:

  • '"metabase-mcp"': 服务器名称,在 MCP 客户端中用于标识此服务器连接,您可以自定义名称。
  • '"YOUR_GITHUB_USERNAME/metabase-mcp-server"': 请替换为您的 GitHub 用户名以及您 Fork 后的 'metabase-mcp' 仓库名称。
  • '"https://your-metabase-instance.com"': 请替换为您的 Metabase 实例的完整 URL 地址。
  • '"YOUR_METABASE_API_KEY"': 请替换为您在 Metabase 中生成的 API 密钥。如果您选择用户名密码认证,请将 'args' 参数中的 'config' 部分修改为:'"{"metabaseUrl":"https://your-metabase-instance.com","metabaseUserEmail":"YOUR_METABASE_EMAIL","metabasePassword":"YOUR_METABASE_PASSWORD"}"',并替换相应的邮箱和密码。

基本使用方法

配置完成后,您的 MCP 客户端即可与 Metabase MCP Server 建立连接。您可以通过客户端发送 MCP 请求来调用服务器提供的资源和工具,例如:

  • 列出 Metabase 仪表板: 通过客户端发送 'tools/list' 请求,并指定工具名称为 'list_dashboards',服务器将返回 JSON 格式的仪表板列表。
  • 执行 SQL 查询: 通过客户端发送 'tools/call' 请求,指定工具名称为 'execute_query',并在请求参数中提供数据库 ID 和 SQL 查询语句,服务器将执行查询并返回结果数据。
  • 获取仪表板详情: 通过客户端发送 'resources/read' 请求,并指定资源 URI 为 'metabase://dashboard/{dashboard_id}' (将 '{dashboard_id}' 替换为实际的仪表板 ID),服务器将返回指定仪表板的详细信息。

请参考仓库中的 'README.md' 文件和代码注释,了解更多工具和资源的使用方法。

信息

分类

商业系统