Skip to main content
Glama
669,041 tools. Updated 2026-10-17 09:04

"Google BigQuery" matching MCP tools:

  • Create a new virtual dimension draft without publishing. `virtualDimensionId` in inputs equals `id` from list/get/search. Call get_skill with skillId: "virtual-dimensions" first — see skill for allocation shapes, CEL rules, and full workflow. For a new `telemetry` allocation, discover a live integration metric via list_metrics with includeExternal: true and a specific search term, then persist inline `externalMetric` { provider, integrationId, metricName, aggregator, groupByFields }. For BigQuery/S3, also set dateColumn and metricColumn from the returned `schema` (first DATE / first NUMERIC) and gapFillingMethod (default FORWARD_FILL). Catalog-complete providers (Tsuga, Datadog, CloudWatch, Amplitude, Google Cloud Monitoring) do not need those fields. Do not set `datasource` on new reallocations. `bqName` (BigQuery/CEL query field, e.g. Environment → virtual_environment) is set once from `name` at create and is immutable. Ordered `rules` use `conditionCel` + `allocation` — do not send rule `id` (generated on save) or `values` (derived). Do not include catch-all/leftover in `rules` — `leftoverRule` is auto-added. Rejects invalid payloads — nothing persisted unless validation passes. On success: `virtualDimensionId`, `bqName`, `name`, `description`, `tags`, `values`, rules with generated ids, `leftoverRule`, `draftValidation: { ok: true }`, `draftPersisted: true`. Use preview_virtual_dimension_draft next. Use returned `bqName` for groupBy/filterCel in query after publish. Does not publish or refresh BigQuery. Clerk MCP only. EXAMPLE: "Draft an Environment VDIM with a prod rule" → { name: "Environment", tagNames: ["finops"], rules: [{ name: "Production", conditionCel: "cos_environment in [\"prod\"]", allocation: { allocationType: "dimensionValue", dimensionValue: "prod" } }] }
    ConnectorOAuth
  • Run a read-only query against one of this organisation's connected databases — PostgreSQL, MySQL, SQL Server, Redshift, Snowflake, Oracle, BigQuery or Google Sheets — in that connection's own SQL dialect, and return rows. One SELECT, WITH, EXPLAIN or SHOW statement; a statement that could change data is refused. It returns at most 500 rows and about 100 KB: a larger result comes back cut, with truncated: true and totalRows, so prefer a LIMIT or an aggregate. Where a question involves a business number (revenue, churn, active users…), fastero_get_definitions holds this organisation's own expression for it.
    ConnectorAPI key
  • List BigQuery dataset IDs and BigLake namespaces in a Google Cloud project. Supports pagination. Use `page_size` to limit results and `page_token` to retrieve next page.
    ConnectorNo auth
  • Run a SQL query in the project and return the result. Prefer the `execute_sql_readonly` tool if possible. This tool can execute any query that bigquery supports including: * SQL Queries (`SELECT`, `INSERT`, `UPDATE`, `DELETE`, `CREATE`, etc.) * AI/ML functions like `AI.FORECAST`, `AI.KEY_DRIVERS`, `ML.EVALUATE`, `ML.PREDICT` * Any other query that bigquery supports. Example Queries: ```sql -- Insert data into a table. INSERT INTO `my_project.my_dataset`.my_table (name, age) VALUES ('Alice', 30); -- Create a table. CREATE TABLE `my_project.my_dataset`.my_table ( name STRING, age INT64); -- DELETE data from a table. DELETE FROM `my_project.my_dataset`.my_table WHERE name = 'Alice'; -- Create Dataset CREATE SCHEMA `my_project.my_dataset` OPTIONS (location = 'US'); -- Drop table DROP TABLE `my_project.my_dataset`.my_table; -- Drop dataset DROP SCHEMA `my_project.my_dataset`; -- Create Model CREATE OR REPLACE MODEL `my_project.my_dataset.my_model` OPTIONS ( model_type = 'LINEAR_REG' LS_INIT_LEARN_RATE=0.15, L1_REG=1, MAX_ITERATIONS=5, DATA_SPLIT_METHOD='SEQ', DATA_SPLIT_EVAL_FRACTION=0.3, DATA_SPLIT_COL='timestamp') AS SELECT col1, col2, timestamp, label FROM `my_project.my_dataset.my_table`; ``` Queries executed using the `execute_sql` tool will always have the default job label `goog-mcp-server: true` automatically set in addition to any custom `labels` provided in the request. Queries are charged to the project specified in the `project_id` field. Query Execution Behavior: * If the query completes within the synchronous timeout (default 20 seconds or custom `timeout_ms`), the tool returns `job_complete: true` and the initial result rows directly. For fast queries, `job_id` may be omitted as no persistent background job is created; no further action or polling is needed. * If the query takes longer than `timeout_ms`, the tool returns `job_complete: false` and a `job_id`. In this case, use the `get_query_results` tool with `job_id` to poll until `job_complete: true`, or use `cancel_job` to abort the running query. * You can optionally specify `timeout_ms` to configure the maximum synchronous wait time in milliseconds (defaults to 20,000 ms), and `job_timeout_ms` to enforce a hard server-side timeout after which BigQuery automatically terminates the job.
    Connector
    Destructive
    No auth
  • List stored objects that reference a label dimension column (dashboards, reports, alerts, events, virtual dimensions, budgets) before rename or delete. Pass id (from list_label_dimensions) and/or name; id wins when both are set. Native cos_* names work with name alone. Hits are JSON/CEL scans of groupBy, filterCel, conditionsCel, and conditionCel — not live BigQuery. Empty usages is success (safe to delete from a reference point of view). Capped at 100 hits (truncated: true when more). EXAMPLE: "Where is environment used?" → { id: "label_…" }
    ConnectorOAuth
  • Run a read-only SQL query in the project and return the result. Prefer this tool over `execute_sql` if possible. This tool is restricted to only `SELECT` statements. `INSERT`, `UPDATE`, and `DELETE` statements and stored procedures aren't allowed. If the query doesn't include a `SELECT` statement, an error is returned. For information on creating queries, see the [GoogleSQL documentation](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax). IMPORTANT: For predictive and analytical tasks (forecasting, anomaly detection, key driver / root cause analysis, classification, churn prediction, or text generation), ALWAYS execute computation in-warehouse using BigQuery native AI/ML functions (`AI.FORECAST`, `AI.DETECT_ANOMALIES`, `AI.KEY_DRIVERS`, `AI.CLASSIFY`, `AI.GENERATE`) rather than exporting raw rows to a local Python sandbox. In-warehouse execution scales to billions of rows, preserves governance, and eliminates data egress latency. Example Queries: ```sql -- Count the number of penguins in each island. SELECT island, COUNT(*) AS population FROM bigquery-public-data.ml_datasets.penguins GROUP BY island -- Forecast data using AI.FORECAST SELECT * FROM AI.FORECAST(TABLE `project.dataset.my_table`, data_col => 'num_trips', timestamp_col => 'date', id_cols => ['usertype'], horizon => 30) -- Detect anomalies in time series data using AI.DETECT_ANOMALIES SELECT * FROM AI.DETECT_ANOMALIES( TABLE `project.dataset.historical_metrics`, TABLE `project.dataset.recent_metrics`, data_col => 'num_requests', timestamp_col => 'timestamp' ) -- Identify key drivers of metric changes using AI.KEY_DRIVERS SELECT * FROM AI.KEY_DRIVERS( TABLE `project.dataset.sales_summary`, metric_col => 'total_revenue', dimension_cols => ['region', 'product_category'], interest_label_col => 'is_current_quarter' ) -- Classify text into categories using AI.CLASSIFY SELECT ticket_id, AI.CLASSIFY(ticket_text, ['Billing', 'Technical Support', 'Feature Request']) AS category FROM `project.dataset.support_tickets` -- Generate text or summaries using AI.GENERATE SELECT review_id, AI.GENERATE(CONCAT('Summarize this customer review: ', review_text)).result AS summary FROM `project.dataset.reviews` ``` Queries executed using the `execute_sql_readonly` tool will always have the job label `goog-mcp-server: true` automatically set in addition to any custom `labels` provided in the request. Queries are charged to the project specified in the `project_id` field. Query Execution Behavior: * If the query completes within the synchronous timeout (default 20 seconds or custom `timeout_ms`), the tool returns `job_complete: true` and the result rows directly. For fast queries, `job_id` may be omitted as no persistent background job is created; no further action or polling is needed. * If the query takes longer than `timeout_ms`, the tool returns `job_complete: false` and a `job_id`. In this case, use the `get_query_results` tool with `job_id` to poll until `job_complete: true`, or use `cancel_job` to abort the running query. * You can optionally specify `timeout_ms` to configure the maximum synchronous wait time in milliseconds (defaults to 20,000 ms), and `job_timeout_ms` to enforce a hard server-side timeout after which BigQuery automatically terminates the job.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language exploration and querying of Google BigQuery datasets through four tools: listing datasets, inspecting table schemas, generating SQL queries with LLM assistance, and executing approved queries.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    This read-only MCP Server allows you to connect to Google BigQuery data from Claude Desktop through CData JDBC Drivers. For full CRUD support, check out the first managed MCP platform: CData Connect AI (https://www.cdata.com/ai/).
    MIT

Matching MCP Connectors

  • The BigQuery remote MCP server is a fully managed service that uses the Model Context Protocol to connect AI applications and LLMs to BigQuery data sources. It provides secure, standardized tools for AI agents to list datasets and tables, retrieve schemas, generate and execute SQL queries through natural language, and analyze data—enabling direct access to enterprise analytics data without requiring manual SQL coding.

  • Bulk Google Trends: interest over time, regions, rising queries and plain-English trend summaries.

  • List supported Google Maps place type values for search filters. Returns place_types as a string array. Use a value with place_type on google-maps.search or google-maps.nearby_search. Cost = 1 token.
    ConnectorNo auth
  • List all Google Trends category and subcategory labels you can pass to other Google Trends tools in the category field. Returns cat (array of category names, including All categories) and msg. Use this before interest-over-time or interest-by-region calls when filtering by category. Cost = 5 tokens.
    ConnectorNo auth
  • List all countries and subregions you can pass to other Google Trends tools in the country and region fields. Returns geo.countries: each country name maps to country (label) and regions (array of subregion names). Also returns msg. Use this before interest-over-time or interest-by-region calls when filtering by geography. Pair with google-trends.categories when filtering by category. Cost = 5 tokens.
    ConnectorNo auth
  • List saved Costory business metrics and, optionally, matching live external metrics from connected integrations (e.g. Tsuga, BigQuery, Datadog, CloudWatch, Google Cloud Monitoring). Saved metrics return id/name/type for { type: "metric", metricId: "..." } in query. Set includeExternal: true with a specific search term to return externalMetrics with provider, integrationId, integrationName, metricName, unit, capabilities, and attributes. That catalog is enough to build { type: "externalMetric", provider, integrationId, metricName, aggregator, groupByFields, conditions } for Tsuga, Datadog (attributes are tag keys; metricName is the Datadog metric name), CloudWatch (metricName is Namespace/MetricName such as AWS/EC2/CPUUtilization; attributes are dimension names), Google Cloud Monitoring (provider "cloudmonitoring"; metricName is the metric type such as compute.googleapis.com/instance/cpu/utilization; attributes are fully-qualified group-by fields such as metric.label.state or resource.label.project_id, and conditions is an optional Monitoring filter), or Amplitude. For BigQuery or S3, the same hit also includes `schema` (typed columns: DATE / NUMERIC / STRING). Pick dateColumn from the first DATE field, metricColumn from the first NUMERIC field, and groupByFields from STRING fields (also listed in attributes). gapFillingMethod is not in the catalog — default FORWARD_FILL unless the user specifies ZERO, LINEAR_INTERPOLATION, or SPREAD. Those three fields are required on both query and a new virtual-dimension telemetry allocation. Do not call includeExternal without search; external catalogs can be large, and the tool will ask for a search term instead of listing everything. externalLimit (default 50, max 50) caps matching external results. New virtual-dimension telemetry reallocations use includeExternal + an inline `externalMetric` (same fields as a query series, plus exactly one groupByFields entry as the series key). Pass `datasourceId` only to inspect a leftover saved usage-metric datasource's `groupByDimensions` — not for new reallocations. Then call `query` (`type: "metric"`, `metricId`, `groupBy`) to inspect the values for that leftover datasource. The `datasourceId` is the same `metricsDatasource` id this tool returns as a saved-metric `id` (strip any `::metricName` suffix). Does **not** return values (use `query`). EXAMPLES: • "What business metrics do we have?" → {} • "Find Tsuga metrics about requests" → { includeExternal: true, search: "request" } • "Find BigQuery tables about revenue" → { includeExternal: true, search: "revenue" } • "Find Datadog metrics about CPU" → { includeExternal: true, search: "cpu" } • "Find CloudWatch metrics about CPU" → { includeExternal: true, search: "CPUUtilization" } • "Find GCP Monitoring metrics about CPU" → { includeExternal: true, search: "cpu/utilization" } (Cloud Monitoring search matches the metric type, not its display name) • "What live metrics can I reallocate shared cost by?" → { includeExternal: true, search: "cpu" } • "What can I split a leftover saved-metric datasource by?" → { datasourceId: "clx…" }
    ConnectorOAuth
  • Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, clickhouse, databricks, doris, starrocks and more. Deterministic parser (sqlglot), not an LLM: the same input always produces the same output, and syntax errors come back with the exact line and column. Use it when migrating queries between databases or debugging dialect-specific syntax.
    ConnectorNo auth
  • Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, clickhouse, databricks, doris, starrocks and more. Deterministic parser (sqlglot), not an LLM: the same input always produces the same output, and syntax errors come back with the exact line and column. Use it when migrating queries between databases or debugging dialect-specific syntax.
    ConnectorNo auth
  • Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, clickhouse, databricks, doris, starrocks and more. Deterministic parser (sqlglot), not an LLM: the same input always produces the same output, and syntax errors come back with the exact line and column. Use it when migrating queries between databases or debugging dialect-specific syntax.
    ConnectorNo auth
  • Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, clickhouse, databricks, doris, starrocks and more. Deterministic parser (sqlglot), not an LLM: the same input always produces the same output, and syntax errors come back with the exact line and column. Use it when migrating queries between databases or debugging dialect-specific syntax.
    ConnectorNo auth
  • List Search Console properties for this account. Returns Vee3-managed domains plus sites added with google-search-console.add_site. Call this to discover sites, then omit site_url on later calls to use the default property, or pass an exact site_url from this response. If no properties appear, add a site with google-search-console.add_site or register a domain with domains.register. Cost = 5 tokens.
    ConnectorNo auth
  • ÉCRITURE GARDÉE : met un mot-clé en pause (réversible dans Google Ads). ids via ads_keywords. Sans confirm:true : dry-run validé par Google. Pilotage requis (write_enabled) ; journalisé.
    ConnectorNo auth
  • ÉCRITURE GARDÉE : met un mot-clé en pause (réversible dans Google Ads). ids via ads_keywords. Sans confirm:true : dry-run validé par Google. Pilotage requis (write_enabled) ; journalisé.
    ConnectorNo auth
  • Google Search Console: Index status of a URL: the most recently indexed version, last crawl and canonical. Returns what the URL Inspection tool shows for the indexed version of a page: status ("URL is on Google", "URL is on Google, but has issues", "URL is not on Google" or "URL is an alternate version"), discovery by sitemap and referring page, last crawl, crawled as, crawl allowed, page fetch, indexing allowed, and the user-declared and Google-selected canonical. It does not fetch the live page; use test_live_url for that. "On Google" means eligible, not guaranteed to appear. The URL must be inside the property. Needs the user's Cotlet API key or sign-in with access to this app.
    ConnectorNo auth
  • Google Search Console: Temporarily remove a URL or prefix from Google results, or clear its snippet. Owner or Full user. Files a request in Removals > Temporary removals: Temporarily remove URL hides the page from results for about six months, Clear snippet in search wipes the description until the page is indexed again. Scope is this URL only or all URLs with a prefix, which can hide a whole folder or site. Google says requests usually take up to a day and are not guaranteed to be accepted, and blocking does not stop crawling. For a permanent removal the page needs a 404 or 410, a password or noindex. By default you confirm each call; you can switch that off for this tool. Reaches other people: by default the call waits for the owner's approval in the Cotlet console (status pending); check it later with cotlet_get_call. Needs the user's Cotlet API key or sign-in with access to this app.
    ConnectorNo auth
  • List supported language codes for Google Maps place endpoints. Returns languages as a map of language names to codes (for example English: en). Use these codes with the language parameter on place detail, review, and photo calls. Cost = 1 token.
    ConnectorNo auth
  • Get details for one Google Maps review. Provide review_id from a place reviews response. Returns one review object at the top level with fields such as review_id, review_text, rating, and user_name when available. Additional upstream fields may appear. Cost = 2 tokens.
    ConnectorNo auth