使用说明

项目简介

MCP BigQuery Server 是一个 MCP(Model Context Protocol)服务器,旨在为 LLM(大型语言模型)应用提供访问 Google BigQuery 数据仓库的能力。它允许 LLM 客户端通过标准化的 MCP 协议,调用预定义的工具来查询 BigQuery 中的数据集和表的结构信息,从而为 LLM 提供丰富的上下文数据。

主要功能点

  • 列出数据集中的表 (list_tables): 允许 LLM 获取指定 BigQuery 数据集中所有表的列表。
  • 获取表的Schema信息 (get_table_schema): 允许 LLM 获取指定 BigQuery 数据集中特定表的详细 Schema 信息,包括字段名称、类型、描述等。

安装步骤

  1. 安装 Go 环境: 确保您的开发环境中已安装 Go 语言环境 (版本 1.16 或更高)。您可以从 Go 官网 下载并安装。
  2. 克隆仓库: 使用 'git clone https://github.com/monochromegane/mcp-bigquery-server' 命令克隆该 GitHub 仓库到本地。
  3. 安装服务器: 在仓库根目录下,执行 'go install ./cmd/mcp-bigquery-server' 命令编译并安装服务器程序。安装成功后,'mcp-bigquery-server' 可执行文件将被放置在 '$GOPATH/bin' 或 '$HOME/go/bin' 目录下(取决于您的 Go 环境配置)。

服务器配置

MCP 客户端需要配置以下 JSON 格式信息才能连接到 MCP BigQuery Server。请根据您的实际 BigQuery 项目配置进行修改。

{
  "server name": "bigquery-server",
  "command": "mcp-bigquery-server",
  "args": [
    "start",
    "--project", "<您的 Google Cloud Project ID>",  //  替换为您的 Google Cloud 项目 ID
    "--location", "asia-northeast1",             //  BigQuery 数据集所在区域,默认为 asia-northeast1,可根据实际情况修改
    "--dataset", "<允许访问的 BigQuery 数据集名称1>",  //  替换为允许 LLM 客户端访问的 BigQuery 数据集名称,可以配置多个
    "--dataset", "<允许访问的 BigQuery 数据集名称2>"   //  如果需要,可以添加更多允许访问的数据集
    // 可以添加更多 dataset 参数来允许访问更多数据集
  ]
}

配置参数说明:

  • 'server name': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
  • 'command': 启动 MCP BigQuery Server 的命令,这里是 'mcp-bigquery-server' (假设 'mcp-bigquery-server' 可执行文件已在您的 PATH 环境变量中,否则需要使用完整路径)。
  • 'args': 传递给 'mcp-bigquery-server' 命令的参数列表,用于配置服务器的行为:
    • 'start': 指定运行 'start' 命令来启动服务器。
    • '--project': 必填,您的 Google Cloud Platform 项目 ID。MCP BigQuery Server 将使用此项目 ID 连接到 BigQuery。
    • '--location': 可选,BigQuery 数据集所在的地理位置,默认为 'asia-northeast1'。如果您的数据集在其他区域,请修改此参数。
    • '--dataset': 必填,允许 LLM 客户端访问的 BigQuery 数据集名称。可以指定多个 '--dataset' 参数来允许访问多个数据集。请根据实际需要配置允许访问的数据集,以控制数据访问权限。

注意: 您需要确保运行 MCP BigQuery Server 的环境具有访问 Google Cloud BigQuery 的权限。通常需要配置 Google Cloud 凭据,例如设置 'GOOGLE_APPLICATION_CREDENTIALS' 环境变量或使用 gcloud CLI 登录。

基本使用方法

  1. 启动 MCP BigQuery Server: MCP 客户端根据上述配置启动 MCP BigQuery Server。服务器启动后,将监听来自 MCP 客户端的请求。
  2. 客户端调用工具: LLM 客户端可以使用 MCP 协议调用服务器提供的工具,例如:
    • 调用 'list_tables' 工具并指定 'dataset' 参数,可以获取指定数据集中的表列表。
    • 调用 'get_table_schema' 工具并指定 'dataset' 和 'table' 参数,可以获取指定表的 Schema 信息。
  3. 服务器返回结果: MCP BigQuery Server 执行工具后,会将结果封装成 MCP 协议规定的 JSON-RPC 响应返回给 LLM 客户端。客户端可以解析响应并提取 BigQuery 数据信息,用于 LLM 的上下文增强或其他应用场景。

信息

分类

数据库与文件