MCP para acesso a dados de banco sql
593
| Campo | Valor |
|---|---|
| Nome da Imagem | flaviomagacho/aitosql |
| Status Atual | ⏳ AGUARDANDO PRIMEIRA PUBLICAÇÃO |
| Repositório GitHub | magacho/aiToSql |
| URL Docker Hub | https://hub.docker.com/r/flaviomagacho/aitosql |
| Visibilidade | 🌍 Pública |
| Multi-Arquitetura | ✅ Sim (amd64, arm64) |
Após a primeira release bem-sucedida, as seguintes tags estarão disponíveis:
| Tag | Descrição | Uso Recomendado |
|---|---|---|
latest | Última versão estável publicada | ⚠️ Desenvolvimento |
0.3.0 | Versão específica 0.3.0 | ✅ Produção |
v0.3.0 | Versão específica com prefixo 'v' | ✅ Produção |
0.2.0 | Versão anterior 0.2.0 | 📦 Histórico |
v0.2.0 | Versão anterior com prefixo 'v' | 📦 Histórico |
REL-0.3.0 (Git Tag)
↓
Gera 3 tags Docker:
├─ flaviomagacho/aitosql:latest
├─ flaviomagacho/aitosql:0.3.0
└─ flaviomagacho/aitosql:v0.3.0
| Arquitetura | Status | Plataforma |
|---|---|---|
linux/amd64 | ✅ | Intel/AMD 64-bit |
linux/arm64 | ✅ | Apple Silicon, ARM servers |
# Última versão
docker pull flaviomagacho/aitosql:latest
# Versão específica (recomendado para produção)
docker pull flaviomagacho/aitosql:0.3.0
# O driver JDBC é detectado automaticamente da URL!
docker run -d \
--name aitosql \
-e DB_URL="jdbc:postgresql://localhost:5432/mydb" \
-e DB_USERNAME="readonly_user" \
-e DB_PASSWORD="secure_password" \
-p 8080:8080 \
flaviomagacho/aitosql:0.3.0
🎯 Novo! Não é necessário especificar
DB_TYPE- o driver é detectado automaticamente da URL JDBC.
version: '3.8'
services:
aitosql:
image: flaviomagacho/aitosql:0.3.0
environment:
DB_URL: jdbc:postgresql://postgres:5432/mydb
DB_USERNAME: readonly_user
DB_PASSWORD: secure_password
# DB_TYPE não é mais necessário - detectado automaticamente!
ports:
- "8080:8080"
depends_on:
- postgres
postgres:
image: postgres:15-alpine
environment:
POSTGRES_DB: mydb
POSTGRES_USER: admin
POSTGRES_PASSWORD: admin123
ports:
- "5432:5432"
version: '3.8'
services:
aitosql:
image: flaviomagacho/aitosql:0.3.0
environment:
DB_URL: jdbc:mysql://mysql:3306/mydb
DB_USERNAME: readonly_user
DB_PASSWORD: secure_password
# DB_TYPE não é mais necessário - detectado automaticamente!
ports:
- "8080:8080"
depends_on:
- mysql
mysql:
image: mysql:8
environment:
MYSQL_DATABASE: mydb
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_USER: readonly_user
MYSQL_PASSWORD: secure_password
ports:
- "3306:3306"
| Variável | Obrigatória | Descrição | Exemplo |
|---|---|---|---|
DB_URL | ✅ | JDBC connection URL | jdbc:postgresql://host:5432/db |
DB_USERNAME | ✅ | Database username (READ-ONLY) | readonly_user |
DB_PASSWORD | ✅ | Database password | secure_password |
DB_TYPE | ⭐ | Database type (auto-detectado) | postgresql, mysql, oracle, sqlserver |
SERVER_PORT | ❌ | Porta do servidor (padrão: 8080) | 8080 |
SPRING_PROFILES_ACTIVE | ❌ | Spring profiles | prod |
Novidade na v0.3.0+: O driver JDBC é automaticamente detectado da URL!
jdbc:postgresql://... → org.postgresql.Driverjdbc:mysql://... → com.mysql.cj.jdbc.Driverjdbc:sqlserver://... → com.microsoft.sqlserver.jdbc.SQLServerDriverjdbc:oracle:... → oracle.jdbc.OracleDriver# ❌ ANTES: Era necessário especificar o driver
docker run -e DB_URL="..." -e DB_TYPE="postgresql" ...
# ✅ AGORA: Driver detectado automaticamente
docker run -e DB_URL="jdbc:postgresql://..." ...
💡 Dica: Você ainda pode usar
DB_TYPEse preferir ser explícito, mas não é mais obrigatório!
Para mais detalhes, veja: JDBC Driver Auto-Detection
GET http://localhost:8080/actuator/health
GET http://localhost:8080/api/mcp/model-context
Retorna a estrutura completa do banco de dados.
POST http://localhost:8080/api/mcp/execute-search
Content-Type: application/json
{
"sql": "SELECT * FROM users LIMIT 10"
}
GET http://localhost:8080/api/mcp/table-details?tableName=users
GET http://localhost:8080/api/mcp/triggers?tableName=orders
Camadas:
├─ Ubuntu Jammy base: ~30MB
├─ OpenJDK 21: ~200MB
├─ Application JAR: ~50MB
└─ Total comprimido: ~150MB
graph LR
A[Git Tag REL-X.X.X] --> B[GitHub Actions]
B --> C[Run Tests]
C --> D[Generate Coverage Report]
D --> E[Build Docker Multi-Arch]
E --> F[Push to Docker Hub]
F --> G[Create GitHub Release]
G --> H[Update README]
mainREL-X.X.X| Versão | Data | Status | Notas |
|---|---|---|---|
| 0.3.0 | 2025-10-29 | 🔄 Em Progresso | Multi-arch support (arm64) |
| 0.2.0 | 2025-10-28 | ⏳ Aguardando | Docker containerization |
| 0.1.0 | 2025-10-28 | ⏳ Aguardando | Initial release |
# Verificar logs
docker logs aitosql
# Verificar conectividade com banco
docker exec -it aitosql curl -s http://localhost:8080/actuator/health
DB_URL está corretohost.docker.internal para acessar localhost do hostPara publicar no Docker Hub, configure as seguintes secrets:
# Listar secrets
gh secret list
# Criar secrets
gh secret set DOCKERHUB_USERNAME --body "magacho"
gh secret set DOCKERHUB_TOKEN --body "seu-token-aqui"
github-actions-aitosql| Recurso | URL |
|---|---|
| Docker Hub | https://hub.docker.com/r/flaviomagacho/aitosql |
| GitHub Repo | https://github.com/magacho/aiToSql |
| GitHub Actions | https://github.com/magacho/aiToSql/actions |
| Issues | https://github.com/magacho/aiToSql/issues |
| Releases | https://github.com/magacho/aiToSql/releases |
Este projeto é open source. Veja o arquivo LICENSE no repositório para mais detalhes.
Última Atualização: 2025-10-29 Mantido por: Flavio Magacho (@magacho)
Content type
Image
Digest
sha256:39690e54d…
Size
140 MB
Last updated
11 months ago
docker pull flaviomagacho/aitosql