Jedox MCP Server
This server is an MCP server for interacting with the Jedox OLAP platform, enabling full lifecycle management of databases, dimensions, elements, cubes, cell data, and calculation rules.
Database Management: List all databases, get detailed info about a specific database, create new databases, delete databases, and save/persist structural changes to disk.
Dimension Management: List, get, create, and delete dimensions within a database.
Element Management: List elements with pagination, get details for individual elements, create single elements (numeric, string, or consolidated types), bulk-create up to 500 elements at once, rename/update elements, and delete elements.
Cube Management: List all cubes, get detailed cube info including dimension order, create new cubes by specifying ordered dimensions, and delete cubes along with all their data.
Cell Data Operations: Read a single cell value by path, read multiple cells using dimension filters (Cartesian product up to 10,000 cells), and write values to cells with support for splash modes (SET, ADD, or ALLOCATE).
Calculation Rules: List all rules on a cube, create new calculation rules using Jedox formula syntax with custom activation status, and delete existing rules.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Jedox MCP Serverlist all databases"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Jedox MCP Server
Local MCP server for the Jedox OLAP platform. Built in TypeScript on
@modelcontextprotocol/sdk v1.6.
This is the same server that surfaces in Cowork sessions as
mcp__jedox__* (e.g. jedox_list_databases, jedox_create_cube,
jedox_get_cell_value).
Type: Local stdio MCP server.
Runtime: Node.js 18+
Source:
src/Build output:
dist/index.jsAuth: Jedox session login (
/server/login) with 25-min cached SID.Default target:
JEDOX_URLenv var — typicallyhttp://localhostor whatever thestart-jedox-tunnel.ps1wrapper exposes.
Tools exposed (modules under src/tools/)
Module | Tools |
|
|
|
|
|
|
|
|
|
|
|
|
Required environment variables
Var | Required | Default | Notes |
| yes | — | e.g. |
| yes | — | Jedox login user |
| yes | — | Plain text or MD5 hash |
| no |
| Set |
| no |
| Per-request timeout |
Build / run
# in this folder
npm install
npm run build
# Optional: dev with hot reload
npm run devExposing as a remote MCP
For the Anthropic remote-MCP connector to reach this server, use the
start-jedox-tunnel.ps1 wrapper (lives outside this repo, in the
operator's local MCP workspace). It proxies stdio → HTTP via
mcp-proxy and tunnels via cloudflared.
Related repos
Two companion projects target the same Jedox stack from different angles:
work-jedox-interface- Streamlit-based authoring + live-ops UI for Jedox solutions. Both repos target the same Jedox tenants - this MCP server exposes OLAP primitives to LLM clients;work-jedox-interfaceis the human-facing workbench.work-claude-plugins / jedox-toolkit- Claude Code / Cowork skill bundle that teaches Claude how to author Jedox ETL XML, widget HTML, SVS PHP, and project docs. The toolkit and this MCP server are complementary: toolkit generates artifacts offline, MCP server reads/writes against live tenants.
Status as of 2026-04-29
Built and active. Surfaces in Cowork as mcp__jedox__*. Confirmed
registered in %APPDATA%\Claude\claude_desktop_config.json against
your Jedox tenant URL with your Jedox username.
The snippet next to this README mirrors that shape; do not copy
its placeholder password back into the live config — keep the
existing value there.
Available Tools
25 toolsjedox_bulk_create_elementsBulk Create Jedox ElementsA
Create multiple elements in a Jedox dimension at once.
Use this for efficiently populating a dimension with many members. For consolidated elements with children, use jedox_create_element individually.
Args:
database_id: Numeric ID of the database
dimension_id: Numeric ID of the dimension
elements: Array of { name, type } — max 500 per call
type: "numeric" (default), "string", or "consolidated"
Returns: { created: N, failed: [{ name, error }], elements: [{ id, name, typeLabel }] }
For large lists (>500), call this tool multiple times with batches.
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| dimension_id | Yes | ||
| elements | Yes | List of elements to create. Maximum 500 per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, so the write nature is known. The description adds return format details but does not disclose potential side effects, permission requirements, or error handling beyond failures. Reasonable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with 7 sentences, front-loading purpose and guidelines. Each sentence contributes useful information, but could be slightly tighter. Good structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description provides return format. It covers batching and the exception for consolidated elements. Lacks mention of permissions or preconditions, but sufficient for a bulk creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (33%), but the description compensates by explaining elements as array of {name,type} with default type and max 500, and describes database_id and dimension_id as numeric IDs. This adds clarity beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates multiple elements in a dimension at once, with a specific verb 'Create' and resource 'multiple elements'. It distinguishes from sibling tool jedox_create_element by noting that for consolidated elements with children, one should use the individual tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use this tool (efficiently populating with many members) and when not to (consolidated elements with children -> use jedox_create_element). Also provides batching instructions for >500 elements, giving clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_create_cubeCreate Jedox CubeA
Create a new cube in a Jedox database by specifying which dimensions it spans.
Args:
database_id: Numeric ID of the database
name: Name for the cube
dimension_ids: Ordered array of dimension IDs (from jedox_list_dimensions). IMPORTANT: The order you specify here is permanent and determines the axis sequence. When calling jedox_get_cell_value / jedox_set_cell_value, the 'path' array must follow this same dimension order.
Returns: { id, name, dimensionIds } Call jedox_save_database afterwards to persist the structural change.
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| name | Yes | Name for the new cube. | |
| dimension_ids | Yes | Ordered list of dimension IDs that define the cube axes. Order matters — it determines the dimension sequence when reading/writing cells. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds critical behavioral details beyond annotations: the dimension order is permanent and affects cell value access, and the change requires a subsequent save call. Annotations only indicate mutability, but the description explains the persistence mechanism and ordering constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (a few lines), well-structured with Args and Returns sections, and front-loaded with the purpose. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters, no output schema, and the need to explain persistence and ordering, the description is complete. It covers return format, required post-step, and cross-references to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning for database_id (numeric ID) and dimension_ids (ordered, from list_dimensions, permanent order). For name, schema already had description. Overall, it compensates for schema coverage gaps and clarifies parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new cube in a Jedox database by specifying which dimensions it spans.' This is a specific verb+resource combination that distinguishes it from sibling tools like create_database or create_dimension.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear instruction to call jedox_save_database afterwards, and references related tools for cell operations. However, it does not explicitly state when to use this tool versus alternatives like jedox_create_dimension or prerequisites (e.g., dimensions must exist).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_create_databaseCreate Jedox DatabaseA
Create a new database (model) in Jedox.
Args:
name: Name for the new database
Returns: { id, name } of the created database.
After creation, use jedox_create_dimension to add dimensions, then jedox_create_cube to create cubes. Call jedox_save_database after structural changes to persist them to disk.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the new database/model. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-readonly, non-destructive, non-idempotent, open-world. Description does not contradict annotations. It adds the behavior that the database is not persisted until jedox_save_database is called, which is important context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is very concise: three short paragraphs covering purpose, return type, and workflow steps. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, parameters, return value, and follow-up steps. Lacks details on error handling or permissions, but given the simplicity of the tool (single parameter, no output schema), it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with description for 'name'. The description repeats 'Name for the new database' without adding extra semantics or constraints beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Create a new database (model) in Jedox.' with clear verb and resource. It is distinct from sibling tools like jedox_create_cube and jedox_create_dimension, which handle different objects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit sequential guidance: after creation, use jedox_create_dimension, then jedox_create_cube, and finally call jedox_save_database to persist. This tells the agent when to use alternative tools and the required workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_create_dimensionCreate Jedox DimensionA
Create a new dimension in a Jedox database.
Args:
database_id: Numeric ID of the database
name: Name for the new dimension (e.g. "Accounts", "Periods", "Regions")
Returns: { id, name } of the created dimension.
After creating the dimension, use jedox_bulk_create_elements to add members. Call jedox_save_database afterwards to persist the structural change to disk.
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | Numeric ID of the database. | |
| name | Yes | Name for the new dimension. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it's a write operation (readOnlyHint=false) but not destructive (destructiveHint=false). The description adds value by explaining the return format ({id, name}) and the need to save to disk, which is not obvious from annotations alone. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with only two sentences plus structured Args/Returns sections. It front-loads the core purpose and includes all essential information without any fluff. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with two parameters, the description fully covers what the agent needs: purpose, required inputs, expected output, and subsequent steps. Missing output schema is compensated by describing the return structure. No gaps are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description enhances semantics by providing example dimension names ('Accounts', 'Periods', 'Regions'), adding practical context beyond the schema's technical constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Create a new dimension in a Jedox database' with example names like 'Accounts', 'Periods', 'Regions'. It clearly differentiates from sibling tools like jedox_create_element or jedox_create_cube, which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear workflow: after creation, use jedox_bulk_create_elements to add members and then call jedox_save_database to persist. This guides the agent on when to use this tool and what steps follow. It doesn't explicitly state when not to use it, but the sequential context is helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_create_elementCreate Jedox ElementA
Create a single element (member) in a Jedox dimension.
Args:
database_id: Numeric ID of the database
dimension_id: Numeric ID of the dimension
name: Element name
type: "numeric" (default), "string", or "consolidated" (parent/rollup)
children: (consolidated only) Array of { element_id, weight }
weight=1.0 means add to rollup (default)
weight=-1.0 means subtract (e.g. Costs with -1 under Profit = Revenue - Costs)
Children must already exist; provide their numeric element_id values.
Returns: { id, name, typeLabel }
For creating many elements at once, use jedox_bulk_create_elements instead.
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| dimension_id | Yes | ||
| name | Yes | Name for the new element. | |
| type | No | Element type: 'numeric' for data cells, 'string' for labels, 'consolidated' for parent/rollup nodes. | numeric |
| children | No | For consolidated elements: child elements and their weights. Omit for leaf elements. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, but the description adds context: explains element types (numeric, string, consolidated), children structure, weight semantics, and return value. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, structured with clear headings, front-loads the purpose, and includes only necessary details. Every line adds value, and the alternative note is efficiently placed at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description includes the return shape ({ id, name, typeLabel }). It covers all parameters, conditional behavior (children only for consolidated), and the alternative tool. However, it omits error handling or prerequisites (e.g., dimension must exist).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, but the description covers all parameters in the Args section, adding meaning like weight behavior (1.0 for addition, -1.0 for subtraction) and the requirement that children must exist. It also notes the default type despite schema already having it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a single element (member) in a Jedox dimension,' specifying verb and resource. It differentiates from sibling 'jedox_bulk_create_elements' by noting the single vs. bulk distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises when to use an alternative: 'For creating many elements at once, use jedox_bulk_create_elements instead.' This provides clear guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_create_ruleCreate Jedox Cube RuleA
Add a calculation rule to a Jedox cube.
Jedox rules use a special syntax with single-quoted element names: ['TargetElement'] = ['ElementA'] + ['ElementB'] ['Profit'] = ['Revenue'] - ['Cost'] ['Growth%'] = (['This Year'] / ['Last Year'] - 1) * 100
Multi-dimensional rules restrict which cells they apply to using dimension qualifiers: ['Profit']:['Jan'] = ['Revenue']:['Jan'] - ['Cost']:['Jan']
Rules take precedence over consolidation. Be careful not to create circular references.
Args:
database_id: Numeric ID of the database
cube_id: Numeric ID of the cube
definition: The rule formula (use single quotes around element names)
comment: Optional description (default: empty)
activate: Whether to activate the rule immediately (default: true)
Returns: { id, definition, active }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| cube_id | Yes | ||
| definition | Yes | Jedox rule formula. Use single quotes around element names, e.g.: ["Profit"] = ["Revenue"] - ["Cost"]. Note: in JSON you must escape the quotes as \"Profit\" etc. | |
| comment | No | Optional comment/description for the rule. | |
| activate | No | Whether to activate the rule immediately. Default: true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are sparse (readOnlyHint=false, destructiveHint=false), but the description adds valuable behavioral context: rules take precedence over consolidation, need for single quotes, avoidance of circular references. This goes beyond what annotations provide, earning a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear purpose, followed by examples and an args list. While slightly lengthy, each section adds necessary information without redundancy. Structured well for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explicitly mentions the return format. It covers purpose, syntax, arguments, and behavioral notes. Lacks only explicit alternative tool guidance, but overall complete for a rule creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions (60% coverage), but the description adds syntax examples and JSON escaping guidance for the 'definition' parameter. This adds modest value beyond schema, justifying a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb and resource: 'Add a calculation rule to a Jedox cube.' This distinguishes it from sibling tools like create_cube or delete_rule, and the specific focus on rules is evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides examples and warns about circular references and rule precedence, but it does not explicitly state when to use this tool versus alternatives like set_cell_value or bulk operations. The usage context is implied through syntax examples but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_delete_cubeDelete Jedox CubeADestructive
Delete a cube and all its data from a Jedox database.
WARNING: This is irreversible. All cell data in the cube will be lost.
Args:
database_id: Numeric ID of the database
cube_id: Numeric ID of the cube to delete
Returns: { success: true } Call jedox_save_database afterwards to persist the change.
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| cube_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals that deletion is irreversible and all cell data is lost, which goes beyond the annotations (destructiveHint: true). It also explains the need for an explicit save step to persist the deletion, adding significant behavioral context that annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a one-line purpose, a warning, a parameter list, a return type, and a post-requisite. Every sentence serves a purpose, and the critical warning is front-loaded. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deletion tool, the description covers the core action, data loss, parameters, and post-step. It does not address error conditions (e.g., cube not found) or side effects on dependent objects (openWorldHint: true). However, for the common use case, the information is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only type string with no descriptions (0% coverage). The description compensates by clearly explaining each parameter as 'Numeric ID of the database' and 'Numeric ID of the cube to delete'. This adds essential meaning beyond the schema, though it could include hints on how to obtain these IDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete a cube and all its data') and the resource (a cube in a Jedox database). The warning about irreversibility reinforces the destructive nature. This uniquely identifies the tool among siblings that delete other entities like databases or dimensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly compare to alternative delete tools, but the tool name and context make the use case obvious (deleting a cube). It provides a critical post-requisite: calling jedox_save_database to persist the change. This is a clear guideline for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_delete_databaseDelete Jedox DatabaseADestructive
Permanently delete a Jedox database and all its dimensions, cubes, and data.
WARNING: This is irreversible. All data in the database will be lost.
Args:
database_id: Numeric ID of the database to delete
Returns: { success: true }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | Numeric ID of the database to permanently delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds context beyond annotations (destructiveHint=true) by specifying that all dimensions, cubes, and data are deleted, and providing an irreversibility warning. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with two sentences, a warning, and structured args/returns section. Every element is essential and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one parameter and no output schema, the description fully covers purpose, consequences, parameter, and return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description repeats similar info for database_id. No additional meaning beyond schema is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it permanently deletes a Jedox database and all contents, with verb 'delete' and resource 'database'. Distinct from sibling tools like jedox_delete_cube or jedox_delete_dimension.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes warning about irreversibility, implying cautious use, but does not explicitly state when to use this tool vs alternatives or any prerequisites (e.g., database existence).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_delete_dimensionDelete Jedox DimensionADestructive
Delete a dimension from a Jedox database.
WARNING: Any cube that uses this dimension must be deleted first, or this will fail.
Args:
database_id: Numeric ID of the database
dimension_id: Numeric ID of the dimension to delete
Returns: { success: true } Call jedox_save_database afterwards to persist the change.
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | Numeric ID of the database. | |
| dimension_id | Yes | Numeric ID of the dimension to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds beyond annotations: confirms destructive action, warns of failure if cubes exist, and suggests calling jedox_save_database afterwards. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and well-organized: purpose, warning, args, return, and follow-up action in a few lines. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all essential aspects: action, precondition, required parameters, return value ('{ success: true }'), and necessary follow-up (save). Output schema absent but return described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema already describes both parameters fully ('Numeric ID...'). Description merely restates them without adding new constraints or formats. Schema coverage is 100%, baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ('delete') and resource ('dimension'). Warning about cube dependency adds clarity. Distinct from other delete tools by naming and purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a crucial prerequisite: cubes using the dimension must be deleted first. Does not explicitly state when to use vs alternatives, but the condition is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_delete_elementDelete Jedox ElementADestructive
Delete an element from a Jedox dimension.
WARNING: Deleting a consolidated element does not delete its children, only the parent node. Deleting a base element that is a child of consolidations will remove it from those consolidations.
Args:
database_id: Numeric ID of the database
dimension_id: Numeric ID of the dimension
element_id: Numeric ID of the element to delete
Returns: { success: true }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| dimension_id | Yes | ||
| element_id | Yes | Numeric ID of the element to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond destructiveHint annotation, the description warns about the non-recursive deletion of consolidated elements and the removal of base elements from consolidations. This adds valuable behavioral context for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured: brief purpose statement, warning block, args list, and return format. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers essential aspects: purpose, behavioral nuances, required parameters, and return shape. Lacks error handling details, but given the tool's simplicity and presence of annotations, it is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers only 33% of parameters with descriptions. The description compensates by clearly describing all three parameters ('Numeric ID of the database', etc.), adding meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Delete an element from a Jedox dimension', specifying the action and resource. It distinguishes from sibling delete tools for cubes, databases, dimensions, and rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides warnings about consolidation behavior but lacks explicit guidance on when to use this tool versus alternatives like jedox_delete_dimension or jedox_delete_cube. The usage context is implied by the tool name and parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_delete_ruleDelete Jedox Cube RuleADestructive
Delete a calculation rule from a Jedox cube.
Args:
database_id: Numeric ID of the database
cube_id: Numeric ID of the cube
rule_id: Numeric ID of the rule (from jedox_list_rules)
Returns: { success: true }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| cube_id | Yes | ||
| rule_id | Yes | Numeric ID of the rule to delete (from jedox_list_rules). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true. The description confirms deletion and states the return value, but adds no extra behavioral context such as side effects or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a list of args and return, front-loaded with the action. Every sentence is necessary and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool with three parameters and no output schema, the description covers the necessary information. It could mention error handling but is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides meaning for all three parameters, including the source of rule_id (from jedox_list_rules). This compensates for the low schema description coverage (33%).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a calculation rule from a Jedox cube', using a specific verb and resource. It distinguishes from sibling tools like jedox_delete_cube or jedox_delete_element.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by indicating the rule_id comes from jedox_list_rules, but does not explicitly state when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_get_cell_rangeGet Jedox Cell RangeARead-onlyIdempotent
Read multiple cells from a Jedox cube using dimension filters.
The tool builds a Cartesian product of your dimension filters to determine which cells to fetch. Keep filter arrays small to avoid exceeding max_cells.
Args:
database_id: Numeric ID of the database
cube_id: Numeric ID of the cube
dimension_filters: Array of arrays, one per dimension (in cube dimension order). Each inner array is the list of element names you want for that dimension. Example: [["Revenue","Cost","Profit"], ["Jan","Feb","Mar"], ["Total"]] → fetches 3 accounts × 3 months × 1 region = 9 cells
max_cells: Cap on total cells to return (default 1000, max 10000)
Returns: { cells: [{ path, value, type }], total }
Use jedox_get_cube first to confirm dimension order.
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| cube_id | Yes | ||
| dimension_filters | Yes | Array of element name arrays, one per dimension in cube order. The Cartesian product of all arrays defines which cells to retrieve. Example: [['Jan','Feb'],['Revenue','Cost']] fetches 4 cells. Keep the total cell count under max_cells. | |
| max_cells | No | Maximum cells to return. The Cartesian product of all dimension filters must not exceed this. Default: 1000. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the Cartesian product behavior and the max_cells constraint, adding value beyond annotations (readOnlyHint, idempotentHint, openWorldHint). It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a brief overview, behavioral explanation, parameter details, and return format. It uses bullet points effectively without extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (Cartesian product, multiple dimensions), the description provides complete guidance: how to specify filters, cap cells, interpret results, and a prerequisite. No output schema exists, but the return format is described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (database_id and cube_id lack descriptions), but the description compensates by explaining the Cartesian product with an example and clarifying max_cells usage. It adds clear semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads multiple cells from a Jedox cube using dimension filters, distinguishing it from sibling tools like jedox_get_cell_value (single cell) and other write/update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It advises to use jedox_get_cube first to confirm dimension order, providing helpful context. However, it does not explicitly state when not to use this tool or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_get_cell_valueGet Jedox Cell ValueARead-onlyIdempotent
Read a single cell value from a Jedox cube.
Args:
database_id: Numeric ID of the database
cube_id: Numeric ID of the cube
path: Array of element names, one per dimension in cube order. IMPORTANT: Use jedox_get_cube first to confirm dimension order. Example for a cube with dimensions [Accounts, Periods, Regions]: path = ["Revenue", "Jan 2025", "North"]
Returns: { path, value, type }
type: "numeric" or "string"
value: number or string
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| cube_id | Yes | ||
| path | Yes | One element name per cube dimension, in the exact order the cube was created. Use jedox_get_cube to confirm dimension order. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds value by specifying the return value structure (path, value, type) and indicating that value can be numeric or string. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a one-line purpose followed by clearly sectioned Args and Returns. Every sentence adds value with no repetition or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with comprehensive annotations, the description is complete. It covers input requirements (including the critical path order), expected output format, and provides a practical example. No additional context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (path has a description). The description adds meaning by stating that database_id and cube_id are numeric IDs and that path is an array of element names in cube dimension order. It also warns about dimension order and suggests using jedox_get_cube, which goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Read a single cell value from a Jedox cube,' using a specific verb and resource. It distinguishes from siblings like jedox_get_cell_range (range query) and jedox_set_cell_value (write operation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It includes explicit guidance on the path argument, instructing users to 'use jedox_get_cube first to confirm dimension order.' However, it does not explicitly state when to use this tool vs. alternatives like get_cell_range, though the single-cell scope is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_get_cubeGet Jedox CubeARead-onlyIdempotent
Get detailed information about a specific cube, including its dimension order.
IMPORTANT: Always call this before jedox_get_cell_value or jedox_set_cell_value to confirm the exact dimension order. The 'dimensionIds' array tells you which dimension is at each position. The cell 'path' array must have one element name per dimension in this exact order.
Args:
database_id: Numeric ID of the database
cube_id: Numeric ID of the cube
Returns: { id, name, numberOfDimensions, dimensionIds, numberOfFilledCells }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| cube_id | Yes | Numeric ID of the cube (from jedox_list_cubes). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that dimensionIds indicate order and that path must match, but does not significantly extend beyond annotation-provided safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with summary, important note, and Args/Returns sections. Slightly verbose as parameter info is repeated in text and Args, but overall front-loaded and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with rich annotations, the description covers purpose, prerequisites, return structure, and relation to other tools, leaving no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only cube_id has description). The description's 'Args' section provides descriptions for both parameters, including type and source for cube_id, thus adding value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool gets detailed information about a specific cube including dimension order, and distinguishes it from sibling tools like create, delete, or other get operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs that this tool must be called before jedox_get_cell_value or jedox_set_cell_value to confirm dimension order, providing clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_get_databaseGet Jedox DatabaseARead-onlyIdempotent
Get detailed information about a specific Jedox database.
Args:
database_id: Numeric ID from jedox_list_databases
Returns: { id, name, numberOfDimensions, numberOfCubes, status, typeLabel }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | Numeric ID of the database (from jedox_list_databases). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds specific return fields, enhancing transparency without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: one sentence for purpose, then structured args and returns. No wasted words, front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and clear return structure, the description is fully adequate. Annotations cover behavioral context, and the description covers usage and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description's parameter doc echoes the schema. No additional semantic meaning is added beyond what's already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'get' and resource 'database'. Distinguishes from siblings like jedox_list_databases and jedox_get_cube by specifying a single database and listing return fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states that the database_id should come from jedox_list_databases, providing a clear prerequisite. While it doesn't list alternatives, the context of sibling tools sufficiently guides usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_get_dimensionGet Jedox DimensionARead-onlyIdempotent
Get detailed information about a specific Jedox dimension.
Args:
database_id: Numeric ID of the database
dimension_id: Numeric ID of the dimension (from jedox_list_dimensions)
Returns: { id, name, numberOfElements, numberOfLevels, numberOfBranches, status, type }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | Numeric ID of the database. | |
| dimension_id | Yes | Numeric ID of the dimension (from jedox_list_dimensions). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool's safety is clear. The description adds value by listing the returned fields (id, name, numberOfElements, etc.), providing context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and structured with an Args block and Returns block. However, it could be slightly more concise by removing unnecessary line breaks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description adequately lists the expected return fields. The tool is simple and the sibling context shows many tools, but this description is sufficient for a read-only operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the input schema, and the tool description repeats that information verbatim. No additional meaning or constraints are provided beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get detailed information') and the resource ('a specific Jedox dimension'). It distinguishes itself from siblings like 'list_dimensions' by emphasizing 'detailed information'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after listing dimensions by referencing 'from jedox_list_dimensions', but it does not explicitly state when to use this tool versus alternatives like 'get_cube' or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_get_elementGet Jedox ElementARead-onlyIdempotent
Get detailed information about a specific dimension element.
Args:
database_id: Numeric ID of the database
dimension_id: Numeric ID of the dimension
element_id: Numeric ID of the element
Returns: { id, name, type, typeLabel, level, indent, depth, numberOfChildren, numberOfParents, position }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| dimension_id | Yes | ||
| element_id | Yes | Numeric ID of the element (from jedox_list_elements). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds detailed return fields and explains that element_id comes from jedox_list_elements, providing helpful behavioral context without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but complete: a single sentence followed by Args and Returns blocks. It is well-structured and front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description explicitly lists return fields. It fully covers purpose, parameters, and return data for a simple retrieval tool, making it self-contained and complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only element_id described). The description compensates by listing all three parameters with brief explanations, adding that element_id is from jedox_list_elements, which adds meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get detailed information about a specific dimension element', specifying verb (Get) and resource (dimension element). This distinguishes it from sibling tools like jedox_list_elements (lists elements) and jedox_update_element (modifies).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use by describing the function (getting element details), but does not explicitly state when not to use or list alternatives. However, the provided sibling tool names help the agent infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_list_cubesList Jedox CubesARead-onlyIdempotent
List all cubes in a Jedox database.
Args:
database_id: Numeric ID of the database
Returns: Array of { id, name, numberOfDimensions, numberOfCells, numberOfFilledCells, dimensionIds, status, type }
'dimensionIds' lists the dimension IDs in order — this order is used when specifying cell paths.
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | Numeric ID of the database. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and idempotentHint=true. The description adds value by detailing the return structure and specifically noting that dimensionIds order is used for cell paths, which is critical behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: one sentence for purpose, then structured Args and Returns sections. Every sentence adds value, with a key note about dimensionIds ordering. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fully compensates by listing all return fields and their semantics. It covers the tool's inputs, outputs, and an important behavioral detail. No significant gaps remain for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description repeats the parameter name and type without adding new constraints, format details, or usage nuances beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool lists all cubes in a specific database. The verb 'list' and resource 'cubes' are precise, and the required parameter database_id distinguishes it from sibling list tools like jedox_list_databases and jedox_list_dimensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need to enumerate cubes in a database, mentioning the required parameter. It does not explicitly state when not to use it or provide alternatives, but the context is clear enough for a list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_list_databasesList Jedox DatabasesARead-onlyIdempotent
List all databases (models) in the Jedox instance.
Returns an array of databases with their IDs, names, and structure counts. Use the returned 'id' field in all subsequent database operations.
By default, hides Jedox internal system databases. Set include_system=true to see them.
Returns: Array of { id, name, numberOfDimensions, numberOfCubes, status, typeLabel }
Example: Use this first to find the database_id before calling jedox_list_dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| include_system | No | Include Jedox system databases (type=system/gpu) in results. Default: false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds behavioral detail: default hiding of system databases and the option to include them via 'include_system' parameter. It also specifies the return format (array of objects with specific fields). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (6 sentences) and front-loaded with purpose. Each sentence serves a clear function: purpose, return info, usage advice, default behavior, return format, and example. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (one optional param) and rich annotations, the description covers all aspects: purpose, usage, behavioral nuance, parameter semantics, and return structure. It also provides an example of how to use the output, making it complete for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a well-described 'include_system' parameter. The description reinforces its effect ('Set include_system=true to see them'), adding context about system databases beyond the schema's basic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all databases (models) in the Jedox instance' with specific verb and resource. It distinguishes from sibling list tools by emphasizing the returned 'id' field for subsequent operations and explicitly mentions using it to find database_id before jedox_list_dimensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for usage: it should be used first to obtain database IDs for subsequent operations. It also explains the default behavior of hiding system databases and how to include them. However, it does not explicitly contrast with sibling tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_list_dimensionsList Jedox DimensionsARead-onlyIdempotent
List all dimensions in a Jedox database.
Args:
database_id: Numeric ID of the database (from jedox_list_databases)
Returns: Array of { id, name, numberOfElements, numberOfLevels, numberOfBranches, status, type }
Use the returned 'id' field in element and cube operations.
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | Numeric ID of the database (from jedox_list_databases). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering safety. The description adds the return field details (id, name, etc.) but not additional behavioral traits beyond the structured data. This adds some value but is not substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three sentences covering purpose, parameters, return values, and usage hint. Every sentence adds value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter and clear annotations, the description fully covers what the agent needs: purpose, parameter origin, return structure, and subsequent use. Nothing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already explains database_id as 'Numeric ID of the database (from jedox_list_databases).' The description repeats this verbatim, adding no new meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all dimensions in a Jedox database.' This provides a specific verb (list), resource (dimensions), and context (Jedox database), effectively distinguishing it from siblings that create, delete, or update dimensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'Use the returned id field in element and cube operations,' indicating how to apply the output. However, it lacks explicit guidance on when to use this tool versus alternatives like jedox_get_dimension, though the context of 'list all' vs 'get one' is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_list_elementsList Jedox Dimension ElementsARead-onlyIdempotent
List elements (members) in a Jedox dimension, with pagination.
Args:
database_id: Numeric ID of the database
dimension_id: Numeric ID of the dimension
limit: Max elements to return (1-1000, default 100)
offset: Skip N elements for pagination (default 0)
Returns: { items: [{ id, name, type, typeLabel, level, depth, numberOfChildren }], total, offset, limit, hasMore }
Element typeLabel values:
"numeric": leaf data element (holds numbers)
"string": leaf string element
"consolidated": parent/rollup node (has children, aggregates values)
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | Numeric ID of the database. | |
| dimension_id | Yes | Numeric ID of the dimension. | |
| limit | No | Maximum number of elements to return (1-1000). Default: 100. | |
| offset | No | Number of elements to skip for pagination. Default: 0. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds valuable behavioral context: pagination details (limit, offset), return structure ({ items, total, offset, limit, hasMore }), and element type labels (numeric, string, consolidated). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a purpose sentence, then Args section, Returns section, and a list of element type labels. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, no output schema), the description is nearly complete. It explains pagination, return structure, and element types. Minor missing details like error scenarios or prerequisites, but overall sufficient for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaning beyond the schema by explaining pagination logic, the return format, and element type labels. This provides context not available in the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List elements (members) in a Jedox dimension, with pagination.' This specifies the verb (list) and resource (elements in a Jedox dimension), distinguishing it from sibling tools that create, update, or delete elements or other resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear parameter details and return format. While it doesn't explicitly state when not to use, the context from sibling tools implies it is the primary list tool for dimension elements, making usage intuitive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_list_rulesList Jedox Cube RulesARead-onlyIdempotent
List all calculation rules defined on a Jedox cube.
Args:
database_id: Numeric ID of the database
cube_id: Numeric ID of the cube
Returns: Array of { id, definition, comment, active, externalIdentifier }
Use the returned 'id' to delete a rule with jedox_delete_rule.
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| cube_id | Yes | Numeric ID of the cube whose rules to list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint, covering safety and idempotency. The description adds the return format (array of objects with specific fields) but does not add significant behavioral detail beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences plus args/returns, front-loaded with the primary action, and every sentence adds value (purpose, parameters, return, usage hint). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with rich annotations and a clear return structure, the description is largely complete. It could mention if there is any filtering or pagination, but given the context, it covers the essential behavior adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides plain-language definitions for both parameters (database_id and cube_id as numeric IDs), compensating for schema coverage of only 50% (cube_id described in schema, database_id not). This adds meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all calculation rules on a Jedox cube, using the verb 'list' and specific resource. It distinguishes from sibling tools like jedox_create_rule and jedox_delete_rule by focusing on listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to see rules and provides downstream guidance (use returned id for deletion), but does not explicitly state when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_save_databaseSave Jedox DatabaseAIdempotent
Persist a Jedox database to disk.
IMPORTANT: Call this after making structural changes (creating/deleting dimensions or cubes) to ensure changes survive a server restart. Cell value writes do NOT require a save call.
Args:
database_id: Numeric ID of the database to save
Returns: { success: true }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | Numeric ID of the database to persist to disk. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent and non-destructive. Description confirms idempotence and adds context that changes survive server restart, which is not in annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: one sentence for action, an important note, then args/returns. Front-loaded, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (single parameter, no output schema), the description covers purpose, usage criteria, and return format. No missing information for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'database_id'. Description repeats the schema's description without adding significant new semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool persists a database to disk, distinguishing it from create/delete siblings. It uses specific verb 'save' and resource 'database'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states to call after structural changes (creating/deleting dimensions or cubes) and clarifies that cell value writes do not require a save. Provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_set_cell_valueSet Jedox Cell ValueA
Write a value to a cell in a Jedox cube.
Cell writes are persisted immediately — no need to call jedox_save_database.
Args:
database_id: Numeric ID of the database
cube_id: Numeric ID of the cube
path: Array of element names, one per dimension in cube order
value: The value to write (number or string)
splash_mode: How to handle writes to consolidated/parent elements:
"SET" (default): Direct write; for base elements this always works
"ADD": Adds to existing value
"ALLOCATE": Proportionally distributes value to base-level cells
Returns: { success: true, path, value }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| cube_id | Yes | ||
| path | Yes | One element name per cube dimension in order. Use jedox_get_cube to confirm dimension order. | |
| value | Yes | The value to write. Use a number for numeric cells, string for string cells. | |
| splash_mode | No | How to write to consolidated/parent cells: SET=overwrite (may fail for locked consolidated cells), ADD=add to existing value, ALLOCATE=distribute value proportionally down to base elements. For base-level elements always use SET. | SET |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Detailed explanation of persistence and splash_mode behaviors (SET, ADD, ALLOCATE), including potential failure for locked consolidated cells. Annotations only provide hints, so description adds substantial behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus an Args block, all essential information. Front-loaded with purpose, then persistence note, then parameter descriptions. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key aspects: write behavior, persistence, splash modes, path, and return format. Lacks details on error handling or permissions, but overall adequate for a simple write tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds practical context beyond schema: explains path ordering and suggests confirming with jedox_get_cube, clarifies splash_mode options for different cell types. Schema already has some descriptions, but description enhances usability.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states 'Write a value to a cell in a Jedox cube,' clearly specifying the action and resource. Differentiates from sibling tools like jedox_get_cell_value (read) and bulk operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on splash_mode for consolidated cells and notes that writes persist immediately, avoiding need for save. However, lacks explicit comparison with alternative write tools or scenarios to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jedox_update_elementRename Jedox ElementB
Rename an existing element in a Jedox dimension.
Args:
database_id: Numeric ID of the database
dimension_id: Numeric ID of the dimension
element_id: Numeric ID of the element to rename
new_name: The new name
Returns: { id, name, typeLabel }
| Name | Required | Description | Default |
|---|---|---|---|
| database_id | Yes | ||
| dimension_id | Yes | ||
| element_id | Yes | ||
| new_name | Yes | New name for the element. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation (readOnlyHint=false) but the description adds no extra behavioral context (e.g., effect on references, permissions, or reversibility). With annotations present, the description adds little value beyond naming the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a one-line summary plus an args list and return structure. It is front-loaded and efficient, though the args list could be more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers parameters and return format ({ id, name, typeLabel }) but lacks details on error handling, existence checks, or uniqueness constraints. Given the tool's simplicity, it is minimally adequate but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only new_name described), but the description compensates by explaining database_id, dimension_id, and element_id as 'Numeric ID' and clarifies element_id's role, adding meaning beyond the schema's type-only definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Rename Jedox Element' and description 'Rename an existing element' clearly specify the verb (rename) and resource (element), and the tool is distinct from create/delete siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use rename over alternatives like delete+create, nor are there prerequisites (e.g., element must exist) or context for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Every tool has a clearly distinct purpose, with no overlap. For example, creating elements individually vs. in bulk are separate tools, and reading a single cell vs. a range are distinct. No ambiguity.
All tools follow a consistent 'jedox_verb_noun' pattern (e.g., jedox_create_database, jedox_list_dimensions, jedox_get_cell_value). Verb choice is systematic: 'list' for collections, 'get' for single items, 'create'/'delete'/'update' for mutations.
25 tools is slightly high but still well-scoped for a comprehensive OLAP server interface. Each tool addresses a distinct operation on databases, dimensions, elements, cubes, rules, or cell data. No unnecessary tools.
The tool set covers all major CRUD and lifecycle operations for databases, dimensions, elements, cubes, rules, and cell values. Minor gaps exist (e.g., no update for database, dimension, or cube name), but these are manageable via delete+recreate or not critical.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/emilabd247/work-jedox-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server