JDBC Explorer

Un servidor que permite a los LLMs conectarse e interactuar con bases de datos a través de JDBC, construido utilizando el framework Spring AI MCP.

Documentación

JDBC Explorer

Un servidor de Model Context Protocol para conectar LLMs a bases de datos mediante JDBC. Este servidor está implementado utilizando el framework Spring AI MCP. El servidor expone herramientas, un prompt y recursos para interactuar con la base de datos conectada.

codecov

Herramientas 🛠

El servidor contiene las siguientes herramientas.

  • addBusinessInsight

    • Añade conocimientos de negocio descubiertos durante el análisis de datos al recurso "Business Insights". Normalmente se ejecuta como parte del prompt "data-explorer"
    • Entradas:
      • insight (String): conocimiento de negocio descubierto durante el análisis de datos
  • executeQuery

    • Ejecuta una consulta SQL contra la base de datos conectada, devolviendo los resultados
    • Entradas:
      • query (string): la consulta SQL a ejecutar
  • getTableNames

    • Obtiene los nombres de las tablas, incluyendo tipo, esquema y comentarios
    • Entradas: ninguna
  • describeTable

    • Describe una tabla en la base de datos incluyendo información de columnas, claves primarias, claves foráneas e índices.
    • Entradas:
      • catalog (string, opcional): Nombre del catálogo
      • schema (string, opcional): Nombre del esquema
      • tableName (string): Nombre de la tabla para obtener la descripción
  • getDatabaseInfo

    • Obtiene información sobre la base de datos incluyendo dialecto SQL, palabras clave, nombre del producto de la base de datos, etc.
    • Entradas: ninguna

Prompts 📄

El servidor contiene 1 prompt.

  • data-explorer

Este prompt ayuda al usuario a explorar los datos en sus bases de datos. Debe presentar al usuario una selección de paneles que el LLM puede crear. El LLM ejecutará entonces las consultas necesarias y creará el panel seleccionado utilizando un artefacto.

El resultado del prompt en Claude Desktop

claude desktop example

Recursos 🗂️

El servidor contiene 1 recurso.

  • Business Insights

    • Contiene la lista de conocimientos de negocio que el LLM ha identificado durante el análisis de datos.
    • uri: "memo://insights"

Variantes JDBC compatibles

Este servidor actualmente soporta las siguientes bases de datos.

Base de datos
sqlite
PostgreSQL
Oracle
h2
MySQL

Bases de datos de ejemplo

Netflix Movies

Datos de películas de muestra basados en el catálogo de Netflix Base de datos de muestra de Netflix

Northwind

Base de datos de muestra clásica de Microsoft con clientes, pedidos, productos, etc.

Northwind Sqlite

Chinook

Datos de muestra de una tienda de música que incluyen artistas, álbumes, pistas, facturas, etc.

Base de datos Chinook

Uso con Claude Desktop

Desde el jar

  1. Descarga el jar desde Releases
  2. O clona el repositorio y compila el jar con maven
mvn clean package

Añade esto a tu claude_desktop_config.json:

Sqlite

{
    "mcpServers": {
		  "jdbc-explorer": {
			"command": "java",
			"args": [
			  "-jar",
			  "C:\\\\mcp\\\\jdbc.explorer-0.4.0.jar",
			  "--db.url=jdbc:sqlite:C:\\\\mcp\\\\jdbc-explorer\\\\netflixdb.sqlite"
			]
		  }
	}
}

Base de datos con nombre de usuario y contraseña

{
    "mcpServers": {
		  "jdbc-explorer": {
			"command": "java",
			"args": [
			  "-jar",
			  "C:\\\\mcp\\\\jdbc.explorer-0.4.0.jar",
			  "--db.url=jdbc:postgresql://localhost:5432/chinook",
			  "--db.username=dbuser",
			  "--db.password=dbpassword"
			]
		  }
	}
}

Desde la imagen Docker

Puedes compilar la imagen localmente o descargarla desde GitHub Container Registry:

Opción 1: Descargar desde GitHub Container Registry

docker pull ghcr.io/mikechao/jdbc-explorer:latest

Opción 2: Compilar localmente

  1. Clona el repositorio
  2. Compila la imagen docker
docker build -t jdbc-explorer .

Añade esto a tu claude_desktop_config.json:

Base de datos con nombre de usuario y contraseña

{
    "mcpServers": {
		  "jdbc-explorer": {
			"command": "docker",
			"args": [
			  "run",
			  "-i",
			  "--rm",
			  "-e",
			  "DB_URL=jdbc:postgresql://host.docker.internal:5432/chinook",
			  "-e",
			  "DB_USERNAME=dbuser",
			  "-e",
			  "DB_PASSWORD=dbpassword",
			  "ghcr.io/mikechao/jdbc-explorer"
			]
		  }
	}
}

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request.

Licencia

Este servidor MCP está licenciado bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.