High-level generators compose multiple tool calls into a single operation — the fastest way to build Oracle APEX 24.2 applications. A single generator call can introspect your database schema, create multiple pages, wire up navigation, generate LOVs for foreign-key columns, and connect DML processes automatically. Use these tools first; reach for lower-level page and region tools only when you need to customize individual components.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/TechFernandesLTDA/apex-mcp/llms.txt
Use this file to discover all available pages before exploring further.
Full Application Generators
apex_generate_crud
Generate a complete Create/Read/Update/Delete module for a database table. This is the most powerful single-table generator. It introspects the table structure, infers item types from column naming conventions and data types, auto-creates LOVs for FK columns, and links the list and form pages together.
What it creates:
- List page with an Interactive Report showing all table rows
- Edit-link column in the IR pointing to the form page
- IR worksheet with default sort on primary key
- “New” button in the IR search bar
- Form page with items for every non-audit column (types inferred from Oracle metadata)
- Hidden PK item(s), select lists for FK columns with auto-generated LOVs
- CANCEL, DELETE (conditional on PK not null), and SAVE buttons
NATIVE_FORM_DMLprocess for INSERT / UPDATE / DELETE- Post-submit redirect back to the list page
Database table name (case-insensitive). Validated against
user_tab_columns before any DDL is executed.Page ID for the Interactive Report list page (e.g.,
10).Page ID for the edit form page (e.g.,
11).Display name for the list page. Defaults to the humanized table name (e.g.,
"EMPLOYEES" → "Employees").Display name for the form page. Defaults to
"Edit {list_page_name}".Add a real-time search bar to the IR.
Authorization scheme name to apply to both pages. Leave empty for public pages.
Custom list of column names to exclude from the form (e.g.,
["CREATED_ON","UPDATED_ON"]). Defaults to a built-in set covering common English and Portuguese audit column patterns.When
false, form items render as display-only and Save/Delete buttons are omitted.Rows per page in the IR default report.
Override default button labels. Supported keys:
new, save, cancel, delete, confirm_delete.apex_generate_from_schema
Generate a complete application from a list of database tables. This is the highest-level generator — pass your table list and receive a working multi-page app with navigation in a single call.
What it creates:
- A CRUD module (list + form pages) for every table in
tables - A dashboard page (page 1) with one KPI metric card per table showing its row count
- Navigation menu entries for all generated list pages and the dashboard
Ordered list of table names, e.g.
["EMPLOYEES", "DEPARTMENTS", "PROJECTS"]. Pages are allocated in pairs: start_page_id/start_page_id+1, start_page_id+2/start_page_id+3, etc.First page ID for the first CRUD list page.
Generate a dashboard page (page 1) with record-count KPI cards.
Map of
TABLE_NAME → Font Awesome icon class for navigation entries, e.g. {"EMPLOYEES": "fa-users"}. Unmapped tables default to fa-table.apex_generate_dashboard
Generate a dashboard page with KPI cards and an Interactive Report.
What it creates:
- A KPI cards region using Universal Theme
t-Cardsgrid layout (rendered viaNATIVE_PLSQL) - An Interactive Report region below the cards
Page ID for the dashboard (typically
1).Display name for the dashboard page.
List of KPI card definitions. Each object:If omitted, four sample KPI cards are generated automatically.
SQL for the bottom Interactive Report. Defaults to
SELECT table_name, num_rows FROM user_tables.Title for the IR region.
apex_generate_analytics_page
Generate a complete analytics page combining metric cards and JET charts in a single call.
What it creates:
- Creates the page if it does not yet exist in the session
- A
apex_add_metric_cardsregion at the top (ifmetricsprovided) - One
apex_add_jet_chartregion per entry incharts
Target page ID.
Display name (used only when the page is created fresh).
List of metric card dicts (same format as
apex_add_metric_cards). See the Metric Cards reference.List of chart dicts. Each supports the same arguments as
apex_add_jet_chart:
region_name, chart_type, sql_query, label_column, value_column, series_name, height, y_axis_title, x_axis_title, extra_series.Optional authorization scheme applied when the page is created.
Page-Level Generators
apex_generate_login
Generate a standard APEX authentication login page.
What it creates:
- Login page using the APEX login page template (centered, no navigation)
P{page_id}_USERNAMEtext item withautocomplete="username"P{page_id}_PASSWORDpassword item withautocomplete="current-password"- Hot “Sign In” button
NATIVE_PLSQLauthentication process (defaults toapex_authentication.login())
Page ID. Must match the login URL configured in
apex_create_app().Page display name.
Application name displayed above the login form. Defaults to
session.app_name.Label for the username field.
Label for the password field.
Label on the submit button.
Custom PL/SQL block for authentication. If omitted, uses
apex_authentication.login(p_username=>:P101_USERNAME, p_password=>:P101_PASSWORD).apex_generate_report_page
Generate a report page with an Interactive Report plus optional filter items at the top.
What it creates:
- The page (skipped if it already exists)
- A “Filtros” filter region with the specified filter items and a Search button
- An Interactive Report region with the supplied SQL
- IR worksheet with optional CSV/XLSX/PDF export
Target page ID.
Display name for the page.
SQL for the Interactive Report. Use bind variables matching
filter_items names, e.g. :P5_STATUS.List of filter field definitions. Each object:Supported
type values: text, select, date, number. Item names are auto-prefixed with P{page_id}_.Title for the IR region. Defaults to
page_name.Authorization scheme name.
Show CSV / XLSX / PDF export buttons in the IR.
apex_generate_wizard
Generate a multi-step wizard (2–6 steps) with a progress indicator, Previous/Next navigation, and page branching.
What it creates per step:
- An APEX page (
start_page_id + step_index) - A
NATIVE_PLSQLprogress bar region showing step labels and a colored progress bar - A form region with the step’s items
- Previous button (all steps except first), Next/Finish button
- Page branch redirecting to the next step on NEXT submit
Page ID for step 1. Subsequent steps use
start_page_id+1, +2, etc.List of step definition objects. Each object:Supported item
type values: text, number, date, select, textarea, hidden.Header label used in log output.
Authorization scheme applied to all step pages.
Page to redirect to after the last step is submitted. Defaults to page
1.apex_generate_modal_form
Create an inline modal popup (dialog) form region on an existing page — no separate dialog page needed.
What it creates:
- A
NATIVE_PLSQLregion placed inAFTER_FOOTERthat renders at-DialogRegioncontainer - A hidden PK item inside the modal region
- An after-submit
NATIVE_PLSQLprocess (request =SAVE_MODAL) that MERGEs into the target table
To open the modal from a button, set the button’s action to
DEFINED_BY_DA and add a Dynamic Action that executes apex.region('<static_id>').show(); where static_id is the region_static_id value returned by this tool.Page where the modal lives (must already be in the session).
Display name of the modal region.
Target database table for the Save process.
Primary key item name suffix. Auto-prefixed with
P{page_id}_ if needed.Modal title shown in the dialog header. Defaults to
region_name.Display sequence for the region.
Optional authorization scheme name.
Special Component Generators
apex_add_interactive_grid
Add an editable Interactive Grid (IG) region — spreadsheet-style inline editing for multiple rows simultaneously.
Page must exist in session.
Region display name.
Database table for DML operations.
SELECT SQL for the IG. Defaults to
SELECT * FROM {table_name}.Allow inline cell editing with INSERT/UPDATE/DELETE.
Show “Add Row” button in the toolbar.
Region display order.
Optional authorization scheme name to restrict access to this region.
apex_add_master_detail
Place a master Interactive Report and a detail Interactive Report on the same page, linked by a foreign key column. Clicking a master row sets a hidden page item and refreshes the detail IR automatically.
Target page ID.
Name for the master IR region.
SQL for the master IR.
Name for the detail IR region.
SQL for the detail IR. Must reference a bind variable matching
P{page_id}_{page_item_name} in its WHERE clause.Column in the master IR whose value is passed to the hidden item when a row is clicked (e.g.,
"ID").Suffix for the hidden page item that stores the selected master row value (auto-prefixed with
P{page_id}_). The bind variable in detail_sql must match.Display sequence for the master region (detail region gets
sequence + 10).apex_add_faceted_search
Add a faceted search panel (left-side filter select lists) linked to an Interactive Report. Creates a two-column layout with a filter region on the left and the IR on the right. Each facet generates a SELECT_LIST item; a Dynamic Action re-submits the page on filter change.
Target page ID.
Name for the IR region.
SQL for the Interactive Report. Must include
:{item_name} bind-variable predicates for each facet column. Example:List of facet definitions. Each object:Supported
type values: select, checkbox (both produce a SELECT_LIST with an “All” option). The lov key is optional — omitting it auto-generates a DISTINCT query from the source SQL.Display sequence for the filter region (IR gets
sequence + 10).apex_add_search_bar
Add a real-time search text field that filters an Interactive Report on every keystroke via a Dynamic Action.
Target page ID.
Name for the search bar region.
Name of the IR region to filter.
Item name suffix (auto-prefixed with
P{page_id}_).Label for the search field.
Input placeholder text.
apex_add_timeline
Add a vertical timeline region rendered using Universal Theme t-Timeline CSS classes.
Target page ID.
Region display name.
SQL returning at least
date_col, title_col, and body_col. Example:Column alias for the date/time label.
Column alias for the timeline item title.
Column alias for the timeline item body text.
Column alias providing a Font Awesome icon class per row. Defaults to
fa-circle.apex_add_breadcrumb
Add a breadcrumb navigation region using Universal Theme t-Breadcrumb markup, rendered into the BREADCRUMB_BAR display point.
Target page ID.
Internal region name.
Ordered list of breadcrumb items. Each object:Pass
page_id: null to render the entry as the active (non-linked) current page.apex_add_file_upload
Add a FILE_BROWSE item plus an after-submit PL/SQL process that stores the uploaded file as a BLOB in a database table column.
Target page ID.
Name of an existing region to place the file-browse item in.
Item name suffix (auto-prefixed with
P{page_id}_).Display label for the file-browse field.
Database table containing the BLOB column.
Page item name for the primary key of the row to update.
BLOB column name.
VARCHAR2 column that stores the original filename.
VARCHAR2 column that stores the MIME type.
apex_add_chart_drilldown
Wire a Dynamic Action that captures a JET Chart click and refreshes a detail IR with the clicked group label as a filter.
Target page ID.
Name of the existing JET Chart region to listen on.
Suffix for the hidden item that stores the clicked label (auto-prefixed with
P{page_id}_). Must match a bind variable in the detail IR SQL.Chart series/group column whose label is captured (used in the DA name for clarity).
Name of the IR/IG region to refresh after the item is set.
