Integration · Company data
Connect Claude & ChatGPT to Google BigQuery
Ask your AI a question about your data and let it write and run the SQL in BigQuery. It can list your projects, datasets and tables, read a table's schema before it queries, preview rows and follow up on long-running jobs. It can also create datasets and tables, stream in rows and update descriptions and labels, if you switch those tools on.
Free plan, no credit card. Takes about a minute.
Try asking
“Which tables are in the sales dataset, and what columns does orders have?”
The AI lists the tables and views in the dataset, then reads the orders table's schema, row count and size.
“How much revenue did we book per month this year?”
It checks the table schema, writes a GoogleSQL query with a monthly total and runs it in your project.
“How much data would that query scan before I run it?”
It runs the query as a dry run, which estimates the bytes scanned without running it.
What your AI can do
Queries and results
Run SQL queries with a dry run or a cap on bytes billed, fetch results page by page and read or cancel jobs.
Datasets and tables
Browse projects, datasets, tables, views and saved routines, read schemas and preview rows.
Create and update
Create datasets and tables, stream in rows, update descriptions, labels and columns, and delete tables.
“Show me the first 20 rows of the events table.”
It reads rows straight from the table without running a query.
“Did last night's query jobs fail?”
It lists recent jobs in the project filtered by state and reads the status and errors of the one you pick.
“Create a table called leads in the marketing dataset with name, email and created_at.”
It creates an empty table with that column schema. Rows can then be streamed in with insert_rows.
45 tools for Google BigQuery
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
cancel_jobDeletesAsk BigQuery to cancel a running job by `projects_id` and `jobs_id`. Work it already did is not undone.create_datasetChanges dataCreate a new empty dataset in project `projects_id`. Set the dataset ID in `dataset_reference`, plus `location` and `description`.create_dataset_routineChanges dataCreate a new routine for a dataset. Search routines first to avoid duplicates. API summary: Creates a new routine in the dataset.create_projectChanges dataCreate a new project for a project. Search projects first to avoid duplicates. API summary: Starts a new asynchronous job.create_tableChanges dataCreate a new empty table in a dataset by `projects_id` and `datasets_id`. Put the table ID in `body.tableReference` and the columns in `body.schema`.create_table_row_access_policies_batch_deleteVisible to othersCreate a new row access policies batch delete for a table. Has effects visible outside this system. API summary: Deletes provided row access policies.create_table_row_access_policyChanges dataCreate a new row access policy for a table. Search row access policies first to avoid duplicates. API summary: Creates a row access policy.create_test_iam_permissionDeletesCreate a new test iam permission. Destructive action; may require approval. API summary: Returns permissions that a caller has on the specified resource.create_test_iam_permission_bigquery_row_access_policies_test_iamDeletesCreate a new test iam permission. Destructive action; may require approval. API summary: Returns permissions that a caller has on the specified resource.create_test_iam_permission_bigquery_tables_test_iam_permissionsDeletesCreate a new test iam permission. Destructive action; may require approval. API summary: Returns permissions that a caller has on the specified resource.create_undeleteChanges dataCreate a new undelete. API summary: Undeletes a dataset which is within time travel window based on datasetId.delete_dataset_modelDeletesPermanently delete a model by models id. Destructive action; may require approval. API summary: Deletes the model specified by modelId from the dataset.delete_dataset_routineDeletesPermanently delete a routine by routines id. Destructive action; may require approval. API summary: Deletes the routine specified by routineId from the dataset.delete_job_deletesMoves moneyPermanently delete a delete by jobs id. Financial or irreversible action; may require approval. API summary: Requests the deletion of the metadata of a job.delete_project_datasetDeletesPermanently delete a dataset by datasets id. Destructive action; may require approval. API summary: Deletes the dataset specified by the datasetId value.delete_tableDeletesPermanently delete a table and all its data by `projects_id`, `datasets_id` and `tables_id`. This cannot be undone once the time-travel window passes.delete_table_row_access_policyDeletesPermanently delete a row access policy by row access policies id. Destructive action; may require approval. API summary: Deletes a row access policy.get_datasetGet one dataset's details by `projects_id` and `datasets_id`, including location, description, labels and access settings.get_dataset_modelGet one model for a dataset by models id. API summary: Gets the specified model resource by model ID.get_jobGet one job's status, statistics and any errors by `projects_id` and `jobs_id`.get_query_resultsGet the results of a query job by `projects_id` and `queries_id` (the job ID from run_query), page by page. Use when run_query returned before the query finished.get_routineGet one routine's definition and arguments by `projects_id`, `datasets_id` and `routines_id`.get_routine_iam_policyChanges dataGet one routine by routines id. API summary: Gets the access control policy for a resource.get_row_access_policy_iam_policyChanges dataGet one row access policy by row access policies id. API summary: Gets the access control policy for a resource.get_tableGet one table's details by `projects_id`, `datasets_id` and `tables_id`, including its column schema, row count and size. Check this before writing a query.get_table_iam_policyChanges dataGet one table by tables id. API summary: Gets the access control policy for a resource.get_table_row_access_policyGet one row access policy for a table by row access policies id. API summary: Gets the specified row access policy by policy ID.insert_rowsChanges dataStream new rows into a table by `projects_id`, `datasets_id` and `tables_id`; pass `rows` as a list of objects with a `json` field holding each row.list_datasetsList the datasets in a project (`projects_id`). Use `filter` to narrow by label and `all` to include hidden datasets.list_jobsList recent BigQuery jobs (queries, loads, exports) in project `projects_id`, filtered by `state_filter` or creation time.list_routinesList the saved routines (user-defined functions and stored procedures) in a dataset by `projects_id` and `datasets_id`.list_tablesList the tables and views in a dataset by `projects_id` and `datasets_id`.preview_table_rowsRead rows straight from a table by `projects_id`, `datasets_id` and `tables_id`, optionally only `selected_fields` and from `start_index`. Free and fast for a quick look; use run_query to filter or aggregate.run_queryChanges dataRun a SQL `query` (GoogleSQL by default) in project `projects_id` and return the results if it finishes within `timeout_ms`. Queries are billed by bytes scanned; set `dry_run` to estimate cost first, or `maximum_bytes_billed` to cap it. Statements like INSERT, UPDATE, DELETE or DROP change data permanently.search_dataset_modelsSearch models for a dataset. Use this to find existing models before creating a new model. Results are paginated. API summary: Lists all models in the specified dataset.search_project_accountsSearch accounts for a project. Use this to find existing accounts before creating a new account. API summary: RPC to get the service account for a project used for interactions with Google Cloud KMS.search_projects_bigquery_jobs_listSearch projects for a project by min creation time, state filter, all users, max creation time, parent job id or projection. Use this to find existing projects before creating a new project. Results are paginated. API summary: Lists all jobs that you started in the specified project.search_table_row_access_policiesSearch row access policies for a table. Use this to find existing row access policies before creating a new row access policy. Results are paginated. API summary: Lists all row access policies on the specified table.update_datasetChanges dataUpdate a dataset's description, labels, friendly name or default expiration by `projects_id` and `datasets_id`. Only the fields you pass change.update_dataset_modelChanges dataUpdate an existing model identified by models id. Only the fields you pass are changed. API summary: Patch specific fields in the specified model.update_dataset_routineChanges dataUpdate an existing routine identified by routines id. API summary: Updates information in an existing routine.update_routines_iam_policyChanges dataUpdate an existing routine identified by routines id. API summary: Sets the access control policy on the specified resource.update_tableChanges dataUpdate a table's description, labels, expiration or add columns by `projects_id`, `datasets_id` and `tables_id`. Only the fields you pass in `body` change.update_table_row_access_policyChanges dataUpdate an existing row access policy identified by row access policies id. API summary: Updates a row access policy.update_tables_iam_policyChanges dataUpdate an existing table identified by tables id. API summary: Sets the access control policy on the specified resource.
Set up in three steps
- 1
Pick the app
Create a free HeyMyApps account and choose Google BigQuery from the app list.
- 2
Paste your key
Paste the OAuth client ID and client secret from your own Google Cloud project, plus the ID of the project that holds your data, then sign in with Google once. In the Google Cloud console create or pick a project and enable the BigQuery API. Set up the OAuth consent screen, then go to Credentials > Create credentials > OAuth client ID, choose Web application and add the redirect URI https://heymyapps.com/oauth/callback.
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in Google BigQuery?
It can list projects, datasets, tables, routines and jobs, read table schemas, preview rows and run SQL queries. It can create datasets and tables, stream in rows, update tables and datasets, cancel jobs and delete tables, if you switch those tools on.
Does the AI see my Google BigQuery credentials?
No. Your Google BigQuery credentials are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start with browsing and previews. A SQL statement like DELETE or DROP changes data permanently, and deleting a table removes it and its data, so those actions can require your approval before they run. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
Google BigQuery connects with OAuth, and this OAuth connection needs the HeyMyApps Pro plan. HeyMyApps also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own Google BigQuery account.
Will the AI's queries add to my BigQuery bill?
Queries run in your own Google Cloud project, and BigQuery bills them by bytes scanned. The AI can do a dry run to estimate the bytes first, or set a maximum bytes billed so a query stops instead of scanning more. Previewing table rows reads straight from the table without running a query.
Related integrations
Let your AI work in Google BigQuery today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect Google BigQuery freeHeyMyApps is not affiliated with Google BigQuery. Product names are trademarks of their owners.






