← MCP servers · googleapis

MCP Toolbox for Databases

BLOCKgrade F · trust 40/100

MCP Toolbox for Databases is an open source MCP server for databases.

agentagentsaibigqueryclickhousecockroachdbdatabaseelasticsearch

Overview

From the repository's own README, as read at the audited commit.

<div align="center">![logo](./logo.png)# MCP Toolbox for Databases<a href="https://trendshift.io/repositories/25495" target="_blank"><img src="https://trendshift.io/api/badge/repositories/25495" alt="googleapis%2Fmcp-toolbox | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>[![License: Apache2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)[![Docs](https://img.shields.io/badge/Docs-MCP_Toolbox-blue)](https://mcp-toolbox.dev/)[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=flat&logo=discord&logoColor=white)](https://discord.gg/Dmm69peqjh)[![Medium](https://img.shields.io/badge/Medium-12100E?style=flat&logo=medium&logoColor=white)](https://medium.com/@mcp_toolbox)[![Python SDK](https://img.shields.io/pypi/v/toolbox-core?logo=python&logoColor=white&label=Python%20SDK)](https://pypi.org/project/toolbox-core/)[![JS/TS SDK](https://img.shields.io/npm/v/@toolbox-sdk/core?logo=javascript&logoColor=white&label=JS%20SDK)](https://www.npmjs.com/package/@toolbox-sdk/core)[![Go SDK](https://img.shields.io/github/v/release/googleapis/mcp-toolbox-sdk-go?logo=go&logoColor=white&label=Go%20SDK)](https://pkg.go.dev/github.com/googleapis/mcp-toolbox-sdk-go)[![Java SDK](https://img.shields.io/maven-central/v/com.google.cloud.mcp/mcp-toolbox-sdk-java?logo=apache-maven&logoColor=white&label=Java%20SDK)](https://mvnrepository.com/artifact/com.google.cloud.mcp/mcp-toolbox-sdk-java)</div>MCP Toolbox for Databases is an open source Model Context Protocol (MCP) server that connects your AI agents, IDEs, and applications directly to your enterprise databases. <p align="center"><img src="docs/en/documentation/introduction/architecture.png" alt="architecture" width="50%"/></p>It serves a **dual purpose**:1. **Ready-to-use MCP Server (Build-Time):** Instantly connect Gemini CLI, Google Antigravity, Claude Code, Codex, or other MCP clients to your databases using our *prebuilt generic tool

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (oci)
claude mcp add toolbox:1.12.0 -- docker run -i --rm us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:1.12.0:None

Exposed tools (2) 2 read · 0 write · 0 destructive

ToolRiskDescription
basicreadfoo bar
my-skillreadflag fallback

Details

Source
googleapis/genai-toolbox
npm
@toolbox-sdk/server@1.12.0
PyPI
toolbox-server
Transports
streamable-http
Credentials it reads
ANTHROPIC_API_KEYDB_PASSGEMINI_API_KEYGOOGLE_API_KEYGOOGLE_GENAI_API_KEY
License
Apache-2.0
Stars
16,446 · pushed 0d ago

