Metabase AI Assistant MCP 服务器

使用说明内容(Markdown格式)

  • 项目简介

    • 该仓库实现了一个 MCP 服务器,能够向 MCP 客户端暴露对 Metabase 的资源(数据库、表、仪表盘等)、工具(如 SQL 执行、问题/仪表板创建等)、以及提示模板的统一访问入口;并通过 JSON-RPC 规范与客户端进行请求/响应交互,支持会话管理、能力声明和多种传输协议。
  • 主要功能点

    • MCP 协议实现:包含初始化、工具列表查询、工具执行与错误处理等核心流程,支持常见的 MCP 请求格式(initialize、tools/list、tools/send 等类型)。
    • 资源与工具管理:托管 Metabase 资源(数据库、表、仪表板、问题等),注册并执行工具,提供数据访问与操作能力。
    • Prompt/模板支持:提供用于生成和渲染 Prompt 模板的能力,便于 LLM 进行定制化对话和任务执行。
    • 安全与审计:实现只读模式、操作审批、活动日志记录、环境变量校验等安全特性,确保在企业环境下的安全可控性。
    • 扩展性:模块化处理器和工具实现,具备对数据库(Postgres/MySQL)直连、代理连接、以及 Metabase API 的混合使用能力,便于扩展与集成。
  • 安装步骤

      1. 安装依赖并构建运行环境(Node.js 18+)。
      1. 以源码运行 MCP 服务器(从源码启动,直接执行 src/mcp/server.js)。
      1. 如需连续部署,可使用 ecosystem.config.js 配置运行实例(如 PM2),实现守护与日志管理。
      1. 根据实际 Metabase 部署,设置环境变量(如 METABASE_URL、METABASE_API_KEY/USERNAME/PASSWORD 等)来完成认证与资源访问。
  • 服务器配置(MCP 客户端配置示例) JSON 配置信息示例(供 MCP 客户端参考,实际使用请替换为真实值): { "serverName": "metabase-ai-assistant", "command": "npx", "args": ["-y", "metabase-ai-assistant"], "env": { "METABASE_URL": "https://your-metabase.example.com", "METABASE_API_KEY": "mb_your_api_key", "METABASE_USERNAME": "[email protected]", "METABASE_PASSWORD": "your_password" }, "notes": "MCP 客户端需要通过该配置启动对应 MCP 服务器进程,后续通过 MCP 协议进行请求/交互。METABASE_API_KEY 及 METABASE_URL 必须根据实际 Metabase 实例正确设置。若使用用户名/密码认证,请设置 METABASE_USERNAME 与 METABASE_PASSWORD。" }

  • 基本使用方法

    • 启动 MCP 服务器:在具备 Node.js 环境的机器上运行源码,或按配置通过进程管理工具启动。
    • 客户端交互:MCP 客户端通过 JSON-RPC 发送请求,如 initialize、tools/list、资源读取、SQL 执行等,服务器返回标准化的 JSON-RPC 响应或通知。
    • 会话与能力:服务器在会话中声明能力,并对不同请求提供相应的资源、工具调用和 Prompts 渲染能力。管理员可通过配置调整只读模式、变更权限、日志等参数。
    • 运行与测试:开发者可通过提供的 test/调试脚本模拟 initialize、tools/list、读取资源、执行工具等流程,验证 MCP 服务器端的实现是否符合规范。
  • 进一步信息

    • 项目未来可扩展性强,可根据实际业务需要对工具、资源类型、以及额外的 Prompt 模板进行扩展和定制化。

服务器信息