mcp-oracle mcp

v1.1.0 · MCP Tool · database · registry.pascalai.org

Oracle Database 11g+ and Oracle Cloud via FireDAC native driver. Operations: query (SELECT → rows JSON), execute (DML/DDL), execute_tx (transaction), list_tables, describe (columns), list_databases (schemas). Connection: host + port + database (service name or TNS alias).

oracleoracledbdatabasesqlplsqlfiredacoracle-cloud

Input Parameters

ParameterTypeDescription
operationrequired string Operation to perform. One of: query, execute, execute_tx, list_tables, describe, list_databases.
hostrequired string Oracle host or IP address (e.g. 'oraserver', '192.168.1.20'). Not needed for TNS alias.
portoptional integer Oracle listener port. Default: 1521. Default: 1521.
databaserequired string Oracle service name (e.g. 'ORCL', 'XEPDB1'), SID, or TNS alias. For Oracle Cloud use the service name from tnsnames.ora.
usernameoptional string Oracle username. Also used as schema owner for list_tables if schema not specified.
passwordoptional string Oracle password.
sQLoptional string SQL or PL/SQL statement. Required for query and execute operations.
sQLListoptional string JSON array string of SQL statements for execute_tx. All executed in a single transaction.
tableoptional string Table name. Required for describe operation.
schemaoptional string Schema/owner filter for list_tables and describe (e.g. 'HR', 'SCOTT'). Defaults to current user.
maxRowsoptional integer Maximum rows to return for query. Default: 100. Default: 100.
timeoutoptional integer Query timeout in seconds. Default: 30. Default: 30.

Output Fields

FieldTypeDescription
ok boolean
rows array[object]
affected integer
tables array[object]
columns array[object]
databases array[string]
error string

Examples

Query employees from HR schema

// Input
{
  "operation": "query",
  "host": "oraserver",
  "database": "ORCL",
  "username": "hr",
  "password": "hr",
  "sQL": "SELECT employee_id, last_name, department_id FROM employees WHERE rownum <= 10"
}

// Output
{
  "ok": true,
  "rows": [
    {
      "EMPLOYEE_ID": 100,
      "LAST_NAME": "King"
    }
  ]
}

Execute PL/SQL block

// Input
{
  "operation": "execute",
  "host": "oraserver",
  "database": "ORCL",
  "username": "hr",
  "password": "hr",
  "sQL": "BEGIN UPDATE employees SET salary = salary * 1.1 WHERE department_id = 10; COMMIT; END;"
}

// Output
{
  "ok": true,
  "affected": 3
}

List tables in HR schema

// Input
{
  "operation": "list_tables",
  "host": "oraserver",
  "database": "ORCL",
  "username": "hr",
  "password": "hr",
  "schema": "HR"
}

// Output
{
  "ok": true,
  "tables": [
    {
      "TABLE_NAME": "EMPLOYEES"
    },
    {
      "TABLE_NAME": "DEPARTMENTS"
    }
  ]
}

Describe EMPLOYEES table

// Input
{
  "operation": "describe",
  "host": "oraserver",
  "database": "ORCL",
  "username": "hr",
  "password": "hr",
  "table": "EMPLOYEES",
  "schema": "HR"
}

// Output
{
  "ok": true,
  "columns": [
    {
      "COLUMN_NAME": "EMPLOYEE_ID",
      "DATA_TYPE": "NUMBER"
    }
  ]
}

Install & Discovery

Install

ppm install mcp-oracle

Get JSON Schema

GET /v1/packages/mcp-oracle/1.1.0/schema

Discover by keyword

GET /v1/mcp/discover?q=oracle
Discovery hint: Install with ppm install mcp-oracle or invoke remotely via POST /v1/invoke/mcp-oracle on the MCP Service.