Essbase Connector — Tool Reference¶
The Essbase connector exposes 9 tools for querying Oracle Essbase 21c.
mcp_connector_status¶
Returns connector health, version, uptime, backend connectivity, SDK version, and authentication mode.
Parameters: None
Example Response:
{
"status": "healthy",
"version": "2.2.7",
"uptime_seconds": 12345.67,
"backend_connected": true,
"backend_system": "Oracle Essbase",
"connector_id": "agentcube-essbase",
"sdk_version": "1.3.0",
"auth_mode": "basic"
}
test_datasource¶
Tests connectivity to the configured Essbase server. Returns connection status, server URL, Essbase version, and build number.
Parameters: None
list_applications¶
Lists all Essbase applications the authenticated user can access. Returns application names and descriptions.
Parameters: None
Example Response:
[
{"name": "Sample", "description": "Sample application"},
{"name": "Finance", "description": "Financial reporting"}
]
list_cubes¶
Lists all cubes (databases) within an Essbase application. Returns cube names and storage type (BSO/ASO).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
application_name | string | Yes | Name of the Essbase application |
Example:
get_cube_schema¶
Returns the dimension schema for a cube, including attribute dimensions. Shows dimension names, types (accounts, time, standard, attribute), member counts, max levels, and attribute type for attribute dimensions.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
application_name | string | Yes | Name of the Essbase application |
cube_name | string | Yes | Name of the cube (database) |
Example:
list_dimension_members¶
Lists members of a dimension with optional parent filter and pagination. The level filter requires parent_member to be set. Without it, an MDX alternative is suggested.
Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
application_name | string | Yes | — | Name of the application |
cube_name | string | Yes | — | Name of the cube |
dimension_name | string | Yes | — | Name of the dimension to explore |
parent_member | string | No | null | Parent member to get children of |
level | integer | No | null | Level filter (0=leaf). Requires parent_member |
max_results | integer | No | 100 | Maximum members to return per page |
offset | integer | No | 0 | Members to skip for pagination |
Example — List children of a member:
{
"application_name": "Sample",
"cube_name": "Basic",
"dimension_name": "Product",
"parent_member": "100"
}
Pagination: The response includes total_count, offset, limit, and has_more to support paging through large dimensions.
get_member_info¶
Returns detailed information about a specific dimension member, including level, parent, children, alias, storage type, consolidation operator, time balance, skip option, variance reporting, two-pass calc flag, solve order, UDAs (User Defined Attributes), formula, and all alias table values.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
application_name | string | Yes | Name of the application |
cube_name | string | Yes | Name of the cube |
dimension_name | string | Yes | Name of the dimension containing the member |
member_name | string | Yes | Name of the member to look up |
Example:
{
"application_name": "Sample",
"cube_name": "Basic",
"dimension_name": "Product",
"member_name": "100-10"
}
query_cube_data¶
Queries a single data cell by specifying one member per dimension. Every dimension in the cube must have a member specified — omitted dimensions silently default to the dimension top, which may return aggregated values.
Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
application_name | string | Yes | — | Name of the application |
cube_name | string | Yes | — | Name of the cube |
dimensions | object | Yes | — | Mapping of dimension name to member name |
suppress_zeros | boolean | No | false | If true, return null for zero or missing values |
Example:
{
"application_name": "Sample",
"cube_name": "Basic",
"dimensions": {
"Product": "Cola",
"Market": "East",
"Year": "Jan",
"Scenario": "Actual",
"Measures": "Sales"
}
}
Specify all dimensions
Omitted dimensions default to the dimension top member. Always specify a member for every dimension to avoid unintended aggregated values.
execute_mdx¶
Executes an MDX query against an Essbase cube. Used for multi-cell retrievals, set functions (CHILDREN, DESCENDANTS, CROSSJOIN), and complex data queries.
The Essbase REST API requires at least one member on both COLUMNS and ROWS. Dimensions not placed on COLUMNS or ROWS go in the WHERE clause as fixed POV members.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
application_name | string | Yes | Name of the application |
cube_name | string | Yes | Name of the cube |
mdx_query | string | Yes | MDX query string |
Example — Children of a member across time:
{
"application_name": "Sample",
"cube_name": "Basic",
"mdx_query": "SELECT {[Year].[Qtr1].CHILDREN} ON COLUMNS, {[Product].[100].CHILDREN} ON ROWS FROM [Sample].[Basic]"
}
Example — Crossjoin with WHERE clause:
{
"application_name": "Sample",
"cube_name": "Basic",
"mdx_query": "SELECT {[Measures].[Sales], [Measures].[COGS]} ON COLUMNS, {[Product].[100].CHILDREN} ON ROWS FROM [Sample].[Basic] WHERE ([Year].[Jan], [Scenario].[Actual], [Market].[East])"
}
MDX tips
- Use
CHILDRENto expand a member's direct children - Use
DESCENDANTSfor multi-level expansion - Use
CROSSJOINto combine members from different dimensions on the same axis - Dimensions not on COLUMNS or ROWS should go in the WHERE clause