list_tablesLABSCO SUMMARY
One server that is both an instant database connector and the place you lock down what agents may run.
The prebuilt path is a two-minute setup that hands an editor list_tables and execute_sql against a real database, which is where most people start. The tools.yaml path is the one that survives contact with production: you write the statement, its parameters, and the description, and the agent gets that tool rather than an open SQL prompt. Connection pooling, IAM authentication, and OpenTelemetry come with either path.
What it is
Google's open-source MCP server for enterprise databases, serving two purposes from one binary. A --prebuilt flag gives an MCP client generic tools against a database immediately; a tools.yaml file instead defines exactly which queries an agent may run, and nothing else. The repository was renamed from genai-toolbox to mcp-toolbox.
What you get
- Prebuilt generic tools per database — list_tables, execute_sql and the rest — reachable with npx -y @toolbox-sdk/server --prebuilt=postgres --stdio
- Coverage across AlloyDB, BigQuery, Cloud SQL for PostgreSQL, MySQL and SQL Server, Spanner, Firestore, and Knowledge Catalog, plus PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, and Trino
- Custom tools in tools.yaml: a source, a parameterised statement, and the description the model reads — the agent gets your query rather than free-run SQL
- Toolsets that group tools for one agent or application, addressable at /mcp/{toolset_name}
- Prompts defined alongside the tools in the same configuration file
- An interactive UI for exercising tools and toolsets, launched with --ui
- OpenTelemetry traces and metrics, exported with --telemetry-otlp to any OTLP-compatible backend
- Skills-generate, which turns a toolset into an installable Agent Skill package
- Client SDKs for Python, JavaScript and TypeScript, Go, and Java that load the same toolsets into ADK, LangChain, LlamaIndex, or Genkit
Requirements
No account for the server itself; each source in your configuration carries its own database credentials. Run it as a released binary, with brew install mcp-toolbox, from the container image us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox, or with npx @toolbox-sdk/server. The default transport is Streamable HTTP, listening on 127.0.0.1 port 5000 at /mcp; --stdio switches it to stdio for local clients. --config points at your tools.yaml, and configuration reloads dynamically unless you pass --disable-reload. Current release is 1.9.0.
Setup effort
One command — npx @toolbox-sdk/server --config tools.yaml
USE CASES
Exploring an unfamiliar schema from your editor
Start with the prebuilt toolset for that database and ask questions in plain language before writing any configuration.
Giving an agent one specific query instead of open SQL
Define the source, the parameterised statement, and the description in tools.yaml; the agent sees only that tool.
Splitting what different agents can reach
Group tools into toolsets and point each agent at its own toolset URL, so a read-only assistant never loads the write tools.
Finding out where a slow tool call went
Export traces and metrics over OTLP to the backend you already run, instead of adding instrumentation to each tool.
3 tools
Listed in project docs. Your client may show a different list.
execute_sqlwaitBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
npx on PATH
INSTALLATION
Connect your client
Server setup
npx @toolbox-sdk/server --config tools.yamlMCP Clients
Any MCP client — stdio
{
"mcpServers": {
"toolbox-postgres": {
"command": "npx",
"args": [
"-y",
"@toolbox-sdk/server",
"--prebuilt=postgres",
"--stdio"
]
}
}
}Any MCP client — HTTP
{
"mcpServers": {
"toolbox": {
"type": "http",
"url": "http://127.0.0.1:5000/mcp"
}
}
}Gemini CLI
npm install -g @google/gemini-cli
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolboxAntigravity
{
"mcpServers": {
"mcp-toolbox": {
"command": "npx",
"args": [
"-y",
"@toolbox-sdk/server",
"--config",
"<YOUR_TOOL_FILE_YAML>"
]
}
}
}