Skip to content

BigQuery MCP Server Usage Guide

Overview

This guide shows how to use the BigQuery MCP Server with different MCP clients and integration methods.

Tool Discovery

# Start interactive mode
mcp_platform interactive

# List available tools
mcpp> tools bigquery
# Discover tools using CLI
mcp_platform tools bigquery
from mcp_platform.client import MCPClient

async def discover_tools():
    client = MCPClient()
    tools = client.list_tools("bigquery")
    for tool in tools:
        print(f"Tool: {tool['name']} - {tool['description']}")

Available Tools

list_datasets

Description: List all accessible BigQuery datasets in the project

Parameters: - No parameters required

list_tables

Description: List tables in a specific dataset

Parameters: - dataset_id (string) (required): Dataset ID to list tables from

describe_table

Description: Get detailed schema information for a table

Parameters: - dataset_id (string) (required): Dataset ID containing the table - table_id (string) (required): Table ID to describe

execute_query

Description: Execute a SQL query against BigQuery (subject to read-only restrictions)

Parameters: - query (string) (required): SQL query to execute - dry_run (boolean) (optional): Validate query without executing (default: false)

get_job_status

Description: Get status of a BigQuery job

Parameters: - job_id (string) (required): BigQuery job ID to check

get_dataset_info

Description: Get detailed information about a dataset

Parameters: - dataset_id (string) (required): Dataset ID to get information for

Usage Examples

# Start interactive mode
mcp_platform interactive

# Deploy the template (if not already deployed)
mcpp> deploy bigquery

# List available tools after deployment
mcpp> tools bigquery

Then call tools:

mcpp> call bigquery list_datasets
mcpp> call bigquery list_tables '{"dataset_id": "example_value"}'
mcpp> call bigquery describe_table '{"dataset_id": "example_value", "table_id": "example_value"}'
# Deploy the template
mcp_platform deploy bigquery

# Check deployment status
mcp_platform status

# View logs
mcp_platform logs bigquery

# Stop the template
mcp_platform stop bigquery
import asyncio
from mcp_platform.client import MCPClient

async def use_bigquery():
    client = MCPClient()

    # Start the server
    deployment = client.start_server("bigquery", {})

    if deployment["success"]:
        deployment_id = deployment["deployment_id"]

        try:
            # Discover available tools
            tools = client.list_tools("bigquery")
            print(f"Available tools: {[t['name'] for t in tools]}")

            # Call list_datasets
            result = client.call_tool("bigquery", "list_datasets", {})
            print(f"list_datasets result: {result}")

            # Call list_tables
            result = client.call_tool("bigquery", "list_tables", {'dataset_id': 'example_value'})
            print(f"list_tables result: {result}")

        finally:
            # Clean up
            client.stop_server(deployment_id)
    else:
        print("Failed to start server")

# Run the example
asyncio.run(use_bigquery())

Integration Examples

Add this configuration to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "bigquery": {
      "command": "python",
      "args": ["-m", "mcp_platform", "connect", "bigquery", "--stdio"],
      "env": {
        "LOG_LEVEL": "info"
      }
    }
  }
}

Install the MCP extension and add this to your VS Code settings (.vscode/settings.json):

{
  "mcp.servers": {
    "bigquery": {
      "command": "python",
      "args": ["-m", "mcp_platform", "connect", "bigquery", "--stdio"],
      "env": {
        "LOG_LEVEL": "info"
      }
    }
  }
}
# Get connection details for other integrations
mcp_platform connect bigquery --llm claude
mcp_platform connect bigquery --llm vscode

Configuration

For template-specific configuration options, see the main template documentation. Common configuration methods:

# Deploy with environment variables
mcp_platform deploy bigquery --env KEY=VALUE
# Deploy with configuration
mcp_platform deploy bigquery --config key=value

# Deploy with nested configuration
mcp_platform deploy bigquery --config category__property=value
# Deploy with config file
mcp_platform deploy bigquery --config-file config.json

Troubleshooting

Common Issues

  1. Template not found: Ensure the template name is correct

    mcp_platform list  # List available templates
    

  2. Connection issues: Check if the server is running

    mcp_platform status
    

  3. Tool discovery fails: Try refreshing the tool cache

    mcpp> tools bigquery --refresh
    

Debug Mode

Enable debug logging for troubleshooting:

# Interactive CLI with debug
LOG_LEVEL=debug mcp_platform interactive
# Deploy with debug logging
mcp_platform deploy bigquery --config log_level=debug

For more help, see the main documentation or open an issue in the repository.