Trust audit

Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (3 observation(s))
Network
declared (10 observation(s))
Shell
declared (5 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHNetwork egress · net.tls_off · CWE-200, CWE-319
internal/sources/clickhouse/clickhouse.go:203
dsn += "?secure=true&skip_verify=false"
Why it matters. certificate verification is disabled
Fix. leave verification on
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
docs/en/documentation/configuration/pre-post-processing/_index.md:59
- **Prompt Injection Defense**: Use pre-processing hooks to scan user inputs for known jailbreak patterns or malicious directives before they reach the model or tools.
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
docs/en/documentation/configuration/security/model-armor.md:23
back in. This catches prompt injection and jailbreak attempts.
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
docs/en/documentation/configuration/security/model-armor.md:74
injection / jailbreak detection](https://docs.cloud.google.com/model-armor/overview#ma-prompt-injection):
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
docs/en/documentation/configuration/security/model-armor.md:80
3. Under **Prompt injection and jailbreak detection**, enable the filter and set
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
docs/en/documentation/configuration/security/model-armor.md:192
# Prompt injection / jailbreak: blocked at ingress.
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
MEDIUMHard-coded secrets · secret.db_uri · CWE-798, CWE-321
internal/sources/postgres/postgres_test.go:258
want: "postgres://u:[email protected]:5432/mydb",
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
docs/en/documentation/connect-to/toolbox-sdks/python-sdk/adk/index.md:169
creds = CredentialStrategy.manual_token(token="your-static-bearer-token")
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
internal/auth/generic/generic_test.go:345
token:          "opaque-valid-string-exp",
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
internal/auth/generic/generic_test.go:378
token:          "opaque-valid-array-aud",
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
internal/auth/generic/generic_test.go:404
token:          "opaque-missing-active",
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
internal/auth/generic/generic_test.go:606
token:       "header.payload.signature",
LOWInventory / provenance · inv.hidden_file · CWE-1104
.gitmodules
.gitmodules
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.golangci.yaml
.golangci.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.hugo/.browserslistrc
.browserslistrc
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.lycheeignore
.lycheeignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.symlink · CWE-1104
.gemini/styleguide.md
.gemini/styleguide.md
Why it matters. link not followed
LOWInventory / provenance · inv.symlink · CWE-1104
AGENTS.md
AGENTS.md
Why it matters. link not followed
LOWInventory / provenance · inv.symlink · CWE-1104
CLAUDE.md
CLAUDE.md
Why it matters. link not followed
LOWInventory / provenance · inv.symlink · CWE-1104
skills/maintainer/reproduce-bug/references/DEVELOPER.md
skills/maintainer/reproduce-bug/references/DEVELOPER.md
Why it matters. link not followed
LOWInventory / provenance · inv.symlink · CWE-1104
skills/maintainer/review-prs/references/CONTRIBUTING.md
skills/maintainer/review-prs/references/CONTRIBUTING.md
Why it matters. link not followed
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
docs/en/documentation/configuration/pre-post-processing/python/agent_test.py:24
agent = importlib.import_module(module_path)
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
docs/en/documentation/getting-started/quickstart/python/quickstart_test.py:24
quickstart = importlib.import_module(module_path)
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
cmd/internal/skills/generator.go:139
const envPath = path.resolve(__dirname, '../../../.env');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
cmd/internal/skills/generator.go:202
const localPath = path.resolve(__dirname, '../../../toolbox' + ext);

Gates applied: instruction_override, no_behavioural_pass.

Audited 2026-09-18 · audit v0.4.0 · source sha a7ab56d3105a · full audit: observations/trust-audit/mcp-server/googleapis__genai-toolbox.json · Report an issue or request a re-scan

Audit history

DateSourceVerdictGradeScoreChange
2026-09-18a7ab56d3105aBLOCKF40first audit

Alternatives

Other servers in the same categories, safer ones first.

More from googleapis

Questions

What is the MCP Toolbox for Databases MCP server?

MCP Toolbox for Databases is an open source MCP server for databases.

What tools does MCP Toolbox for Databases expose?

2 in total: 2 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is MCP Toolbox for Databases safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (40/100) and found 6 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does MCP Toolbox for Databases need?

It reads ANTHROPIC_API_KEY, DB_PASS, GEMINI_API_KEY, GOOGLE_API_KEY and GOOGLE_GENAI_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does MCP Toolbox for Databases run?

It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as @toolbox-sdk/server at 1.12.0.

How current is this page?

The grade is for one exact copy of the source (a7ab56d3105a), read on 2026-09-18. The repository is watched and re-audited when it changes.

Provenance: OBSERVED · read 2026-09-18 · job trust-audit-2026-09-18