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¶
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:
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
Install the MCP extension and add this to your VS Code settings (.vscode/settings.json
):
Configuration¶
For template-specific configuration options, see the main template documentation. Common configuration methods:
Troubleshooting¶
Common Issues¶
-
Template not found: Ensure the template name is correct
-
Connection issues: Check if the server is running
-
Tool discovery fails: Try refreshing the tool cache
Debug Mode¶
Enable debug logging for troubleshooting:
For more help, see the main documentation or open an issue in the repository.