DBPilot MCP
A monitoring platform for SQL Server, MySQL and PostgreSQL with an 11-tool MCP: the agent reads metrics, not the databases.
- 99 ★ on the repository
- Last commit
- Apache-2.0
Extended access
Why this level
- The platform stores connected database passwords in encrypted form and polls instances with them.
- The agent reads slow query texts, which may contain data.
Install
- Works in
Manual install
dotnet add package DBPilotThe first Quick start command in the README: the package is added to a new web project. Startup code and settings are given there too.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The platform stores connected database passwords in encrypted form and polls instances with them.
- The agent reads slow query texts, which may contain data.
This is third-party code. Review the repository files before installing.
What it does
DBPilot continuously samples database instances and covers the administrator workflow in one web console: load trends, top SQL, query plan changes, index advice, blocking, deadlocks and the slow query log. It supports SQL Server 2008-2022, MySQL 8.0 and newer, and PostgreSQL 13 and newer. The built-in MCP server at `/mcp` runs over Streamable HTTP with an API key and hands the collected data to agents through 11 read-only tools. The agent never connects to your databases directly, and every call is written to an audit log. The server is off by default and is turned on by a non-empty `DBPilot:Mcp:ApiKey`.
Who it is for. DBAs and developers responsible for SQL Server, MySQL or PostgreSQL who want to ask an agent about load instead of paging through a console.
Good fit when
- After a release the database slowed down and you need to know which queries got slower in the last hour.
- Blocking or deadlocks recur and the chain of culprits is wanted without manual digging.
- Tables grew and the agent suggests missing indexes based on collected statistics.
- Several databases of different engines are viewed from one place without handing passwords to the agent.
Not a fit when
- You need to run a query or change data: the tools only read metrics.
- There is nowhere to host the platform: .NET 8 or newer and a metadata database are required.
- The database instance must not be polled even for metadata.
Example request
Use dbpilot to check instance load over the last hour: which SQL got slower and whether there is blocking.MCP
- Transport
- http
- Authentication
- key is optional
Environment variables
DBPILOT_MASTER_KEYsecret- Platform master key of at least 32 characters; `DBPilot:Auth:Secret` can be set instead
Limitations
You must deploy the platform yourself: .NET SDK 8 or newer and a metadata store (SQLite suffices for a trial, a server database is better for production). History accumulates over time, so charts are empty at first. Change the default administrator password from the README. The master key signs login cookies and encrypts instance passwords, and if it is lost stored passwords cannot be decrypted and must be entered again. Slow query texts the agent reads may contain data.
How to disable. Remove the MCP connection from the client and clear `DBPilot:Mcp:ApiKey`, then restart the platform: an empty key switches the server off. The platform itself is removed by stopping the process.
FAQ
How do I enable the MCP server?
Set a non-empty `DBPilot:Mcp:ApiKey` in the settings and restart the platform. While the key is empty the server stays off.
How do I connect Codex CLI?
Add a `[mcp_servers.dbpilot]` section to `~/.codex/config.toml` with the `/mcp` address and an `X-Api-Key` header; the README has an example.
Will the platform load my databases?
The authors claim under 1 percent CPU: collectors read only metadata views and never scan business tables. The heaviest job, index snapshots, runs at night.
Where are database passwords stored?
In the platform metadata, encrypted with AES-256-GCM using the master key. Without the key they cannot be read.
Is SQLite suitable for the metadata store?
For a trial yes, it needs no dependencies. For production the README recommends a server database: SQL Server, MySQL or PostgreSQL.
Discussion
No questions or reviews yet.
Related
MCP serversOne MCP server for SQLite, SQL Server, PostgreSQL and MySQL: read and change data, edit schemas and export to CSV and JSON
An agent queries GreptimeDB metrics, logs and traces with SQL, TQL and RANGE, with write protection and data masking
A single-binary MCP server for MySQL, MariaDB, PostgreSQL and SQLite: read-only by default, with optional PII redaction
MySQL MCP Server Pro
mysql_mcp_server_pro
A MySQL MCP server that runs SQL under access roles, finds tables by comments and analyzes locks, indexes and query plans
A token-lean MCP server for PostgreSQL, MySQL, MariaDB, SQL Server and SQLite with a read-only mode
DB MCP Server
db-mcp-server
An MCP server for several databases with protection: a read-only mode per database and a row limit. Written in Go, launched in Docker
README in short
The platform runs as a single .NET process and keeps history in its own database. The MCP server gives agents evidence from that history, and direct access to the databases stays closed to them.