DB Query

Consultar e

Documentação

image

Python Version License PyPI GitHub pull request

[ English | 中文 ]

db-query-mcp

Introdução

db-query-mcp é uma ferramenta MCP que suporta consultas e exportações de diversos bancos de dados, com os seguintes recursos:

  • Suporte Multi-Banco: Compatibilidade total com bancos de dados populares (ElasticSearch, MySQL, PostgreSQL, Oracle, SQLite, etc.)
  • Acesso Seguro: Modo somente leitura por padrão para proteção de dados
  • Consulta Inteligente: Conversão de linguagem natural para SQL com otimização de consultas
  • Exportação de Dados: Recursos de exportação em CSV / Json
  • Roadmap: Expandindo o suporte para MongoDB e GraphDatabase para se tornar um MCP de consulta de banco de dados full-stack

Demonstração

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

Registro de Alterações

  • 2025-06-02: Adicionado suporte para consultas ao banco de dados ElasticSearch

Instalação

pip install db-query-mcp

ElasticSearch:

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

Instalar a partir do GitHub:

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

MySQL requer dependências adicionais:

pip install pymysql

PostgreSQL requer dependências adicionais:

pip install psycopg2-binary

Para outros bancos de dados, instale seus respectivos pacotes de conexão:

Banco de DadosPacote de ConexãoString de Conexão de Exemplo
SQLitePython integradosqlite:///example.db
MySQLpymysql ou mysql-connector-pythonmysql+pymysql://user:password@localhost/dbname
PostgreSQLpsycopg2 ou psycopg2-binarypostgresql://user:password@localhost:5432/dbname
Oraclecx_Oracleoracle+cx_oracle://user:password@hostname:1521/sidname
SQL Serverpyodbc ou pymssqlmssql+pyodbc://user:password@hostname/dbname

Configuração

Observação: Para determinados clientes, como o Cursor, apenas um servidor db-query-mcp pode ser executado por vez.

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

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