Model or dataset
googleapis/mcp-toolbox avatar
googleapis/mcp-toolbox

MCP Toolbox for Databases: A dual-purpose MCP server for SQL and NoSQL access

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

16,411 stars1,721 forksGoApache-2.0

At a glance

What is it?
Google's open source MCP Toolbox for Databases offers both prebuilt generic tools and a custom tools framework for connecting AI agents to enterprise databases, with support for a wide range of SQL and NoSQL systems.
Who is it for?
Adopt MCP Toolbox if you need a single MCP server that speaks to many databases, want prebuilt tools like list_tables and execute_sql for quick IDE integration, or plan to build custom restricted tools with structured queries and semantic search. Skip it if you only need one simple database connection and prefer a minimal hand-rolled MCP server, or if you require a fully managed service and cannot run your own server.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Go, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What problem it solves and who it targets

MCP Toolbox for Databases addresses a specific gap: AI agents and IDEs lack a standardized, secure way to talk to enterprise databases. Instead of writing bespoke database glue code for each agent, you run one MCP server that exposes tools. The project targets two audiences. First, developers who want instant database access from Gemini CLI, Google Antigravity, Claude Code, Codex, or any MCP client, using prebuilt generic tools. Second, teams building production agents that need custom, restricted tools with structured queries, semantic search, or NL2SQL. The original name, Gen AI Toolbox for Databases, predates MCP, and the rename to mcp-toolbox reflects a shift toward MCP compatibility. This is not a niche experiment; it is a Google-backed project with a documented architecture and a full documentation site at mcp-toolbox.dev.

Dual purpose: prebuilt server versus custom tools framework

The README frames the project as serving a dual purpose. The first is a build-time MCP server with prebuilt generic tools like list_tables and execute_sql. You run the server with a --prebuilt flag and get a standard toolset for a given database. The second is a runtime framework for building custom tools. That framework lets you define structured queries, semantic search, and NL2SQL capabilities with safety controls. The distinction matters because it changes how you deploy. For quick exploration, you run the prebuilt server and point your client at it. For production agents, you write a configuration that defines your own tools, then run the Toolbox server with that config. The README claims integration with Agent Development Kit (ADK), LangChain, LlamaIndex, or custom agents in under ten lines of code, but it does not show that code, so treat that as a promise rather than a verified fact.

How the underlying mechanism works

The architecture is visible in the README's diagram reference, though the image itself is not included in the material. What is clear is that the server handles connection pooling, integrated authentication (IAM), and OpenTelemetry observability out of the box. That means the Toolbox sits between your MCP client and the database, managing connections and auth. For Google Cloud databases like AlloyDB, BigQuery, Cloud SQL, Spanner, and Firestore, IAM integration suggests it can use Google's identity model rather than raw passwords. For other databases like PostgreSQL, MySQL, Oracle, MongoDB, Redis, and Elasticsearch, you likely provide standard connection strings via environment variables. The prebuilt tools are organized by database and by toolset. The syntax --prebuilt=postgres/data loads only SQL tools for PostgreSQL. This modularity implies that the server loads tool definitions dynamically based on the flag, and each toolset is a separate code path. The documentation site would be the place to confirm the exact data flow, but the repository layout and flags give a clear picture.

Getting it running: commands and configuration keys

The README gives a concrete quick start for prebuilt tools. You add an entry to your MCP client configuration file, typically mcp.json or claude_desktop_config.json. The example for PostgreSQL is:

{ "mcpServers": { "toolbox-postgres": { "command": "npx", "args": ["-y", "@toolbox-sdk/server", "--prebuilt=postgres", "--stdio"] } } }

That runs the server via npx, which pulls the @toolbox-sdk/server package. The --stdio flag indicates communication over standard input/output, which is what many MCP clients expect. Then you set environment variables to connect, as described in the Prebuilt Tools Reference. For custom tools, the README points to a separate quick start section that is truncated in the material. The repository also mentions Docker and binaries as alternative execution methods, but does not show those commands. If you want to use a specific toolset, you append it to the database name, like --prebuilt=postgres/data. That is the only config key shown, aside from the mcpServers structure itself.

