Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 23 additions & 2 deletions third_party/google-cloud-bigquery/.cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "google-cloud-bigquery",
"displayName": "Google Cloud BigQuery",
"version": "1.0.0",
"version": "1.1.0",
"minClientVersions": {
"cursor": "3.13.0"
"cursor": "3.19.0"
},
"description": "Explore datasets and tables and run SQL queries.",
"author": {
Expand Down Expand Up @@ -32,5 +32,26 @@
"sql",
"mcp"
],
"variables": {
"type": "object",
"additionalProperties": false,
"required": [
"CLIENT_ID",
"CLIENT_SECRET"
],
"properties": {
"CLIENT_ID": {
"type": "string",
"title": "Client ID",
"description": "A Google OAuth client your team created. Every team member signs in under it."
},
"CLIENT_SECRET": {
"type": "string",
"title": "Client secret",
"writeOnly": true,
"format": "password"
}
}
},
"mcpServers": "./mcp.json"
}
4 changes: 4 additions & 0 deletions third_party/google-cloud-bigquery/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

All notable changes to this plugin will be documented here.

## 1.1.0

- Added required `CLIENT_ID` and `CLIENT_SECRET` team variables. A team admin sets one Google OAuth client that every member signs in under, and the plugin no longer uses Cursor's own client. Existing installs need these set before the next connect. Requires Cursor 3.19.0 or later.

## 1.0.0 — initial release

- Added the `google-cloud-bigquery` MCP server pointing at Google Cloud BigQuery's hosted Streamable HTTP endpoint (`https://bigquery.googleapis.com/mcp`).
Expand Down
17 changes: 15 additions & 2 deletions third_party/google-cloud-bigquery/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,26 @@ Or run `/add-plugin google-cloud-bigquery` in chat.
"mcpServers": {
"google-cloud-bigquery": {
"type": "http",
"url": "https://bigquery.googleapis.com/mcp"
"url": "https://bigquery.googleapis.com/mcp",
"auth": {
"CLIENT_ID": "${CLIENT_ID}",
"CLIENT_SECRET": "${CLIENT_SECRET}"
}
}
}
}
```

Auth is OAuth. Cursor prompts for Google Cloud BigQuery sign-in when the plugin connects — there is no client ID or personal access token to configure.
Auth is OAuth. Cursor prompts for Google Cloud BigQuery sign-in when the plugin connects. It signs in with a Google OAuth client your team provides; see below.

## Set up your team's OAuth client

A team admin provides one Google OAuth client, and every member signs in under it, so consent and audit show the team's own app. The Client ID and Client secret are required.

1. In the Google Cloud console, create an OAuth client for a **Web application** and add Cursor's OAuth callback URL as an authorized redirect URI. Add the `https://www.googleapis.com/auth/bigquery` scope to the project's OAuth consent screen.
2. In the Cursor dashboard, open the team's plugin settings for **Google Cloud BigQuery** and enter the **Client ID** and **Client secret**.

Members then sign in to BigQuery under that client. The secret is stored encrypted and stays on Cursor's backend; it is never sent to members' machines. Changing the client signs members out, and they reconnect once.

## Before you connect

Expand Down
6 changes: 5 additions & 1 deletion third_party/google-cloud-bigquery/mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@
"mcpServers": {
"google-cloud-bigquery": {
"type": "http",
"url": "https://bigquery.googleapis.com/mcp"
"url": "https://bigquery.googleapis.com/mcp",
"auth": {
"CLIENT_ID": "${CLIENT_ID}",
"CLIENT_SECRET": "${CLIENT_SECRET}"
}
}
}
}
Loading