MCP DB Wizard

resmi

Server MCP untuk Oracle yang tidak akan membuat Anda dipecat. Server MCP ini tidak menampilkan prompt SQL, dan tidak dapat memberi tahu Anda cara masuk ke Oracle. Hanya objek yang dipilih dan pernyataan SQL yang dapat digunakan.

Apa yang bisa Anda lakukan dengan DB Wizard MCP?

  • Mengambil baris berdasarkan kunci utama — Minta entri log aktivitas tertentu dan dapatkan kembali sebagai objek JSON melalui synuser_activity_log_get_by_pk.
  • Menyisipkan ke dalam log aktivitas — Minta asisten untuk menambahkan rekaman log baru, dengan operasi pembaruan dan penghapusan yang tersedia dari tabel kurasi yang sama melalui synuser_activity_log_insert.
  • Memanggil rutin PL/SQL — Panggil synuser_js_admin_getadmintoolinfo untuk menjalankan prosedur bisnis dan menerima rekaman, koleksi, dan semua parameter OUT.
  • Mendapatkan nilai urutan berikutnya — Minta ID berikutnya dari synuser_job_id_nextval tanpa mengekspos data urutan lainnya.
  • Menjalankan hanya SQL yang telah disetujui sebelumnya — Jalankan pernyataan SQL yang telah diuji dan diketik yang Anda pilih, dengan argumen sebagai nilai bind dan tanpa komposisi kueri ad-hoc.

Dokumentasi

Server MCP untuk Oracle yang tidak akan membuat Anda dipecat

Konfigurasi adalah keseluruhan model keamanannya

Dapat dijangkau oleh agen

  • Tabel synuser_activity_log_get_by_pk — satu baris berdasarkan kunci utama, sebagai objek JSON
  • Tabel synuser_activity_log_insert — dengan _update dan _delete, dari pemilihan yang sama
  • Rutin PL/SQL synuser_js_admin_getadmintoolinfo — record, koleksi, dan setiap parameter OUT
  • Sequence synuser_job_id_nextval — nilai berikutnya, dan tidak ada yang lain

Tidak dapat dijangkau, secara desain

  • Teks SQL dari pemanggil — argumen adalah nilai bind
  • DDL — create, alter, drop
  • Objek apa pun yang tidak Anda pilih
  • Skema apa pun yang tidak disebutkan dalam konfigurasi
  • Kata sandi Oracle — tersimpan di lingkungan

Agen yang bisa menulis SQL bisa menulis DROP TABLE. Agen yang memegang tool bernama check_flight_availability bisa memeriksa ketersediaan penerbangan, karena hanya itu yang dilakukan kode di depannya.

Kurasi terjadi sebelum kode ada

Least privilege mudah diklaim dan sulit diverifikasi. Di sini konfigurasi menentukan apa yang diemisikan: objek yang tidak dipilih siapa pun tidak memiliki tool, tidak memiliki metode, dan tidak memiliki kelas. Objek tersebut tidak ada dalam biner, bukan dijaga oleh proses yang berjalan, sehingga tidak ada prompt yang bisa menjangkaunya.

Apa yang berubah dari server MCP tanpa tool run-sql

Aturan bisnis Anda sudah ada di PL/SQL

Puluhan tahun validasi, logika referensial, dan perilaku audit hidup di dalam package. MCPDBWizard memanggil rutin-rutin tersebut apa adanya — record, koleksi, ref cursor, dan setiap parameter OUT yang dikembalikan — alih-alih meminta model bahasa untuk menciptakan ulang aturan tersebut dalam sebuah SELECT.

Apa yang dilihat agen ketika PL/SQL Anda menjadi tool

Setiap panggilan adalah tool bernama, bukan query

Permintaan tiba sebagai synuser_activity_log_get_by_pk(entry_id) terhadap skema yang ketat — argumen yang salah eja ditolak sebelum database disentuh. Jauh lebih mudah untuk dicatat, dibatasi kecepatannya, ditinjau setelahnya, dan dijelaskan kepada auditor.

Tool MCP terkurasi dan prompt SQL, berdampingan

Dua audiens, dua catatan

