View as Markdown

BigQuery Integration

Manage BigQuery list projects, list datasets, list tables, get table, query

The BigQuery integration provides access to manage BigQuery list projects, list datasets, list tables, get table, query through the Integrate MCP server.

Installation

The BigQuery integration is included with the SDK:

import { bigqueryIntegration } from "integrate-sdk/server";

Setup

1. Create a BigQuery OAuth App

  1. Create an OAuth application for BigQuery
  2. Configure your redirect URI
  3. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the BigQuery integration to your server configuration. The integration automatically reads BIGQUERY_CLIENT_ID and BIGQUERY_CLIENT_SECRET from your environment variables:

import { createMCPServer, bigqueryIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    bigqueryIntegration({
      scopes: ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

bigqueryIntegration({
  clientId: process.env.CUSTOM_BIGQUERY_ID,
  clientSecret: process.env.CUSTOM_BIGQUERY_SECRET,
      scopes: ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"], // Optional
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("bigquery");
const result = await client.bigquery.listProjects({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, bigqueryIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [bigqueryIntegration()],
});

Configuration Options

export interface BigqueryIntegrationConfig {
  clientId?: string;

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

Tools

bigquery_list_projects

List projects

export interface BigqueryListProjectsParams { "maxResults"?: number;

bigquery_list_datasets

List datasets

export interface BigqueryListDatasetsParams { project_id: string;

bigquery_list_tables

List tables

export interface BigqueryListTablesParams { project_id: string;

bigquery_get_table

Get table

export interface BigqueryGetTableParams { project_id: string;

bigquery_query

Query

export interface BigqueryQueryParams { project_id: string;

bigquery_list_jobs

List jobs

export interface BigqueryListJobsParams { project_id: string;

Notes

  • Category: Data & BI
  • Authentication mode: OAuth