Fusion MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level (DEBUG, INFO, WARNING, ERROR) | INFO |
| FUSION_USER | Yes | BIP service account username | |
| FUSION_BASE_URL | Yes | Fusion pod URL, e.g. https://<pod>.fa.ocs.oraclecloud.com | |
| FUSION_MAX_ROWS | No | Maximum rows returned per query | 100 |
| FUSION_PASSWORD | Yes | BIP service account password | |
| FUSION_REPORT_PATH | No | BIP catalog path for the manually-deployed report | /Custom/py_sql/SampleReport.xdo |
| FUSION_REQUEST_TIMEOUT_S | No | HTTP timeout for BIP calls (seconds) | 120 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_objectsA | Search ALL_OBJECTS in Oracle Fusion / ERP Cloud by object name pattern. keyword: substring to match against object_name (case-insensitive) object_types: optional filter, e.g. ['TABLE','VIEW','PROCEDURE','FUNCTION','PACKAGE'] owner: optional schema owner filter (e.g. 'FUSION') limit: max results (capped at 200) Returns: owner, object_name, object_type, status, last_ddl_time, table_comment |
| search_tablesB | Find tables/views in Oracle Fusion whose name or comment contains the keyword. Returns: owner, object_name, object_type, table_comment |
| search_columnsA | Find Fusion tables/views by column name or column comment. Example: search_columns('INVOICE_ID') to find every table with an invoice-id column. Returns: owner, table_name, column_name, data_type, column_comment, table_comment |
| search_sourceA | Full-text search across ALL_SOURCE in Fusion to find procedures/packages/functions that reference a keyword in their source code. type_filter: PROCEDURE | FUNCTION | PACKAGE | PACKAGE BODY | TRIGGER Returns distinct owner/name/type — call read_object_source to get the full source. Note: scans can be slow on large schemas; constrain type_filter and owner where possible. |
| describe_tableA | Full description of a Fusion table or view:
owner: schema owner, e.g. 'FUSION' table_name: exact table name, e.g. 'AP_INVOICES_ALL' |
| read_object_sourceA | Read the full source code of a stored object from ALL_SOURCE in Fusion. object_type: PROCEDURE | FUNCTION | PACKAGE | PACKAGE BODY | TRIGGER | VIEW (omit to return all types for this name) Returns: {owner, name, source: {type: full_source_text}} |
| get_procedure_signatureA | Return the full argument list for a stored procedure or function (from ALL_ARGUMENTS). Returns: argument_name, data_type, in_out, position, defaulted, default_value Note: Fusion MCP does not support dynamic procedure execution (BIP only runs SELECT data models). This tool is for discovery and understanding only. package_name: required when the procedure lives inside a package. |
| list_package_contentsB | List all public subprograms (procedures and functions) inside a Fusion Oracle package. Returns: procedure_name, overload index, object_type |
| execute_queryA | Execute a read-only SELECT or WITH (CTE) query against the Oracle Fusion database via BI Publisher. Only SELECT/WITH statements are accepted — DML, DDL, and PL/SQL are rejected. SQL is executed through the BIP SQL-runner report (deployed manually in the BIP catalog; see FUSION_REPORT_PATH). sql: the full query text with literal values inlined (BIP does not support bind variables — include values directly, e.g. WHERE org_id = 101) max_rows: maximum rows to return (server cap also applies) Returns: {columns: [...], rows: [{col: val, ...}, ...], count: N} Note: all values are returned as strings (CSV transport). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool has a clearly distinct purpose: describe_table for table metadata, execute_query for read-only SQL, get_procedure_signature for argument details, list_package_contents for package subprograms, read_object_source for source code, and multiple search tools for different search scopes (columns, objects, source, tables). No two tools overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., describe_table, execute_query, search_columns). The verbs (describe, execute, get, list, read, search) are intuitive and match the action. No mixing of styles or ambiguous names.
With 9 tools, the server is well-scoped for its purpose of exploring and querying an Oracle Fusion database. Each tool earns its place without being overwhelming or too sparse.
The tool set covers most essential operations: discovery (search tools), description (describe_table), query execution (execute_query), and code examination (read_object_source, list_package_contents, get_procedure_signature). However, there is no simple 'list all tables' tool without a keyword, so users must search even for a broad listing. This minor gap prevents a perfect score.