MCP DB Wizard
offiziellEin MCP-Server für Oracle, mit dem Sie nicht gefeuert werden. Der MCP-Server stellt keine SQL-Eingabeaufforderung bereit und kann Ihnen nicht sagen, wie Sie sich bei Oracle anmelden. Nur die ausgewählten Objekte und SQL-Anweisungen sind nutzbar.
Was kann man mit DB Wizard MCP machen?
- Datensatz nach Primärschlüssel abrufen – Einen bestimmten Aktivitätsprotokolleintrag anfordern und als JSON-Objekt über
synuser_activity_log_get_by_pkzurückerhalten. - In das Aktivitätsprotokoll einfügen – Den Assistenten einen neuen Protokolldatensatz hinzufügen lassen, wobei Aktualisierungs- und Löschoperationen aus derselben kuratierten Tabelle über
synuser_activity_log_insertverfügbar sind. - Eine PL/SQL-Routine aufrufen –
synuser_js_admin_getadmintoolinfoaufrufen, um eine Geschäftsprozedur auszuführen und Datensätze, Sammlungen und alle OUT-Parameter zu erhalten. - Den nächsten Sequenzwert abrufen – Die nächste ID von
synuser_job_id_nextvalanfordern, ohne andere Sequenzdaten offenzulegen. - Nur vorab genehmigtes SQL ausführen – Eine getestete, typisierte SQL-Anweisung ausführen, die Sie ausgewählt haben, mit Argumenten als Bindewerte und ohne Ad-hoc-Abfragekomposition.
Dokumentation
Ein MCP-Server für Oracle, der Sie nicht den Job kostet
Die Konfiguration ist das gesamte Sicherheitsmodell
Für den Agenten erreichbar
synuser_activity_log_get_by_pkTabelle — eine Zeile nach Primärschlüssel, als JSON-Objektsynuser_activity_log_insertTabelle — mit _update und _delete, aus derselben Auswahlsynuser_js_admin_getadmintoolinfoPL/SQL-Routine — Records, Collections und jeder OUT-Parametersynuser_job_id_nextvalSequenz — der nächste Wert, und sonst nichts
Nicht erreichbar, konstruktionsbedingt
- SQL-Text vom Aufrufer — Argumente sind Bind-Werte
- DDL — create, alter, drop
- Jedes Objekt, das Sie nicht ausgewählt haben
- Jedes Schema, das die Konfiguration nicht nennt
- Das Oracle-Passwort — es lebt in der Umgebung
Ein Agent, der SQL schreiben kann, kann DROP TABLE schreiben. Ein Agent, der ein Tool namens check_flight_availability hält, kann die Verfügbarkeit eines Flugs prüfen, weil das der gesamte Code davor ist.
Kuratierung geschieht, bevor der Code existiert
Least Privilege ist leicht zu behaupten und schwer zu verifizieren. Hier entscheidet die Konfiguration, was emittiert wird: Ein Objekt, das niemand ausgewählt hat, hat kein Tool, keine Methode und keine Klasse. Es fehlt im Binärprogramm, anstatt von einem laufenden Prozess bewacht zu werden, sodass kein Prompt es erreichen kann.
Was ein MCP-Server ohne run-sql-Tool ändert
Ihre Geschäftsregeln sind bereits in PL/SQL
Jahrzehnte an Validierung, referenzieller Logik und Audit-Verhalten leben in Packages. MCPDBWizard ruft diese Routinen so auf, wie sie sind — Records, Collections, Ref-Cursor und jeder OUT-Parameter wird zurückgegeben — anstatt ein Sprachmodell zu bitten, die Regeln in einem SELECT neu zu erfinden.
Was ein Agent sieht, wenn Ihr PL/SQL zu Tools wird
Jeder Aufruf ist ein benanntes Tool, keine Abfrage
Anfragen kommen als synuser_activity_log_get_by_pk(entry_id) gegen ein striktes Schema an — ein falsch geschriebenes Argument wird abgelehnt, bevor die Datenbank berührt wird. Viel einfacher zu protokollieren, zu ratenbegrenzen, nachträglich zu prüfen und einem Auditor zu erklären.
Kuratierte MCP-Tools und ein SQL-Prompt, nebeneinander
Zwei Zielgruppen, zwei Aufzeichnungen
Der Proxy schreibt, wer welches Tool aufgerufen hat und ob es erlaubt war; jeder Server schreibt, was das Tool getan hat und wie es endete. Argument-Namen immer; Werte nur, wenn Sie das aktiviert haben, weil ein Modell sie gewählt hat.
Wo die Logs eines MCP-Servers hingehen sollten
Oracle 12c bis 26ai
Einschließlich der seitdem hinzugefügten Typen: nativ JSON, BOOLEAN und VECTOR, sowie Dokument-CRUD über JSON-relationale Duality-Views. Alles, was JSON nicht ehrlich überqueren kann — SDO_GEOMETRY, BFILE — wird komplett übersprungen, und das Log sagt, welche und warum.
Konten, Tokens und eine Grant-Matrix
Viele Konten, viele Konfigurationen, ein Tick pro Grant. Zwei Teams, die unterschiedliche Tools über dasselbe Schema benötigen, sind zwei Konfigurationen, nicht eine Konfiguration und eine Regel — was die Garantie im ersten Panel intakt hält.
Rollenbasierter Zugriff für einen MCP-Server
Sie wägen es gegen Oracles eigene Wege ab? Lesen Sie eine Alternative zu Oracles MCP-Server, SQLcl-MCP-Server-Alternativen, wenn Ad-hoc-SQL ausgeschlossen ist, oder beginnen Sie mit der Frage, die die meisten tatsächlich stellen: kann ich einem KI-Agenten erlauben, meine Produktionsdatenbank abzufragen?

