JDBC-MCP
Permite que assistentes de IA interajam com diversos bancos de dados por meio de conexões JDBC.
Documentação
JDBC-MCP - Acesso a Banco de Dados para Assistentes de IA
Este é um fork do Quarkus MCP JDBC Server com recursos adicionados:
- Implantação com Docker - Execute facilmente o MCP SSE ou o MCP STDIO como uma aplicação containerizada
- Segurança aprimorada - Consultas de escrita (INSERT, UPDATE, DELETE) estão desabilitadas por padrão e precisam ser explicitamente habilitadas
O servidor Model Context Protocol (MCP) permite que assistentes de IA interajam com bancos de dados por meio de conexões JDBC, possibilitando que LLMs inspecionem, consultem, criem e modifiquem o conteúdo do banco de dados.
Novos Recursos
Implantação com Docker
Agora você pode executar o servidor JDBC-MCP em um contêiner Docker.
MCP SSE
Uso simples
docker run -d --name jdbc-mcp \
-p 8080:8080 \
-e enable.write.sql=false \
-e jdbc.user=db_user \
-e jdbc.password=db_password \
-e jdbc.url=jdbc:postgresql://host:port/database \
guang1/jdbc-mcp:latest
Usando um Arquivo de Ambiente
Crie um arquivo .env:
enable.write.sql=false
jdbc.user=db_user
jdbc.password=db_password
jdbc.url=jdbc:postgresql://host:port/database
Em seguida, execute:
docker run -d --name jdbc-mcp \
-p 8080:8080 \
--env-file .env \
guang1/jdbc-mcp:latest
Docker Compose para SSE
Exemplo Básico
services:
jdbc-mcp:
container_name: jdbc-mcp
ports:
- 8080:8080
environment:
- enable.write.sql=false
- jdbc.user=db_user
- jdbc.password=db_password
- jdbc.url=jdbc:postgresql://host:port/database
restart: always
image: guang1/jdbc-mcp:latest
Com Arquivo de Ambiente
services:
jdbc-mcp:
container_name: jdbc-mcp
ports:
- 8080:8080
env_file:
- .env
restart: always
image: guang1/jdbc-mcp:latest
MCP SSE URL
http://localhost:8080/mcp/sse
MCP STDIO
Must pass quarkus.mcp.server.stdio.enabled=true, quarkus.log.console.enable=false and quarkus.log.console.stderr=false environment variables with -i interactive option.
Simple usage
docker run --rm \
-e enable.write.sql=false \
-e jdbc.user=db_user \
-e jdbc.password=db_password \
-e jdbc.url=jdbc:postgresql://host:port/database \
-e quarkus.mcp.server.stdio.enabled=true \
-e quarkus.log.console.enable=false \
-e quarkus.log.console.stderr=false \
guang1/jdbc-mcp:latest
Using an Environment File
docker run --rm
--env-file .env \
-e quarkus.mcp.server.stdio.enabled=true \
-e quarkus.log.console.enable=false \
-e quarkus.log.console.stderr=false \
guang1/jdbc-mcp:latest
Claude Desktop Configuration (STDIO)
To use the Docker version with Claude Desktop, add this to your claude_desktop_config.json or server_config.json file:
Simple usage
{
"mcpServers": {
"jdbc": {
"command": "docker",
"args": [
"run",
"--rm",
"-e",
"enable.write.sql=false",
"-e",
"jdbc.user=db_user",
"-e",
"jdbc.password=db_password",
"-e",
"jdbc.url=jdbc:postgresql://host:port/database",
"-e",
"quarkus.mcp.server.stdio.enabled=true",
"-e",
"quarkus.log.console.enable=false",
"-e",
"quarkus.log.console.stderr=false",
"-i",
"guang1/jdbc-mcp:latest"
]
}
}
}
Using an Environment File
{
"mcpServers": {
"jdbc": {
"command": "docker",
"args": [
"run",
"--rm",
"--env-file",
".env",
"-e",
"quarkus.mcp.server.stdio.enabled=true",
"-e",
"quarkus.log.console.enable=false",
"-e",
"quarkus.log.console.stderr=false",
"-i",
"guang1/jdbc-mcp:latest"
]
}
}
}
Configuração
Variáveis de Ambiente
| Variável | Descrição | Padrão |
|---|---|---|
jdbc.url | URL de conexão JDBC (obrigatória) | - |
jdbc.user | Nome de usuário do banco de dados | - |
jdbc.password | Senha do banco de dados | - |
enable.write.sql | Habilita operações SQL que modificam dados | false |
Tipos de Banco de Dados Suportados
Este servidor MCP suporta vários tipos de banco de dados por meio de JDBC. Para informações detalhadas sobre as variantes JDBC suportadas, consulte a documentação do quarkus-mcp-servers/jdbc.
Considerações de Segurança
⚠️ Aviso: Quando enable.write.sql estiver definido como true, o servidor MCP pode executar instruções SQL que modificam dados. Use com cautela em ambientes de produção.
Considere estas práticas recomendadas:
- Use usuários de banco de dados somente leitura quando possível
- Implemente controles de acesso em nível de rede
- Execute em um ambiente de rede isolado
Usando com LLMs
Este servidor MCP fornece uma API padronizada que Modelos de Linguagem de Grande Porte podem usar para interagir com seu banco de dados. Para conectar seu LLM:
- Configure o LLM para usar o endpoint do servidor MCP
- Defina os recursos que deseja permitir (somente leitura vs. leitura e escrita)
- Garanta que o esquema do seu banco de dados esteja acessível ao servidor MCP
Segurança de Consultas de Escrita
Por padrão, operações de escrita (INSERT, UPDATE, DELETE) estão desabilitadas por segurança. Para habilitá-las:
- Ao usar Docker: adicione
-e enable.write.sql=trueconforme mostrado acima
Documentação Original
Para todos os outros recursos, incluindo bancos de dados suportados, uso geral, bancos de dados de exemplo, componentes MCP e solução de problemas, consulte a documentação do repositório original:
Documentação do Quarkus MCP JDBC Server
Licença
Este projeto é licenciado sob a Apache License 2.0.
Agradecimentos
- Projeto original: Quarkiverse MCP Servers
- Construído com Quarkus
- Containerizado com Docker