DB Query MCP Server

Truy vấn và xuất dữ liệu từ nhiều cơ sở dữ liệu khác nhau bao gồm ElasticSearch, MySQL, PostgreSQL, Oracle và SQLite.

Tài liệu

image

Python Version License PyPI GitHub pull request

[ 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:

DatabaseConnection PackageExample Connection String
SQLiteBuilt-in Pythonsqlite:///example.db
MySQLpymysql or mysql-connector-pythonmysql+pymysql://user:password@localhost/dbname
PostgreSQLpsycopg2 or psycopg2-binarypostgresql://user:password@localhost:5432/dbname
Oraclecx_Oracleoracle+cx_oracle://user:password@hostname:1521/sidname
SQL Serverpyodbc or pymssqlmssql+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"
        ]
      }
  }
}