APEX applications in apex-mcp follow a three-phase lifecycle: create → add components → finalize. You open an import session withDocumentation 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, populate it with pages, regions, items, and other components using the component tools, then commit everything to the database with apex_finalize_app. The tools on this page manage that lifecycle — creating and deleting apps, exporting them for version control, inspecting existing pages, and providing safety mechanisms like dry-run mode and undo.
App Lifecycle
apex_create_app
Create a new APEX application and begin an import session. This tool scaffolds a complete application skeleton: the APEX flow, Universal Theme 42 with Redwood Light styling, an authentication scheme, a navigation menu list, a navigation bar list, and a user interface binding. After calling it, useapex_add_page and component tools to populate the app, then always call apex_finalize_app when done.
Numeric application ID (e.g.,
200). Must not conflict with an existing application in the workspace. IDs below 100 are typically reserved by Oracle; use 100 or higher.Display name shown in the APEX header bar (e.g.,
"Employee Directory"). Also used to auto-generate the URL alias if app_alias is not provided.URL-friendly alias for the application (e.g.,
"EMP-DIR"). Auto-generated from app_name (uppercased, spaces replaced with -) if omitted.Page ID for the login page. Default is
101, which is the APEX convention.Page ID for the home/dashboard page. The app’s navigation will point here after login.
Database schema that owns the application. Defaults to the
APEX_SCHEMA environment variable.Primary language code for the application. Common values:
"en" (English), "pt-br" (Brazilian Portuguese), "es" (Spanish), "fr" (French), "de" (German).Oracle date display format. Common values:
"MM/DD/YYYY" (US), "DD/MM/YYYY" (EU/BR), "YYYY-MM-DD" (ISO).Authentication scheme type. Options:
"NATIVE_APEX_ACCOUNTS"— APEX built-in user accounts (default)"NATIVE_CUSTOM_AUTH"— Custom PL/SQL authentication function"NATIVE_DAD"— Database Access Descriptor"NATIVE_LDAP"— LDAP directory authentication
Universal Theme 42 visual style. Options:
"REDWOOD_LIGHT" (modern Oracle Redwood design, default), "VITA" (classic light), "VITA_SLATE" (dark navigation), "VITA_DARK" (full dark), "SUMMIT".status, app_id, app_name, home_page, a next_step hint, and a log array of operations performed. May include a warning if home_page has not yet been registered (remind you to call apex_add_page for it).
Example:
apex_finalize_app
Finalize and commit the current APEX application import session. Callswwv_flow_imp.import_end and commits the transaction. This must always be the last call after all pages and components have been added.
This tool takes no parameters.
Returns: JSON with status, app_id, a human-readable message, the apex_url to access the application (e.g., f?p=200), and a summary of everything created in the session.
After finalization, access the app at the APEX base URL + the returned
apex_url. For example, if your APEX URL is https://mydb.adb.region.oraclecloudapps.com/ords/, the app is at https://mydb.adb.region.oraclecloudapps.com/ords/f?p=200.App Management
apex_list_apps
List all APEX applications in the current workspace. Use this to discover existing app IDs before creating new ones or before using inspect/edit tools. This tool takes no parameters. Requires an active database connection. Returns: JSON withstatus, count, and a data array where each entry includes:
APPLICATION_ID— numeric app IDAPPLICATION_NAME— display nameALIAS— URL aliasSTATUS— availability status (e.g.,"Available with Edit Link")PAGES— total page countLAST_UPDATED_ON— date of last modification (YYYY-MM-DD)OWNER— schema owner
apex_delete_app
Permanently delete an APEX application and all its components. This action removes all pages, regions, items, processes, shared components, authentication schemes, and navigation lists associated with the application.The numeric application ID to delete.
status and a confirmation message.
Example:
apex_export_app
Export an APEX application as a complete SQL install script inwwv_flow_imp format, compatible with APEX 24.2. The exported SQL can be version-controlled in git and re-imported via SQLcl, APEX SQL Workshop, or the import tool to recreate the application on any APEX instance.
Numeric application ID to export (e.g.,
200).Full file path where the SQL export should be saved (e.g.,
"C:/myproject/apex/f200.sql"). If empty, only a 500-character content preview is returned in the JSON response — no file is written.status, app_id, file_name (e.g., "f200.sql"), content_size_chars, content_preview (first 500 chars, always included), and optionally saved_to and message when output_path is provided.
Examples:
The export uses Oracle APEX’s built-in
apex_export.get_application() function, which requires EXECUTE privilege on the apex_export package. The schema user must be the workspace owner or have equivalent grants.apex_describe_page
Get a structured, human-readable summary of all components on an existing APEX page. Designed to give an AI a clear picture of page structure before modifying it.Application ID containing the page.
Page ID to describe.
status, app_id, and the following sections:
page— metadata:page_id,page_name,page_template,page_mode,authorization_schemeregions— list of regions withregion_name,region_type,display_sequence,source_type, and a truncatedregion_source(first 200 chars)items— list of items withitem_name,item_type,display_sequence,label,lov_definitionbuttons— list of buttons withbutton_name,label,button_action,button_positionprocesses— list of processes withprocess_name,process_type,process_pointdynamic_actions— list of dynamic actions withdynamic_action_name,triggering_eventsummary— counts of each component type
Development Utilities
apex_dry_run_preview
Toggle dry-run mode for all apex-mcp tools. When enabled, all subsequent calls that write to the database (PL/SQL executions) are intercepted and logged but not executed. Use this to preview the exact PL/SQL that would be generated before committing.True to enable dry-run mode (log PL/SQL without executing). False to disable dry-run and return the accumulated PL/SQL log.- When enabling: JSON with
status,mode: "dry_run_enabled", and amessage. - When disabling: JSON with
status,mode: "dry_run_disabled",statements_count, aplsql_logarray of all captured statements, and amessage.
Dry-run mode affects all tools that call PL/SQL under the hood —
apex_add_page, apex_add_region, apex_add_item, and all other component tools. It does not affect read-only tools like apex_list_apps or apex_run_sql.apex_undo_last
Undo the last N component creations by deleting them from the database in reverse order (LIFO). Only works during an active import session (betweenapex_create_app and apex_finalize_app).
Number of components to undo. Defaults to
1 (undo only the most recent component). Capped at the total number of tracked components in the session.status, an undone array (each entry has type, id, and status), and remaining_tracked count.
The session tracks every region, item, button, process, page, and dynamic action created since
apex_create_app. apex_undo_last uses this log to identify and delete components in the correct reverse order. After apex_finalize_app, the session is closed and undo is no longer available.Validation and Comparison
apex_validate_app
Validate an APEX application structure and return any errors or warnings. Checks for common issues including pages without regions, select-list items without LOVs, broken page references, and more. Returns a score from 0–100.Application ID to validate. If omitted, uses the current active session app.
issues list (errors), warnings list, and a numeric score (100 = no issues).
Example:
apex_diff_app
Compare two APEX applications and return a structural diff. Useful for tracking changes between development, staging, and production environments, or comparing app versions side by side.First application ID (base/reference).
Second application ID (compare target).
diff object containing:
pages—only_in_app_1,only_in_app_2,in_botharraysregions—only_in_app_1,only_in_app_2arrays (each entry:{page_id, region_name}), plusin_both_countitems— same structure as regions
