使用说明
项目简介
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 信息,包括字段名称、类型、描述等。
安装步骤
- 安装 Go 环境: 确保您的开发环境中已安装 Go 语言环境 (版本 1.16 或更高)。您可以从 Go 官网 下载并安装。
- 克隆仓库: 使用 'git clone https://github.com/monochromegane/mcp-bigquery-server' 命令克隆该 GitHub 仓库到本地。
- 安装服务器: 在仓库根目录下,执行 '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 登录。
基本使用方法
- 启动 MCP BigQuery Server: MCP 客户端根据上述配置启动 MCP BigQuery Server。服务器启动后,将监听来自 MCP 客户端的请求。
- 客户端调用工具: LLM 客户端可以使用 MCP 协议调用服务器提供的工具,例如:
- 调用 'list_tables' 工具并指定 'dataset' 参数,可以获取指定数据集中的表列表。
- 调用 'get_table_schema' 工具并指定 'dataset' 和 'table' 参数,可以获取指定表的 Schema 信息。
- 服务器返回结果: MCP BigQuery Server 执行工具后,会将结果封装成 MCP 协议规定的 JSON-RPC 响应返回给 LLM 客户端。客户端可以解析响应并提取 BigQuery 数据信息,用于 LLM 的上下文增强或其他应用场景。
信息
分类
数据库与文件