addBusinessInsightLABSCO SUMMARY
One explorer for whatever database happens to be behind the JDBC URL.
Because it goes through JDBC, the same tools cover SQLite on a laptop and Oracle in a data centre - and it will tell you which dialect it reached, which is usually what decides whether the SQL you wrote runs. The insight memo turns an exploration session into something readable afterwards.
What it is
A database explorer built on Spring AI MCP that connects over JDBC. It lists and describes tables, runs queries, reports which dialect it is talking to, and keeps a running memo of the insights found along the way.
What you get
- Table names with their type, schema and remarks
- A table described in full: columns, primary keys, foreign keys and indexes
- A SQL query executed against the connected database, with results returned
- Database information - SQL dialect, keywords, product name - so the query is written for the right dialect
- Business insights recorded into a memo resource as the analysis goes
- A data-explorer prompt that offers dashboards and then runs the queries to build the one you choose
Requirements
A JDBC-reachable database - SQLite, PostgreSQL, Oracle, H2 and MySQL are the supported variants - and a JVM to run it on, since it is a Spring AI application.
Setup effort
One command — docker pull ghcr.io/mikechao/jdbc-explorer:latest
USE CASES
Getting oriented in a database you inherited
List the tables with their schemas and remarks, describe the ones that matter, and confirm what product you are actually connected to.
Writing SQL for the right dialect
Read the dialect and keyword list first, so the query is written for that database rather than corrected after it fails.
Answering a business question from the data
Run the query, then record what it showed into the insights memo so the finding outlives the session.
Understanding how two tables relate
Read both descriptions, including primary and foreign keys, then test the join with a query.
5 tools
Listed in project docs. Your client may show a different list.
executeQuerygetTableNamesdescribeTablegetDatabaseInfoBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
- docker on PATH
- Java, for the JAR setups (plus Maven if you build the jar yourself)
INSTALLATION
Connect your client
Server setup
docker pull ghcr.io/mikechao/jdbc-explorer:latestMCP Clients
Claude Desktop — Docker
{
"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"
]
}
}
}chinook in DB_URL and dbuser / dbpassword are the example database and login. In this example host.docker.internal is the host name the container uses for a database on your own machine.
Claude Desktop — JAR, SQLite
Download it from the project's Releases page (https://github.com/mikechao/jdbc-explorer/releases), or clone the repository and build it with Maven:
Get the jar
git clone https://github.com/mikechao/jdbc-explorer
cd jdbc-explorer
mvn clean packageAdd it to claude_desktop_config.json
{
"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"
]
}
}
}The jar path is where your jar is, and the SQLite path in --db.url is your database file; C:\mcp\… is the example's.
Claude Desktop — JAR, password
Download it from the project's Releases page (https://github.com/mikechao/jdbc-explorer/releases), or clone the repository and build it with Maven:
Get the jar
git clone https://github.com/mikechao/jdbc-explorer
cd jdbc-explorer
mvn clean packageAdd it to claude_desktop_config.json
{
"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"
]
}
}
}The jar path is where your jar is, and --db.url, --db.username and --db.password are your database's address and login.