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.
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álogoschema(string, opcional): Nombre del esquematableName(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
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.
Chinook
Datos de muestra de una tienda de música que incluyen artistas, álbumes, pistas, facturas, etc.
Uso con Claude Desktop
Desde el jar
- Descarga el jar desde Releases
- 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
- Clona el repositorio
- 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.