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
21 changes: 21 additions & 0 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "googlecloud-plugin-marketplace",
"plugins": [
{
"name": "googlecloud-plugin",
"interface": {
"displayName": "GoogleCloud Plugin",
"shortDescription": "A full Google Cloud delivery team for your coding agent."
},
"source": {
"source": "local",
"path": "."
},
"policy": {
"installation": "AVAILABLE",
"authentication": "NONE"
},
"category": "Infrastructure"
}
]
}
6 changes: 3 additions & 3 deletions .mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
"CLOUDSDK_CORE_PROJECT": "${GCP_PROJECT_ID}"
}
},
"genai-toolbox": {
"command": "uvx",
"args": ["toolbox-core", "--tools-file", "${TOOLBOX_TOOLS_FILE}"],
"toolbox": {
"command": "npx",
"args": ["-y", "@toolbox-sdk/server", "--stdio", "--config", "${TOOLBOX_TOOLS_FILE}"],
"env": {
"GCP_PROJECT_ID": "${GCP_PROJECT_ID}",
"GOOGLE_APPLICATION_CREDENTIALS": "${GOOGLE_APPLICATION_CREDENTIALS}",
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@

> **Install once, and your coding agent gains a full Google Cloud delivery team — a vendor-objective solution designer, a GCP architect, an agentic-systems architect, plus security, SRE, and QA — wired into a design-first, security-first delivery gate.**

> **All the GCP skills. All the MCP servers available today. Assembled to fast-track the right architecture for your requirements.**

Skill libraries for Google Cloud are everywhere. What they miss is the operating contract: who designs before anyone writes code, who signs off on least-privilege before anything deploys, what "done" means when an agent ships to a billable cloud. This plugin ships that contract, with the GCP know-how built in.

One install gives an agent (Claude, Codex, or Antigravity) five personas, eleven service skills, the MCP server map, and a research pipeline that keeps every reference current. A plugin that goes stale in silence is worse than none.
One install gives an agent (Claude, Codex, or Antigravity) six personas, eleven service skills, and a research pipeline that keeps every reference current. A plugin that goes stale in silence is worse than none.

The plugin is **GCP-only and opinionated by design**. It covers the estate a builder touches — Firebase, Cloud Run, BigQuery, GKE — and the agent frameworks now built on top: ADK, and the MCP / A2A / AP2 protocol stack, deployed on the Gemini Enterprise Agent Platform. Refine it for your team. Keep the contract coherent as you do.
The plugin is **GCP-only and opinionated by design**. It covers the services a builder reaches for — Firebase, Cloud Run, BigQuery, GKE — and the agent frameworks now built on top: ADK, and the MCP / A2A / AP2 protocol stack, deployed on the Gemini Enterprise Agent Platform. Refine it for your team. Keep the contract coherent as you do.

> **Speed is easy. Safe speed is engineered.**

Expand Down Expand Up @@ -51,8 +53,6 @@ After cloning to work on the plugin itself, install the pre-commit gate once:
make hooks # runs `make gate` (validate + manifest + mermaid + lint + test) on every commit
```

### In action

The plugin running in Antigravity — asked what it is and how it delivers value, the agent introduces the team and the delivery gate:

<p align="center">
Expand Down Expand Up @@ -128,7 +128,7 @@ The rule underneath every gate: **infer intent, never infer permission.** An AI

## What you install

**Five personas** — the team:
**Six personas** — the team:

| Persona | Tier | Owns |
| :--- | :--- | :--- |
Expand Down Expand Up @@ -166,7 +166,7 @@ Freshness is a feature, not a chore: `make check` runs weekly and flags any GCP

Created and maintained by **Jaroslav Pantsjoha (JP)** — Technical Director and Enterprise Agent Solution Architect at Cognizant, Google Developer Expert (Google Cloud), speaker, and author of *Building the Agentic Enterprise on Google Cloud* (Packt).

I built this to make my own Google Cloud work repeatable, then to share it. The model is the easy part; the durable engineering is the harness around it — the skills, rules, MCP servers, gates, and evals. GCP patterns outlast the week's model release, so they are worth encoding once and reusing. This plugin is that baseline aimed squarely at Google Cloud — the GCP companion to my [`join-the-team`](https://github.com/jpantsjoha/ai-native-developer-experience) harness. Part of the **#HarnessEngineering** body of work and the Google Cloud / GDE community.
I built this to make my own Google Cloud work repeatable, then to share it. The model is the easy part; the durable engineering is the harness around it — the skills, rules, MCP servers, gates, and evals. GCP patterns outlast the week's model release, so they are worth encoding once and reusing. This plugin is that baseline aimed squarely at Google Cloud — the GCP companion to my [`join-the-team`](https://github.com/jpantsjoha/ai-native-developer-experience) harness. Part of the **#HarnessEngineering** body of work the engineering discipline behind the Agentic Enterprise.

- LinkedIn: [uk.linkedin.com/in/johas](https://uk.linkedin.com/in/johas)
- Google Developer Expert: [me.developers.google.com/u/jpantsjoha](https://me.developers.google.com/u/jpantsjoha)
Expand Down
6 changes: 3 additions & 3 deletions gemini-extension.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
"CLOUDSDK_CORE_PROJECT": "${GCP_PROJECT_ID}"
}
},
"genai-toolbox": {
"command": "uvx",
"args": ["toolbox-core", "--tools-file", "${TOOLBOX_TOOLS_FILE}"],
"toolbox": {
"command": "npx",
"args": ["-y", "@toolbox-sdk/server", "--stdio", "--config", "${TOOLBOX_TOOLS_FILE}"],
"env": {
"GCP_PROJECT_ID": "${GCP_PROJECT_ID}",
"GOOGLE_APPLICATION_CREDENTIALS": "${GOOGLE_APPLICATION_CREDENTIALS}",
Expand Down
48 changes: 16 additions & 32 deletions mcp_config.json
Original file line number Diff line number Diff line change
@@ -1,43 +1,27 @@
{
"_about": "Google Cloud MCP self-configuration. Agents reach GCP through named MCP servers, never raw credentials. Auth is Application Default Credentials (ADC) or a service-account key referenced by PATH — never a value in this file. Point each server at ONE source, expose ONLY the tools it needs. Verify package currency before pinning; this space moves fast (snapshot 2026-07). See skills/mcp-servers/SKILL.md for setup + troubleshooting.",
"_about": "Google Cloud MCP self-configuration. Agents reach GCP through named MCP servers, never raw credentials. Auth via Application Default Credentials (ADC) — never hardcoded. See skills/mcp-servers/SKILL.md for setup and troubleshooting. Tested 2026-07-23: gcloud-mcp v0.5.3 confirmed operational (live GCP query); toolbox-server confirmed installable via npx.",

"mcpServers": {
"genai-toolbox": {
"_note": "Google's MCP Toolbox for Databases (genai-toolbox). One governed, read-oriented seam over BigQuery / Cloud SQL / Spanner / AlloyDB. Credentials via ADC in the environment, never hardcoded.",
"command": "uvx",
"args": ["toolbox-core", "--tools-file", "${TOOLBOX_TOOLS_FILE}"],
"env": {
"GCP_PROJECT_ID": "${GCP_PROJECT_ID}",
"GOOGLE_APPLICATION_CREDENTIALS": "${GOOGLE_APPLICATION_CREDENTIALS}",
"TOOLBOX_TOOLS_FILE": "${TOOLBOX_TOOLS_FILE}"
},
"_exposedTools": [
"list_datasets",
"describe_schema",
"run_readonly_query"
],
"_source": "https://github.com/googleapis/genai-toolbox",
"_exampleSources": {
"bigquery": "read-only analytics queries over a dataset",
"cloudsql": "managed PostgreSQL/MySQL reads",
"spanner": "strongly-consistent relational reads",
"alloydb": "PostgreSQL-compatible operational reads"
}
},

"gcloud": {
"_note": "Broad gcloud CLI seam for GCP resource operations the managed servers do not cover. Requires a local, authenticated gcloud (gcloud auth application-default login). Least-privilege: run under a scoped service account, not owner.",
"_note": "gcloud CLI MCP server — tested live against GCP (run_gcloud_command tool, MCP initialize handshake confirmed). Requires local gcloud auth application-default login.",
"_tested": "2026-07-23 — npx @google-cloud/gcloud-mcp v0.5.3 started, responded to MCP initialize, queried live GCP project via run_gcloud_command",
"command": "npx",
"args": ["-y", "@google-cloud/gcloud-mcp"],
"env": {
"CLOUDSDK_CORE_PROJECT": "${GCP_PROJECT_ID}"
},
"_exposedTools": [
"gcloud_run",
"gcloud_describe",
"gcloud_list"
],
"_verify": "Confirm the current package name/availability before pinning — Google's managed + community gcloud MCP surface is evolving."
}
},
"toolbox": {
"_note": "Google GenAI Toolbox — database MCP server (BigQuery, Cloud SQL, Spanner, AlloyDB). Requires a tools.yaml config file. See https://mcp-toolbox.dev for setup.",
"_tested": "2026-07-23 — @toolbox-sdk/server resolves, accepts MCP stdio mode, and validates its config path. Requires a tools.yaml pointing at a database source.",
"_correction": "Previous config used 'uvx toolbox-core' which has no CLI. Correct package: npx @toolbox-sdk/server --stdio --config PATH",
"command": "npx",
"args": ["-y", "@toolbox-sdk/server", "--stdio", "--config", "${TOOLBOX_TOOLS_FILE}"],
"env": {
"GCP_PROJECT_ID": "${GCP_PROJECT_ID}",
"GOOGLE_APPLICATION_CREDENTIALS": "${GOOGLE_APPLICATION_CREDENTIALS}",
"TOOLBOX_TOOLS_FILE": "${TOOLBOX_TOOLS_FILE}"
}
}
}
}
23 changes: 13 additions & 10 deletions skills/mcp-servers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,21 +59,24 @@ gcloud auth application-default login --impersonate-service-account=SA@PROJECT.i
Google's MCP Toolbox for Databases enables LLM agents to query Cloud SQL, AlloyDB, Spanner, BigQuery, and more safely.

```bash
# Install
pip install toolbox-core
# Run the toolbox MCP server (requires a tools.yaml pointing at your database)
# Tested 2026-07-23: this is the correct package. Full docs: https://mcp-toolbox.dev
npx -y @toolbox-sdk/server --stdio --config tools.yaml

# Configure (toolbox.yaml)
# Example tools.yaml (BigQuery source)
# sources:
# my-pg-source:
# kind: cloud-sql-postgres
# my-bq:
# kind: bigquery
# project: PROJECT_ID
# region: REGION
# instance: INSTANCE_NAME
# database: DB_NAME
# user: DB_USER
# password: ${DB_PASSWORD}
# tools:
# run_query:
# source: my-bq
# description: Run a read-only BigQuery query
# statement: SELECT ...
```

> **Package note (tested 2026-07-23):** use `@toolbox-sdk/server` via npx — **not** `pip install toolbox-core` / `uvx toolbox-core`. `toolbox-core` is the Python SDK *library* for building apps; it has no server CLI entry point.

- [MCP Toolbox for Databases (announcement)](https://cloud.google.com/blog/products/ai-machine-learning/mcp-toolbox-for-databases-now-supports-model-context-protocol)
- [GitHub: googleapis/genai-toolbox](https://github.com/googleapis/genai-toolbox)

Expand Down
Loading