Proxy menulis siapa yang memanggil tool mana dan apakah diizinkan; setiap server menulis apa yang dilakukan tool tersebut dan bagaimana hasilnya. Nama argumen selalu; nilai hanya jika Anda mengaktifkannya, karena nilai tersebut dipilih oleh model.

Ke mana log server MCP seharusnya pergi

Oracle 12c hingga 26ai

Termasuk tipe yang ditambahkan sejak saat itu: JSON native, BOOLEAN dan VECTOR, serta CRUD dokumen melalui JSON-relational duality views. Apa pun yang tidak dapat melintasi JSON secara jujur — SDO_GEOMETRY, BFILE — dilewati seluruhnya, dan log menyebutkan apa dan mengapa.

Akun, token, dan matriks grant

Banyak akun, banyak konfigurasi, satu centang per grant. Dua tim yang membutuhkan tool berbeda pada skema yang sama berarti dua konfigurasi, bukan satu konfigurasi dan satu aturan — yang menjaga jaminan di panel pertama tetap utuh.

Kontrol akses berbasis peran untuk server MCP

Membandingkannya dengan jalur milik Oracle sendiri? Baca alternatif untuk server MCP Oracle, alternatif server MCP SQLcl ketika SQL ad-hoc dikesampingkan, atau mulai dari pertanyaan yang paling sering diajukan orang: bisakah saya mengizinkan agen AI mengakses database produksi saya?

Design time: the Design pages read Oracle's data dictionary, the selection is saved as a config file with no password, and Java is generated and compiled for the selected objects only. Run time: an MCP client calls the proxy on port 8080 with a bearer token; the proxy checks the token, the grant and the rate limit, then forwards to the generated MCP server, which binds the arguments and calls Oracle. The proxy and the server both write to the audit trail.

Konfigurasi menentukan apa yang dihasilkan; proxy menentukan siapa yang boleh memanggilnya.

  1. 01

    Pilih objek

    Hubungkan halaman Design ke Oracle dan centang package PL/SQL yang ingin Anda ekspos, plus pernyataan SQL apa pun yang telah Anda tulis dan uji sendiri, plus tabel dan sequence yang ingin Anda jangkau langsung. Pemilihan tersebut disimpan sebagai file konfigurasi — properties atau JSON, dapat dikontrol versi, dan tidak mengandung kata sandi. The Design Procedures tab listing PL/SQL packages and procedures with tick boxes PL/SQL terlebih dahulu, karena itulah intinya: centang package dan prosedur yang ingin Anda ekspos, dan masing-masing menjadi satu tool dengan parameter yang diketik. The Design SQL Statements tab, editing a named .sql file with typed bind parameters Lalu SQL Anda sendiri — pernyataan yang Anda tulis dan uji, dengan parameter bind yang diketik inline. Agen menjalankan ini; agen tidak menyusun pernyataannya sendiri. The Design Tables tab, with each table ticked and separate MCP read, create, update and delete boxes Terakhir tabel, dikurasi per operasi, bukan per tabel — tabel yang baru dipilih bersifat read-only, dan create, update, serta delete adalah hak Anda untuk mencentangnya.
  2. 02

    Generate, kompilasi, jalankan

    Halaman Runtime mengemisi Java untuk objek-objek tersebut secara tepat, mengompilasinya, dan meluncurkannya sebagai server tersendiri di loopback. Apa pun yang tidak Anda pilih tidak memiliki tool, tidak memiliki metode, dan tidak memiliki kelas — objek tersebut tidak ada dalam biner, bukan sekadar ditolak.
    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
    
  3. 03

    Arahkan klien MCP Anda ke proxy

    Agen terhubung pada 8080, melalui Streamable HTTP, dengan token yang diterbitkan ke akun mereka. Proxy adalah satu-satunya komponen yang mengetahui siapa yang memanggil — proxy memeriksa akun, grant, dan batas kecepatan, lalu meneruskan.
    {
      "mcpServers": {
        "payroll": {
          "url": "http://localhost:8080/mcp/alice/payroll",
          "headers": {
            "Authorization": "Bearer <id>.<secret>"
          }
        }
      }
    }
    

Panduan memulai cepat memiliki seluruh jalur, termasuk menerbitkan token dan memberikan konfigurasi.