Connect your AI Agents to Google BigQuery in minutes

Available tools
list_datasets
List datasets in a BigQuery project. Returns dataset IDs, descriptions, and locations. Use list_projects first to get available project IDs.
get_dataset
Get detailed information about a specific BigQuery dataset including description, location, labels, and access controls. Use list_datasets to find available dataset IDs.
create_dataset
Create a new dataset in a BigQuery project. Specify location (US, EU, etc.) at creation time — it cannot be changed later. Use list_projects to find available project IDs.
update_dataset
Update a BigQuery dataset's description, friendly name, labels, or default table expiration. Location cannot be changed. Use list_datasets to find available dataset IDs.
delete_dataset
Delete a BigQuery dataset. Set delete_contents=true to delete all tables in the dataset. Without it, the dataset must be empty. Use list_datasets to find available dataset IDs.
list_jobs
List BigQuery jobs in a project. Filter by state (done, pending, running) and projection level. Returns job IDs, types, status, and statistics.
get_job
Get detailed information about a specific BigQuery job including status, configuration, and statistics. Use list_jobs to find job IDs, or use the job_id from a run_query response.
cancel_job
Cancel a running BigQuery job. The job may still complete if it finishes before the cancellation takes effect. Use list_jobs with state_filter='running' to find cancellable jobs.
list_projects
List all BigQuery projects accessible to the authenticated user. Returns project IDs, names, and numeric IDs. Use this to discover available projects before querying datasets or tables.
run_query
Execute a SQL query in BigQuery and return results. Supports GoogleSQL (default) and legacy SQL. If the query doesn't complete within timeout, use get_query_results with the returned job_id to poll for results.
get_query_results
Get results from a previously executed query using its job ID. Use this to poll for long-running query completion or to paginate through large result sets. The job_id comes from a previous run_query response.
list_tables
List tables in a BigQuery dataset. Returns table IDs, types, and creation times. Use list_datasets first to get available dataset IDs.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Google BigQuery MCP server
FAQs on using Merge's Google BigQuery MCP server
Explore other MCP servers built and managed by Merge






























Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now