Supported databases and platform coverage

The project lists a broad set of supported databases. On the Google Cloud side: AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, and Knowledge Catalog (formerly Dataplex). On the other side: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, and Trino. That is an unusual mix. Most MCP database servers focus on one engine or one cloud. Toolbox spans both relational and NoSQL, and includes search engines like Elasticsearch and in-memory stores like Redis. The breadth is a strength if you have heterogeneous data sources, but it also means each database integration may have different tool capabilities. The README says a full list of tools is in the Prebuilt Tools Reference, so you cannot assume that every database has the same set of tools. For example, Redis tools will not include execute_sql in the same way PostgreSQL does. That is a real constraint to check before you commit.

Real limitations and cases where it is the wrong tool

The most obvious limitation is that this is not a managed service. You run the server yourself, either via npx, Docker, or a binary. That means you own patching, scaling, and availability. For a production deployment, that is nontrivial. The README mentions that Google Cloud MCP Servers provide a managed experience with prebuilt tools, which is a separate offering. If you want zero-ops, Toolbox is the wrong choice. Another limitation is the dependency on environment variables for configuration. The README does not show a config file for prebuilt tools, only environment variables. That can be brittle in containerized environments where secrets management is already complex. Also, the custom tools framework requires you to define your own tools, which has a learning curve. The README does not provide a sample custom tool definition in the visible portion, so you would need to consult the full documentation. Finally, the project is written in Go, but the prebuilt server is distributed as an npm package. That is convenient for npx users but may confuse teams expecting a Go binary as the primary artifact.

Alternative approaches and how they differ

A direct alternative is to write a small custom MCP server using an SDK like the official MCP Python or TypeScript SDK. That approach gives you full control over the tools and connections, but you have to implement connection pooling, authentication, and observability yourself. Toolbox bundles those concerns, which is its main advantage. Another alternative is a database-specific MCP server, such as the official PostgreSQL MCP server or a vendor-provided one. Those are usually narrower in scope but simpler to configure. Toolbox differs by offering a unified interface across many databases and by providing a framework for restricted access and structured queries. For teams already on Google Cloud, the managed Google Cloud MCP Servers are a closer alternative, but they are not open source and you cannot customize them as deeply. The choice comes down to control versus convenience. Toolbox sits in the middle: more control than a managed service, less boilerplate than a hand-rolled server.

Licence, maintenance, and upgrade considerations

The project is licensed under Apache-2.0, which permits commercial use, modification, and redistribution, with the condition that you preserve copyright notices. That is a permissive licence and a common choice for Google open source projects. The repository is not archived, and the last push was September 2026, with releases v1.8.0, v1.9.0, and v1.10.0 coming roughly every two weeks in July and August 2026. That cadence suggests active maintenance, but it also means you should expect frequent updates. Each release may change tool definitions or configuration syntax, so you need a testing process before upgrading in production. The README notes a repository rename from genai-toolbox, which could break existing git remotes or documentation links. The project also offers SDKs in Python, JS/TS, Go, and Java, which is a maintenance surface of its own. If you adopt the custom tools framework, you are tying your code to the Toolbox configuration schema, which may evolve. Check the changelog for each release before upgrading, especially if you rely on custom tools.

Editorial conclusion

Adopt MCP Toolbox if you need a single MCP server that speaks to many databases, want prebuilt tools like list_tables and execute_sql for quick IDE integration, or plan to build custom restricted tools with structured queries and semantic search. Skip it if you only need one simple database connection and prefer a minimal hand-rolled MCP server, or if you require a fully managed service and cannot run your own server. Before adoption, verify that your target database appears in the supported list, check the exact prebuilt toolset syntax (for example --prebuilt=postgres/data), and confirm whether your MCP client can pass the required environment variables. Also confirm which SDK languages you need, since the project offers Python, JS/TS, Go, and Java SDKs, and note that the repository was renamed from genai-toolbox, so update your git remote accordingly.

Official sources

  1. googleapis/mcp-toolbox on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Community notes

Community notes