MCP server registry
Data & contentPublic source

Database MCP Server

Database operations for AI agents — query, schema inspection, migrations, explain plans, performance analysis, and data exploration. 22 tools with read-only defaults and governed writes.

What it gives an agent

A purpose-built capability behind one MCP connection.

The server owns its domain logic and publishes a tool contract an MCP client can discover. ADK-Rust can load that contract into an agent, normalize each schema for the chosen model provider, and keep the connection lifecycle outside the agent’s business logic.

01

Provides database capabilities through a typed MCP contract.

Architecture

How Database MCP Server fits into an agent system.

The model never needs the implementation details or credentials of the system behind the server. It sees reviewed tool definitions. The MCP client handles discovery and calls, while the server keeps ownership of validation, policy, and communication with its domain system.

01

ADK-Rust agent

Chooses a capability from the reviewed tool catalog.

02

MCP client

Discovers schemas, sends calls, and receives typed content.

03

Database MCP Server

Validates the request and owns 22 documented tool contracts.

04

Domain system

Keeps the API, data, credentials, and business rules behind the server.

Connection: stdio · Server framework: ADK MCP SDK + rmcp

From the project documentation

The server’s published architecture

Open the source diagram ↗
Database MCP Server architecture diagram from its official repository

Tool catalog

What can an agent ask Database MCP Server to do?

Each tool has a stable name, a human-readable purpose, and a JSON input contract discovered during MCP initialization. Risk classes come from the project’s registry manifest when one is available.

22 named tools

list_tables

All tables/collections in the database

see documentation
describe_table

Columns, types, constraints, indexes

see documentation
get_relationships

Foreign keys and references

see documentation
list_indexes

All indexes on a table

see documentation
get_database_stats

DB size, table sizes, row counts

see documentation
search_schema

Find tables/columns by name

see documentation
query

Execute read-only SQL (SELECT only)

see documentation
sample_data

Get sample rows from a table

see documentation
filter_table

Query with filters, ordering, pagination

see documentation
explain_query

Get EXPLAIN/query plan

see documentation
get_column_stats

Distinct values and distributions

see documentation
execute

Run INSERT/UPDATE/DELETE

see documentation

Governance

Understand the effect of every tool.

A server connection inherits the authority of its credentials and deployment environment. The declarations below come from this project’s README and MCP registry manifest; your application still decides which tools an agent receives and where approval is required.

22 see documentation
  • Read-only by default — query tool only allows SELECT statements
  • Writes are gated — execute and run_migration are classified as gated writes
  • No data stored — MCP is a pure API passthrough
  • Parameterized queries — prevents SQL injection via params array

MCP surface

What the current documentation declares.

MCP can carry tools, resources, prompts, structured results, progress, cancellation, and long-running work. This record highlights the modern protocol features explicitly mentioned by this repository.

The current README concentrates on its tool surface. Check the source and release notes before relying on optional MCP capabilities beyond tool discovery and invocation.
ADK MCP SDKrmcp

Install and connect

Follow the project’s documented starting point.

Install the server in the environment that owns its credentials and domain access. Add it to your MCP host, verify the discovered tools, and narrow the toolset before giving it to a production agent.

Install
cargo install mcp-database
ADK-Rust connection shape
let toolset = McpToolset::from_stdio(
    "mcp-database",
    ["mcp-database"],
).await?;

let agent = LlmAgentBuilder::new("agent")
    .tools(toolset.tools().await?)
    .build()?;

Commands and configuration are extracted from the public README. Confirm prerequisites, environment variables, and release-specific options in the official documentation before deployment.

Official documentation

Continue with the project maintainers’ source of truth.

This page provides an approachable map of the server. The repository remains authoritative for exact schemas, prerequisites, configuration, examples, tests, releases, and security updates.

Source record

Release and repository metadata for this catalog entry.

View public repository ↗
Version
1.1.0
License
Apache-2.0
Tools
22
Revision
269c42b5df8c
Updated
May 25, 2026
Transportsstdio