Bigquery Mcp Server

Bigquery Mcp Server

🚀 BigQuery MCP 服务器

BigQuery MCP 服务器是一个专门为大型语言模型(LLMs)访问 Google BigQuery 而设计的数据服务器。它能助力用户高效执行各类操作,如 SQL 查询、数据集和表的管理等。下面将详细介绍该服务器的各项功能、安装步骤、配置方法以及使用示例。

✨ 主要特性

  • 查询工具:可执行 SQL 查询并返回结果。
  • 列出所有数据集工具:能返回指定项目中的全部数据集。
  • 列出所有表工具:依据指定的数据集 ID,返回该数据集下的所有表。
  • 获取表信息工具:根据指定的数据集和表格 ID,返回表的元数据以及可选的分区信息。
  • 预估查询工具:预估执行查询的成本,涵盖处理的字节数和估算的费用。

📦 安装指南

  1. 克隆仓库
    git clone https://github.com/your-repository.git
    cd bigquery-mcp-server
    
  2. 安装依赖 使用 npm 或 yarn 进行安装:
    npm install
    # 或者
    yarn install
    
  3. 构建项目
    npm run build
    # 或者
    yarn build
    
  4. 启动服务器 构建完成后,运行主文件以启动服务器:
    node dist/index.js
    

📚 详细文档

配置

环境变量

src/utils/args-parser.ts 中定义了以下环境变量:

  • BIGQUERY_PROJECT_ID:Google Cloud 项目 ID(必填)
  • BIGQUERY_KEY_FILE:服务账户密钥文件路径(可选)
  • BIGQUERY_LOCATION:BigQuery 地理位置(默认:asia - northeast1)

配置文件

可以在根目录下创建一个 .env 文件,内容如下:

BIGQUERY_PROJECT_ID=your_project_id
BIGQUERY_KEY_FILE=/path/to/service-account-key.json
BIGQUERY_LOCATION=asia-northeast1

错误处理

服务器提供详细的错误信息,包括:

  • 认证失败
  • 权限问题
  • 查询语法错误
  • 分区过滤器缺失
  • 数据处理量过大请求

代码结构

src/
├── index.ts              # 入口文件
├── server.ts             # BigQueryMcpServer 类
├── types.ts              # 类型定义
├── tools/                # 工具实现
│   ├── query.ts          # 查询工具
│   ├── list-datasets.ts  # 列出所有数据集工具
│   ├── list-tables.ts    # 列出所有表工具
│   ├── table-info.ts     # 获取表信息工具
│   └── dry-run.ts        # 预估查询工具
└── utils/                # 工具函数
├── args-parser.ts    # 命令行参数解析器
└── query-utils.ts    # 查询验证和响应格式化

💻 使用示例

基础用法

查询工具

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

列出所有数据集工具

// 无参数要求

列出所有表工具

{
"datasetId": "your_dataset"
}

获取表信息工具

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

预估查询工具

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

📄 许可证

MIT

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-24 14:03

相似服务问题