MCP DB Wizard
oficialUm servidor MCP para Oracle que não vai te demitir. O servidor MCP não expõe um prompt de SQL e não pode te dizer como fazer login no Oracle. Apenas os objetos selecionados e as instruções SQL são utilizáveis.
O que você pode fazer com DB Wizard MCP?
- Buscar uma linha pela chave primária — Solicite uma entrada específica do log de atividades e receba-a como um objeto JSON via
synuser_activity_log_get_by_pk. - Inserir no log de atividades — Peça ao assistente para adicionar um novo registro de log, com operações de atualização e exclusão disponíveis na mesma tabela selecionada via
synuser_activity_log_insert. - Chamar uma rotina PL/SQL — Invoque
synuser_js_admin_getadmintoolinfopara executar um procedimento de negócio e receber registros, coleções e todos os parâmetros OUT. - Obter o próximo valor de sequência — Solicite o próximo ID de
synuser_job_id_nextvalsem expor outros dados da sequência. - Executar apenas SQL pré-aprovado — Execute uma instrução SQL testada e tipada que você selecionou, com argumentos como valores de ligação e sem composição de consulta ad-hoc.
Documentação
Um servidor MCP para Oracle que não vai te demitir
A configuração é todo o modelo de segurança
Acessível pelo agente
synuser_activity_log_get_by_pktabela — uma linha por chave primária, como um objeto JSONsynuser_activity_log_inserttabela — com _update e _delete, a partir da mesma seleçãosynuser_js_admin_getadmintoolinforotina PL/SQL — registros, coleções e todo parâmetro OUTsynuser_job_id_nextvalsequência — o próximo valor, e nada mais
Não acessível, por construção
- Texto SQL do chamador — argumentos são valores de bind
- DDL — create, alter, drop
- Qualquer objeto que você não selecionou
- Qualquer schema que a configuração não nomeia
- A senha do Oracle — ela vive no ambiente
Um agente que sabe escrever SQL pode escrever DROP TABLE. Um agente com uma ferramenta chamada check_flight_availability pode verificar disponibilidade em um voo, porque é só isso que o código à sua frente faz.
A curadoria acontece antes de o código existir
Privilégio mínimo é fácil de alegar e difícil de verificar. Aqui a configuração decide o que é emitido: um objeto que ninguém selecionou não tem ferramenta, método nem classe. Ele está ausente do binário em vez de protegido por um processo em execução, então nenhum prompt consegue alcançá-lo.
O que muda em um servidor MCP sem ferramenta run-sql
Suas regras de negócio já estão em PL/SQL
Décadas de validação, lógica referencial e comportamento de auditoria vivem dentro de pacotes. O MCPDBWizard chama essas rotinas como elas são — registros, coleções, cursores de referência e todo parâmetro OUT retornado — em vez de pedir a um modelo de linguagem para reinventar as regras em um SELECT.
O que um agente vê quando seu PL/SQL vira ferramentas
Cada chamada é uma ferramenta nomeada, não uma consulta
Requisições chegam como synuser_activity_log_get_by_pk(entry_id) contra um schema estrito — um argumento com erro de digitação é rejeitado antes de o banco ser tocado. Muito mais fácil de registrar em log, limitar por taxa, revisar depois e explicar a um auditor.
Ferramentas MCP curadas e um prompt SQL, lado a lado
Dois públicos, dois registros
O proxy registra quem chamou qual ferramenta e se foi permitido; cada servidor registra o que a ferramenta fez e como terminou. Nomes de argumentos sempre; valores apenas se você ativou isso, porque um modelo os escolheu.
Para onde os logs de um servidor MCP devem ir
Oracle 12c até 26ai
Incluindo os tipos adicionados desde então: JSON nativo, BOOLEAN e VECTOR, e CRUD de documentos sobre visões de dualidade JSON-relacional. Qualquer coisa que não possa cruzar JSON honestamente — SDO_GEOMETRY, BFILE — é ignorada por completo, e o log diz o quê e por quê.
Contas, tokens e uma matriz de concessões
Muitas contas, muitas configurações, um tick por concessão. Duas equipes precisando de ferramentas diferentes sobre o mesmo schema são duas configurações, não uma configuração e uma regra — o que mantém a garantia do primeiro painel intacta.
Controle de acesso baseado em papéis para um servidor MCP
Pensando em comparar com as rotas do próprio Oracle? Leia uma alternativa ao servidor MCP da Oracle, alternativas ao servidor MCP do SQLcl quando SQL ad-hoc é descartado, ou comece pela pergunta que a maioria das pessoas realmente faz: posso deixar um agente de IA consultar meu banco de produção?

A configuração decide o que é gerado; o proxy decide quem pode chamar.
- 01
Selecione os objetos
Conecte as páginas de Design ao Oracle e marque os pacotes PL/SQL que você está disposto a expor, além de quaisquer instruções SQL que você mesmo escreveu e testou, mais as tabelas e sequências que você quer acessíveis diretamente. Essa seleção é salva como um arquivo de configuração — properties ou JSON, versionável e sem senha.
PL/SQL primeiro, porque é o ponto: marque os pacotes e procedimentos que você está disposto a expor, e cada um vira uma ferramenta com seus parâmetros tipados.
Depois seu próprio SQL — instruções que você escreveu e testou, com parâmetros de bind tipados inline. O agente executa essas; ele não compõe as próprias.
Por fim, tabelas, curadas por operação em vez de por tabela — uma recém-selecionada é somente leitura, e create, update e delete são seus para marcar. - 02
Gere, compile, execute
A página Runtime emite Java exatamente para esses objetos, compila e o lança como seu próprio servidor em loopback. Qualquer coisa que você não selecionou não tem ferramenta, método nem classe — está ausente do binário em vez de meramente recusada.docker run -d --name mcpdbwizard \ -p 8080:8080 \ -e MCPDBWIZARD_ORACLE_HOST=db.example.com \ -e MCPDBWIZARD_ORACLE_PORT=1521 \ -e MCPDBWIZARD_ORACLE_SID=/PDB1 \ -e MCPDBWIZARD_ORACLE_USER=appuser \ -e DB_PASS_FILE=/run/secrets/oracle \ -v mcpdbwizard-demo:/data \ ghcr.io/srmadscience/mcpdbwizard:2.0.32 - 03
Aponte seu cliente MCP para o proxy
Agentes conectam na porta 8080, via Streamable HTTP, com um token emitido para a conta deles. O proxy é o único componente que sabe quem está chamando — ele verifica a conta, a concessão e o limite de taxa, então encaminha.{ "mcpServers": { "payroll": { "url": "http://localhost:8080/mcp/alice/payroll", "headers": { "Authorization": "Bearer <id>.<secret>" } } } }
O quickstart tem o caminho completo, incluindo a emissão do token e a concessão da configuração.