Use the oracle_analytics-describe_data MCP Server Tool (Preview)

The oracle_analytics-describe_data tool allows you to programmatically retrieve comprehensive column-level metadata for subject areas and datasets.

Input Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "datamodelName": {
      "type": "string",
      "description": "Subject area name or XSA reference"
    },
    "tablesOnly": {
      "type": "boolean",
      "description": "Return only table list without columns"
    },
    "tableName": {
      "type": "string",
      "description": "Specific table to describe"
    },
    "tableNames": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Multiple tables to describe"
    }
  },
  "required": ["datamodelName"]
}

Parameters

Name Type Required or Optional Default Value Description
datamodelName String Required - Subject area name or XSA('namespace'.'dataset').
tablesOnly Boolean Optional false When true, returns only table names.
tableName String Optional - Filter to single table. Table name only, not fully qualified.
tableNames String Optional - Filter to multiple tables.

JSON-RPC Request Examples

Get all tables in a subject area
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "oracle_analytics-describe_data",
    "arguments": {
      "datamodelName": "Sales History Subject Area",
      "tablesOnly": true
    }
  }
}

Get columns for a specific table
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "oracle_analytics-describe_data",
    "arguments": {
      "datamodelName": "Sales History Subject Area",
      "tableName": "SALES"
    }
  }
}

Get columns from an XSA dataset
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "oracle_analytics-describe_data",
    "arguments": {
      "datamodelName": "XSA('[email protected]'.'Chocolate Sales')",
      "tableName": "Chocolate Sales"
    }
  }
}

Response Structure

{
    "tables": [
        {
            "fullQualifiedName": "\"Sales History Subject Area\".\"SALES\"",
            "columns": [
                {
                    "columnType": "attribute",
                    "nullable": "0",
                    "displayName": "PROD_ID",
                    "dataType": "NUMERIC",
                    "precision": "28",
                    "name": "PROD_ID",
                    "length": "28",
                    "description": "",
                    "scale": "0",
                    "aggregation": null,
                    "fullyQualifiedName": "\"Sales History Subject Area\".\"SALES\".\"PROD_ID\""
                }
                // ... additional columns: CUST_ID, TIME_ID, CHANNEL_ID, PROMO_ID, QUANTITY_SOLD, AMOUNT_SOLD
            ],
            "tableName": "SALES"
        },
        {
            "fullQualifiedName": "\"Sales History Subject Area\".\"TIMES\"",
            "columns": [
                {
                    "columnType": "attribute",
                    "nullable": "0",
                    "displayName": "TIME_ID",
                    "dataType": "TIMESTAMP",
                    "precision": "16",
                    "name": "TIME_ID",
                    "length": "16",
                    "description": "",
                    "scale": "0",
                    "aggregation": null,
                    "fullyQualifiedName": "\"Sales History Subject Area\".\"TIMES\".\"TIME_ID\""
                }
                // ... additional columns: DAY_NAME, CALENDAR_WEEK_NUMBER, CALENDAR_MONTH_DESC, CALENDAR_QUARTER_DESC, CALENDAR_YEAR, FISCAL_YEAR, etc. (38 total)
            ],
            "tableName": "TIMES"
        }
        // ... additional tables: CHANNELS, CUSTOMERS, PRODUCTS, PROMOTIONS, CUSTOMER_BY_COUNTRY
    ],
    "subjectArea": "Sales History Subject Area"
}

Column Metadata Fields

Name Type Description
name String Column identifier.
displayName String Human-readable name.
fullyQualifiedName String Complete path for queries.
columnType String "attribute" or "measure"
dataType String SQL data type, for example VARCHAR, NUMERIC, TIMESTAMP, and so on.
precision String Numeric precision.
scale String Decimal scale.
nullable String "0" (NOT NULL) or "1" (nullable)
aggregation

String

Null

Default aggregation rule, for example SUM, AVG, COUNT, and so on.