Pages are the primary structural unit of an Oracle APEX application. Every region, item, button, and process belongs to a page. apex-mcp provides tools to add pages to a new app during an import session, list pages in existing apps, inspect their full component tree, update page-level properties, delete pages, and copy pages within or across applications. Page management tools work in two modes: session mode (during an activeDocumentation 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.
apex_create_app import session) and live mode (operating on already-finalized, existing apps).
Creating Pages
apex_add_page
Add a new page to the current APEX application import session. Must be called afterapex_create_app and before apex_finalize_app.
Numeric page ID (e.g.,
1, 10, 101). Page 0 is the global page — its components appear on every page. Cannot reuse a page ID that already exists in the current session; use apex_delete_page first or choose a different ID.Display name for the page, shown in the APEX page title and browser tab (e.g.,
"Dashboard", "User List").Type of page, which controls the template and layout applied:
"blank"— empty page (default); add your own regions withapex_add_region"report"— Interactive Report page template"form"— form page template"login"— login page (centered layout, no navigation bar)"dashboard"— dashboard with card layout"modal"— modal dialog page (p_page_mode=MODAL)"global"— page 0 (global page applied to all pages); also auto-creates a standard container region
Name of an authorization scheme to restrict access to this page (e.g.,
"IS_ADMIN"). Leave empty for public access. Corresponds to p_required_role in the APEX import API.Override the page template with a specific template name. Leave empty to use the default template for the selected
page_type.Optional help text displayed to users on this page.
status, page_id, page_name, page_type, is_public ("Y" or "N"), and the auth_scheme applied.
Examples:
Best practice for page ID numbering: use logical groups to keep the app organized. For example:
1–9 for dashboard/home pages, 10–19 for first entity (list + form), 20–29 for second entity, 100–109 for admin pages, 101 for login.Listing and Inspecting Pages
apex_list_pages
List all pages in an APEX application. Works both during an active import session (uses sessionapp_id) and against any existing app in the workspace.
Application ID to query. If omitted, uses the
app_id from the current active import session. Required if called outside a session.status, count, and a data array where each entry includes:
PAGE_ID— numeric page IDPAGE_NAME— page display namePAGE_MODE—"Normal"or"Modal Dialog"AUTHORIZATION_SCHEME— scheme name, or empty for public pagesCREATED_ON— creation timestamp (YYYY-MM-DD HH24:MI)UPDATED_ON— last updated timestamp
apex_get_page_details
Get complete details of a specific APEX page, including all components: regions, items, buttons, processes, dynamic actions, computations, and validations. Intended for thorough inspection of an existing page before editing it.Application ID containing the page.
Page ID to inspect.
status and the following sections:
page— page-level metadata:page_id,page_name,page_mode,page_template,authorization_scheme,javascript_code,css_inline,help_text,reload_on_submit,warn_on_unsaved_changesregions— all regions with type, display sequence, source type, and source SQL/HTMLitems— all form items with type, label, sequence, and LOV definitionbuttons— all buttons with action, position, and condition typeprocesses— all page processes with type, point, and SQLdynamic_actions— all dynamic actions with triggering event and elementsummary— component counts for each type
apex_get_page_details is the deepest inspection tool — it returns everything on a page. For a lighter overview, use apex_describe_page (in the app tools), which truncates long SQL sources and omits less-common fields.Editing Existing Pages
apex_update_page
Update page-level settings for an existing APEX page. Modifies the page record directly in thewwv_flow_steps internal table. At least one optional field must be provided.
Application ID containing the page to update.
Page ID to update.
New page display name.
New browser/tab title for the page.
New authorization scheme name. Pass an empty string (
"") to remove the existing authorization and make the page public.New page mode. Valid values:
"NORMAL", "MODAL_DIALOG", "NON_MODAL_DIALOG".status and the list of fields that were updated.
Examples:
apex_delete_page
Delete a page from an existing APEX application. All components on the page — regions, items, buttons, processes, dynamic actions, computations, and validations — are permanently removed.Application ID containing the page to delete.
Page ID to delete. Cannot be
0 (the global page is protected and cannot be deleted).status and a confirmation message including the page name.
Example:
apex_copy_page
Copy a page to a new page ID, within the same application or to a different application. The copy includes all regions, items, buttons, and processes from the source page.Source application ID.
Source page ID to copy.
Target application ID. Can be the same as
source_app_id to copy within the same app.New page ID in the target application. Must not already exist in the target app.
Name for the copied page. Defaults to
"Copy of {original_name}" if not provided.status, the original page name, and the new page details.
Examples:
When copying across applications, the source and target applications must be in the same APEX workspace. Item names, region names, and processes are copied as-is — review them after copying if the source page references application-specific items or LOVs that do not exist in the target app.
