多数据库查询服务器

一个支持PostgreSQL、MySQL和SQL Server的多数据库查询服务器,适用于开发和测试环境。

  • by loadept
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 loadept/db-mcp

使用说明

db-mcp

Lenguaje: Go 1.25+ Tipo: Ejecutable binario

⚠️ ADVERTENCIA IMPORTANTE

NO DEBE EJECUTARSE EN UNA BASE DE DATOS DE PRODUCCIÓN

Este servidor está diseñado para entornos de desarrollo y prueba. No se recomienda su uso en bases de datos de producción sin revisión exhaustiva de seguridad.

Descripción

Servidor MCP para consultas multi-base de datos. Soporta PostgreSQL, MySQL y SQL Server (MSSQL) mediante interfaz pluggable.

Nota sobre MSSQL: SQL Server no soporta transacciones de solo lectura a nivel del driver, por lo que las consultas se ejecutan sin encapsulación transaccional. Esto significa que los cambios se aplican inmediatamente.

Instalación

Última Versión (Latest - Último Commit)

Para obtener las últimas características y mejoras (puede contener cambios no probados):

Con Go

# Instala el binario en $GOBIN (o $GOPATH/bin)
go install loadept.com/db-mcp/v2@latest

# También es posible ejecutar directamente sin instalar:
go run loadept.com/db-mcp/v2@latest

Con Docker

docker run --rm -i loadept/db-mcp:latest -u "postgres://usuario:contraseña@host:puerto/basedatos?sslmode=disable"
docker run --rm -i loadept/db-mcp:latest -u "usuario:contraseña@tcp(host:puerto)/basedatos"
docker run --rm -i loadept/db-mcp:latest -u "sqlserver://usuario:contraseña@host:puerto"

Versión Estable (Releases Tagueadas)

Para versiones estables, probadas y seguras:

Binarios Precompilados

Descarga el ejecutable precompilado para tu sistema operativo desde las releases.

Con Docker

docker run --rm -i loadept/db-mcp:v2.0.0 -u "postgres://usuario:contraseña@host:puerto/basedatos?sslmode=disable"
docker run --rm -i loadept/db-mcp:v2.0.0 -u "usuario:contraseña@tcp(host:puerto)/basedatos"
docker run --rm -i loadept/db-mcp:v2.0.0 -u "sqlserver://usuario:contraseña@host:puerto"

Ejecución

El motor de base de datos se detecta automáticamente a partir de la URI de conexión, por lo que no es necesario especificar el flag -e.

PostgreSQL

# Linux/macOS
./db-mcp -u "postgres://usuario:contraseña@localhost:5432/basedatos?sslmode=disable"

# Windows
db-mcp.exe -u "postgres://usuario:contraseña@localhost:5432/basedatos?sslmode=disable"

MySQL

# Linux/macOS
./db-mcp -u "root:godylody@tcp(raspberry.local:3306)/mcp_tests"

# Windows
db-mcp.exe -u "root:godylody@tcp(raspberry.local:3306)/mcp_tests"

SQL Server (MSSQL)

# Linux/macOS
./db-mcp -u "sqlserver://sa:Password123@localhost:1433?database=mcp_tests"

# Windows
db-mcp.exe -u "sqlserver://sa:Password123@localhost:1433?database=mcp_tests"

Opciones de Línea de Comandos

-u        URI de conexión a la base de datos (requerido, SIEMPRE ENTRE COMILLAS)
          PostgreSQL: postgres://usuario:contraseña@host:puerto/basedatos?sslmode=disable
          MySQL:      usuario:contraseña@tcp(host:puerto)/basedatos
          MSSQL:      sqlserver://usuario:contraseña@host:puerto?database=basedatos

-e        Motor de base de datos (requerido)
          Valores: postgres, mysql, mssql

-version  Muestra la versión de la aplicación

Identificación de Versiones

Para saber qué tipo de versión tienes instalada, ejecuta db-mcp -version:

  • dev: Última versión (latest) - Contiene el último commit, puede ser inestable
  • v2.0.0 (o similar): Versión estable - Release tagueada, probada y segura

Herramientas

  • execute_query: Ejecuta consultas SELECT en el motor de BD configurado (máx. 50 filas)

Compilación desde el código fuente

go build -o db-mcp .