DB Query

Consulta y exporta datos de varias bases de datos, incluyendo ElasticSearch, MySQL, PostgreSQL, Oracle y SQLite.

Documentación

image

Python Version License PyPI GitHub pull request

[ English | 中文 ]

db-query-mcp

Introducción

db-query-mcp es una herramienta mcp que admite diversas consultas y exportación de bases de datos, con las siguientes características:

  • Soporte Multi-BD: Compatibilidad total con bases de datos principales (ElasticSearch, MySQL, PostgreSQL, Oracle, SQLite, etc.)
  • Acceso Seguro: Modo de solo lectura por defecto para protección de datos
  • Consulta Inteligente: Conversión de lenguaje natural a SQL con optimización de consultas
  • Exportación de Datos: Capacidades de exportación CSV / Json
  • Hoja de Ruta: Expansión del soporte para MongoDB y GraphDatabase para convertirse en un MCP de consulta de BD de pila completa

Demostración

https://github.com/user-attachments/assets/60771cda-8b52-41bd-90e3-523c836f6366

Registro de cambios

  • 2025-06-02: Se añadió soporte para consultas a bases de datos ElasticSearch

Instalación

pip install db-query-mcp

ElasticSearch:

pip install "db-query-mcp[elasticsearch]"

Instalar desde GitHub:

pip install git+https://github.com/NewToolAI/db-query-mcp

MySQL requiere dependencias adicionales:

pip install pymysql

PostgreSQL requiere dependencias adicionales:

pip install psycopg2-binary

Para otras bases de datos, instale sus respectivos paquetes de conexión:

Base de datosPaquete de conexiónCadena de conexión de ejemplo
SQLitePython integradosqlite:///example.db
MySQLpymysql o mysql-connector-pythonmysql+pymysql://user:password@localhost/dbname
PostgreSQLpsycopg2 o psycopg2-binarypostgresql://user:password@localhost:5432/dbname
Oraclecx_Oracleoracle+cx_oracle://user:password@hostname:1521/sidname
SQL Serverpyodbc o pymssqlmssql+pyodbc://user:password@hostname/dbname

Configuración

Nota: Para ciertos clientes, como Cursor, solo puede ejecutarse un servidor db-query-mcp a la vez.

Ejecutar usando 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"
        ]
      }
  }
}

Ejecutar usando comando

{
  "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"
        ]
      }
  }
}