JDBC Explorer
Um servidor que permite que LLMs se conectem e interajam com bancos de dados via JDBC, construído usando o framework Spring AI MCP.
Documentação
JDBC Explorer
Um servidor Model Context Protocol para conectar LLMs a bancos de dados via JDBC. Este servidor é implementado usando o framework Spring AI MCP. O servidor expõe ferramentas, um prompt e recursos para interagir com o banco de dados conectado.
Ferramentas 🛠
O servidor contém as seguintes ferramentas.
-
addBusinessInsight
- Adiciona insights de negócio descobertos durante a análise de dados ao recurso "Business Insights". Geralmente executado como parte do prompt "data-explorer"
- Entradas:
insight(String): insight de negócio descoberto durante a análise de dados
-
executeQuery
- Executa uma consulta SQL no banco de dados conectado, retornando os resultados
- Entradas:
query(string): a consulta SQL a ser executada
-
getTableNames
- Obtém os nomes das tabelas, incluindo tipo, esquema e observações
- Entradas: nenhuma
-
describeTable
- Descreve uma tabela no banco de dados, incluindo informações de colunas, chaves primárias, chaves estrangeiras e índices.
- Entradas:
catalog(string, opcional): Nome do Catálogoschema(string, opcional): Nome do EsquematableName(string): Nome da tabela para obter a descrição
-
getDatabaseInfo
- Obtém informações sobre o banco de dados, incluindo dialeto SQL, palavras-chave, nome do produto do banco de dados, etc.
- Entradas: nenhuma
Prompts 📄
O servidor contém 1 prompt.
- data-explorer
Este prompt ajuda o usuário a explorar os dados em seus bancos de dados. Ele deve apresentar ao usuário uma escolha de painéis que o LLM pode criar. O LLM então executará as consultas necessárias e criará o painel selecionado usando um artefato.
O resultado do prompt no Claude Desktop
Recursos 🗂️
O servidor contém 1 recurso.
-
Business Insights
- Contém a lista de insights de negócio que o LLM identificou durante a análise de dados.
uri: "memo://insights"
Variantes JDBC suportadas
Este servidor atualmente suporta os seguintes bancos de dados.
| Banco de dados |
|---|
| sqlite |
| PostgreSQL |
| Oracle |
| h2 |
| MySQL |
Bancos de dados de exemplo
Netflix Movies
Dados de filmes de exemplo baseados no catálogo da Netflix Banco de dados de exemplo Netflix
Northwind
Banco de dados de exemplo clássico da Microsoft com clientes, pedidos, produtos, etc.
Chinook
Dados de exemplo de loja de música, incluindo artistas, álbuns, faixas, faturas, etc.
Uso com Claude Desktop
A partir do jar
- Baixe o jar da seção Releases
- Ou clone o repositório e compile o jar com maven
mvn clean package
Adicione isso ao seu 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"
]
}
}
}
Banco de dados com nome de usuário e senha
{
"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"
]
}
}
}
A partir da imagem Docker
Você pode compilar a imagem localmente ou baixá-la do GitHub Container Registry:
Opção 1: Baixar do GitHub Container Registry
docker pull ghcr.io/mikechao/jdbc-explorer:latest
Opção 2: Compilar localmente
- Clone o repositório
- Compile a imagem docker
docker build -t jdbc-explorer .
Adicione isso ao seu claude_desktop_config.json:
Banco de dados com nome de usuário e senha
{
"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"
]
}
}
}
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
Licença
Este servidor MCP é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.