About DB Query MCP
db-query-mcp is an MCP server for querying and exporting data from several database systems. It includes natural-language-to-SQL conversion and defaults to read-only access.
Key features
- 01Support for multiple databases
- 02Natural language to SQL
- 03Query optimization
- 04CSV and JSON export
- 05Read-only by default
Use cases
- 01Query database records
- 02Turn a natural-language question into SQL
- 03Export query results as CSV or JSON
MCP support
Exposes database querying and data export capabilities to MCP clients, with configuration for the database type and connection.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README
[ English | 中文 ]
db-query-mcp
Introduction
db-query-mcp is a mcp tool supporting diverse database querying and exporting, featuring:
- Multi-DB Support: Full compatibility with mainstream databases (ElasticSearch, MySQL, PostgreSQL, Oracle, SQLite, etc.)
- Secure Access: Default read-only mode for data protection
- Smart Query: Natural language to SQL conversion with query optimization
- Data Export: CSV / Json export capabilities
- Roadmap: Expanding support for MongoDB and GraphDatabase to become full-stack DB query MCP
Demo
https://github.com/user-attachments/assets/60771cda-8b52-41bd-90e3-523c836f6366
Changelog
- 2025-06-02: Added support for ElasticSearch database queries
Installation
pip install db-query-mcp
ElasticSearch:
pip install "db-query-mcp[elasticsearch]"
Install from GitHub:
pip install git+https://github.com/NewToolAI/db-query-mcp
MySQL requires additional dependencies:
pip install pymysql
PostgreSQL requires additional dependencies:
pip install psycopg2-binary
For other databases, install their respective connection packages:
| Database | Connection Package | Example Connection String |
|---|---|---|
| SQLite | Built-in Python | sqlite:///example.db |
| MySQL | pymysql or mysql-connector-python | mysql+pymysql://user:password@localhost/dbname |
| PostgreSQL | psycopg2 or psycopg2-binary | postgresql://user:password@localhost:5432/dbname |
| Oracle | cx_Oracle | oracle+cx_oracle://user:password@hostname:1521/sidname |
| SQL Server | pyodbc or pymssql | mssql+pyodbc://user:password@hostname/dbname |
Configuration
Note: For certain clients, such as Cursor, only one db-query-mcp server can run at a time.
Run using uvx
{
"mcpServers": {
"sqlite_db_mcp": {
"command": "uvx",
"args": [
"db-query-mcp",
"--db",
"sqlite",
"--uri",
"sqlite:///sqlite_company.db"
]
}
}
}
{
"mcpServers": {
"es_db_mcp": {
"command": "uvx",
"args": [
"db-query-mcp",
"--db",
"elasticsearch",
"--uri",
"https://user:password@localhost:9200?index=test_data_index&ca_certs=/home/user/http_ca.crt"
]
}
}
}
Run Using command
{
"mcpServers": {
"sqlite_db_mcp": {
"command": "db-query-mcp",
"args": [
"--db",
"sqlite",
"--uri",
"sqlite:///sqlite_company.db"
]
}
}
}
{
"mcpServers": {
"es_db_mcp": {
"command": "db-query-mcp",
"args": [
"--db",
"elasticsearch",
"--uri",
"https://user:password@localhost:9200?index=test_data_index&ca_certs=/home/user/http_ca.crt"
]
}
}
}
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.