Die Konfiguration entscheidet, was generiert wird; der Proxy entscheidet, wer es aufrufen darf.
- 01
Wählen Sie die Objekte aus
Verbinden Sie die Design-Seiten mit Oracle und ticken Sie die PL/SQL-Packages, die Sie freigeben möchten, plus alle SQL-Anweisungen, die Sie selbst geschrieben und getestet haben, plus die Tabellen und Sequenzen, die Sie direkt erreichbar machen möchten. Diese Auswahl wird als Konfigurationsdatei gespeichert — Properties oder JSON, versionierbar und ohne Passwort.
PL/SQL zuerst, weil es der Kern ist: Tick Sie die Packages und Prozeduren, die Sie freigeben möchten, und jedes wird ein Tool mit typisierten Parametern.
Dann Ihr eigenes SQL — Anweisungen, die Sie geschrieben und getestet haben, mit Bind-Parametern inline typisiert. Der Agent führt diese aus; er stellt keine eigenen zusammen.
Schließlich Tabellen, kuratiert pro Operation statt pro Tabelle — eine neu ausgewählte ist schreibgeschützt, und create, update und delete sind Ihre zum Ticken. - 02
Generieren, kompilieren, ausführen
Die Runtime-Seite emittiert Java für genau diese Objekte, kompiliert es und startet es als eigenen Server auf Loopback. Alles, was Sie nicht ausgewählt haben, hat kein Tool, keine Methode und keine Klasse — es fehlt im Binärprogramm, anstatt nur abgelehnt zu werden.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
Richten Sie Ihren MCP-Client auf den Proxy
Agenten verbinden sich auf 8080 über Streamable HTTP mit einem Token, das ihrem Konto ausgestellt wurde. Der Proxy ist die einzige Komponente, die weiß, wer aufruft — er prüft das Konto, den Grant und das Ratelimit und leitet dann weiter.{ "mcpServers": { "payroll": { "url": "http://localhost:8080/mcp/alice/payroll", "headers": { "Authorization": "Bearer <id>.<secret>" } } } }
Der Schnellstart enthält den gesamten Pfad, einschließlich der Ausstellung des Tokens und der Gewährung der Konfiguration.