Token导航 LogoToken导航TokenDH.com
BigQuery MCP logo
数据服务stdio官方级别未说明来源级核验

BigQuery MCP

MCP Server

BigQuery MCP服务器是一个用于访问Google BigQuery的模型上下文协议服务器,使大型语言模型能够理解BigQuery数据集结构并执行SQL查询。

工具数

5

提示词数

0

GitHub Stars

5

资源数

0
数据分析LLM工具TypeScript数据管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

takuya0206

提供方

takuya0206

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -it --rm \

详细介绍

BigQuery MCP服务器

用于访问Google BigQuery的模型上下文协议(MCP)服务器。此服务器使大型语言模型(LLM)能够理解BigQuery数据集结构并执行SQL查询。

特性

身份验证和连接管理

  • 支持应用程序默认凭据(ADC)或服务帐户密钥文件
  • 可配置的项目ID和位置设置
  • 启动时的身份验证

工具

  1. 怎么翻译

- 执行只读(SELECT)BigQuery SQL查询 - 可配置的最大结果和计费字节数 - 防止非SELECT查询的安全检查

  1. list_all_datasets

- 列出项目中的所有数据集 - 返回数据集ID数组

  1. list_all_tables_with_dataset

- 列出特定数据集中的所有表及其模式 - 需要datasetId参数 - 返回表ID、模式、时间分区信息和描述

  1. 获取表格信息

- 获取表模式和示例数据(最多20行) - 支持带有分区过滤器的分区表 - 对没有筛选器的分区表进行查询的警告

  1. dry_run_query

- 检查查询有效性并在不执行的情况下估算成本 - 返回处理规模和估计成本

安全功能

  • 只允许SELECT查询(只读访问)
  • 查询处理的默认限制为500GB,以防止成本过高
  • 分区表的分区筛选器建议
  • 安全处理身份验证凭据

安装

本地安装

# Clone the repository
git clone https://github.com/yourusername/bigquery-mcp-server.git
cd bigquery-mcp-server

# Install dependencies
bun install

# Build the server
bun run build

# Install command to your own path.
cp dist/bigquery-mcp-server /path/to/your_place

Docker安装

你也可以在Docker容器中运行服务器:

# Build the Docker image
docker build -t bigquery-mcp-server .

# Run the container
docker run -it --rm \
  bigquery-mcp-server \
  --project-id=your-project-id

或者使用Docker Compose:

# Edit docker-compose.yml to set your project ID and other options
# Then run:
docker-compose up

MCP配置

要将此服务器与启用了MCP的LLM一起使用,请将其添加到MCP配置中:

{
  "mcpServers": {
    "BigQuery": {
      "command": "/path/to/dist/bigquery-mcp-server",
      "args": [
        "--project-id",
        "your-project-id",
        "--location",
        "asia-northeast1",
        "--max-results",
        "1000",
        "--max-bytes-billed",
        "500000000000"
      ],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/service-account-key.json"
      }
    }
  }
}

您还可以使用应用程序默认凭据,而不是服务帐户密钥文件:

{
  "mcpServers": {
    "BigQuery": {
      "command": "/path/to/dist/bigquery-mcp-server",
      "args": [
        "--project-id",
        "your-project-id",
        "--location",
        "asia-northeast1",
        "--max-results",
        "1000",
        "--max-bytes-billed",
        "500000000000"
      ]
    }
  }
}

设置应用程序默认凭据

要使用应用程序默认凭据进行身份验证,请执行以下操作:

  1. 如果您还没有安装Google Cloud SDK,请安装:
   # For macOS
   brew install --cask google-cloud-sdk

   # For other platforms, see: https://cloud.google.com/sdk/docs/install
  1. 运行身份验证命令:
   gcloud auth application-default login
  1. 按照提示使用有权访问BigQuery项目的Google帐户登录。
  1. 凭据将保存到您的本地计算机,并由BigQuery MCP服务器自动使用。

测试

您可以使用 检查员 用于测试和调试。

npx @modelcontextprotocol/inspector dist/bigquery-mcp-server --project-id={{your_own_project}}

用法

使用辅助脚本

包括 run-server.sh 脚本使使用常见配置启动服务器变得容易:

# Make the script executable
chmod +x run-server.sh

# Run with Application Default Credentials
./run-server.sh --project-id=your-project-id

# Run with a service account key file
./run-server.sh \
  --project-id=your-project-id \
  --location=asia-northeast1 \
  --key-file=/path/to/service-account-key.json \
  --max-results=1000 \
  --max-bytes-billed=500000000000

手动执行

您也可以直接运行编译后的二进制文件:

# Run with Application Default Credentials
./dist/bigquery-mcp-server --project-id=your-project-id

# Run with a service account key file
./dist/bigquery-mcp-server \
  --project-id=your-project-id \
  --location=asia-northeast1 \
  --key-file=/path/to/service-account-key.json \
  --max-results=1000 \
  --max-bytes-billed=500000000000

客户端示例

示例Node.js客户端包含在 examples 目录:

# Make the example executable
chmod +x examples/sample-query.js

# Edit the example to set your project ID
# Then run it
cd examples
./sample-query.js

命令行选项

  • --project-id:谷歌云项目ID(必填)
  • --location:BigQuery位置(默认值:asia-northeast1)
  • --key-file:服务帐户密钥文件的路径(可选)
  • --max-results:要返回的最大行数(默认值:1000)
  • --max-bytes-billed:要处理的最大字节数(默认值:500000000000,500GB)

必需的权限

服务帐户或用户凭据应具有以下之一:

  • roles/bigquery.user (推荐)

或者两者都有:

  • roles/bigquery.dataViewer (用于读取表格数据)
  • roles/bigquery.jobUser (用于执行查询)

示例用法

查询工具

{
  "query": "SELECT * FROM `project.dataset.table` LIMIT 10",
  "maxResults": 100
}

列出所有数据集工具

// No parameters required

使用数据集工具列出所有表

{
  "datasetId": "your_dataset"
}

获取表格信息工具

{
  "datasetId": "your_dataset",
  "tableId": "your_table",
  "partition": "20250101"
}

模拟运行查询工具

{
  "query": "SELECT * FROM `project.dataset.table` WHERE date = '2025-01-01'"
}

错误处理

服务器为以下对象提供详细的错误消息:

  • 身份验证失败
  • 权限问题
  • 无效查询
  • 缺少分区筛选器
  • 数据处理请求过多

编码结构

服务器组织成以下结构:

src/
├── index.ts              # Entry point
├── server.ts             # BigQueryMcpServer class
├── types.ts              # Type definitions
├── tools/                # Tool implementations
│   ├── query.ts          # query tool
│   ├── list-datasets.ts  # list_all_datasets tool
│   ├── list-tables.ts    # list_all_tables_with_dataset tool
│   ├── table-info.ts     # get_table_information tool
│   └── dry-run.ts        # dry_run_query tool
└── utils/                # Utility functions
    ├── args-parser.ts    # Command line argument parser
    └── query-utils.ts    # Query validation and response formatting

许可证

麻省理工学院

目录标签

目录标签

数据分析LLM工具TypeScript数据管理数据库访问本地部署SQL查询BigQuery集成

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Docker

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP