Read-only BigQuery tools for plain-language data questions, with a cost gate on every query
MCPpedia last refreshed this data
io.github.deBilla/data-platform-mcp is an MCP server that read-only BigQuery tools for plain-language data questions, with a cost gate on every query. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 85/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"bigquery": {
"env": {
"BQ_PROJECT": "your-gcp-project",
"GOOGLE_APPLICATION_CREDENTIALS": "/Users/YOU/keys/analyst-key.json"
},
"args": [
"data-platform-mcp"
],
"command": "/Users/YOU/.local/bin/uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Read-only BigQuery tools for plain-language data questions, with a cost gate on every query
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked data-platform-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in data
Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
Manage Supabase projects — databases, auth, storage, and edge functions
A cross-platform desktop application for managing AI Agents and MCP Servers. 一款用于管理AI智能体与MCP服务器的跨平台桌面应用程序。
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
MCP Security Weekly
Get CVE alerts and security updates for io.github.deBilla/data-platform-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A read-only Model Context Protocol server over
Google BigQuery. It lets an AI client (Claude Code, Claude Desktop, …) answer
plain-language data questions by discovering schema and running SELECT queries.
The AI does the natural-language → SQL translation; this server just safely executes against BigQuery under your own Google credentials.
data-platform-mcp| Tool | Purpose | Cost |
|---|---|---|
list_datasets | List datasets in the project | free |
list_tables | List tables/views in a dataset | free |
get_table_schema | Columns (nested paths expanded), partitioning, size, row count | free |
check_table_freshness | When each table was last written — catches stale sources | free |
list_environments | Which BigQuery environments are configured, and the default | free |
list_scheduled_queries | Which scheduled query writes a table, and whether it is disabled or failing | free |
get_scheduled_query | One query's SQL, destination and recent runs | free |
list_code_assets | Notebooks, saved queries and data canvases in BigQuery Studio | free |
get_code_asset | One notebook or saved query's body, notebook outputs stripped | free |
find_code_assets_using_table | Which notebooks/saved queries read a table | quota, not $ |
list_notebook_schedules | Scheduled Colab notebooks, with how many recent runs failed | free |
list_notebook_runs | Individual notebook runs across every schedule — failures by default | free |
get_notebook_schedule | One schedule's cron, notebook and recent errors | free |
run_query | Run a validated, read-only SELECT and return rows | scans data |
Only run_query costs anything, so the discovery tools are the ones to spend
first. Two of them exist to prevent specific, repeated mistakes:
get_table_schema reports partitioning from table metadata, never from
column names. A table with a partition_date column may not be partitioned
— in which case no WHERE clause reduces the scan and every query reads the
whole table. The response flags this explicitly when the table is large.check_table_freshness finds tables that stopped being written to without
being dropped. Those return stale data rather than an error, which is the
failure mode nobody notices.find_code_assets_using_table answers the other half. The scheduled-query
tools say what writes a table; this says who reads it, which is the
question before a schema change. It is also the one discovery tool that is
not free: it opens every asset it considers, spending Dataform read quota,
so it is capped and reports how much of the project it actually covered. A
result is evidence about the assets scanned, never proof that nothing else
uses the table — assets it could not read are listed separately rather than
counted as misses.list_scheduled_queries says why. A stale table is usually a scheduled
query that was disabled or is failing, and that lives in a different API
(BigQuery Data Transfer) needing roles/bigquerydatatransfer.viewer. Without
that role the two tools return an error naming it and everything else works
normally. Most scheduled queries declare no destination because they write
with DDL, so the target is read out of the SQL and reported as
writes_to_from_sql — a heuristic, labelled as one.These are not BigQuery resources. BigQuery Studio stores each code asset as a Dataform repository