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.

codecov

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álogo
      • schema (string, opcional): Nome do Esquema
      • tableName (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

claude desktop example

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.

Northwind Sqlite

Chinook

Dados de exemplo de loja de música, incluindo artistas, álbuns, faixas, faturas, etc.

Banco de dados Chinook

Uso com Claude Desktop

A partir do jar

  1. Baixe o jar da seção Releases
  2. 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

  1. Clone o repositório
  2. 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.