Skip to main content
Glama
emilabd247

Jedox MCP Server

by emilabd247
README.md
# 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.js`
- **Auth**: Jedox session login (`/server/login`) with 25-min cached SID.
- **Default target**: `JEDOX_URL` env var — typically `http://localhost`
  or whatever the `start-jedox-tunnel.ps1` wrapper exposes.

## Tools exposed (modules under `src/tools/`)

| Module | Tools |
| --- | --- |
| `databases.ts` | `jedox_list_databases`, `jedox_get_database`, `jedox_create_database`, `jedox_delete_database`, `jedox_save_database` |
| `dimensions.ts` | `jedox_list_dimensions`, `jedox_get_dimension`, `jedox_create_dimension`, `jedox_delete_dimension` |
| `elements.ts` | `jedox_list_elements`, `jedox_get_element`, `jedox_create_element`, `jedox_update_element`, `jedox_delete_element`, `jedox_bulk_create_elements` |
| `cubes.ts` | `jedox_list_cubes`, `jedox_get_cube`, `jedox_create_cube`, `jedox_delete_cube` |
| `cells.ts` | `jedox_get_cell_value`, `jedox_get_cell_range`, `jedox_set_cell_value` |
| `rules.ts` | `jedox_list_rules`, `jedox_create_rule`, `jedox_delete_rule` |

## Required environment variables

| Var | Required | Default | Notes |
| --- | --- | --- | --- |
| `JEDOX_URL` | yes | — | e.g. `http://localhost` or your tunnel URL |
| `JEDOX_USERNAME` | yes | — | Jedox login user |
| `JEDOX_PASSWORD` | yes | — | Plain text or MD5 hash |
| `JEDOX_PASSWORD_HASHED` | no | `false` | Set `true` if password is MD5-hashed |
| `JEDOX_TIMEOUT_MS` | no | `15000` | Per-request timeout |

## Build / run

```powershell
# in this folder
npm install
npm run build
# Optional: dev with hot reload
npm run dev
```

## Exposing 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`](https://github.com/emilabd247/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-interface` is the human-facing workbench.
- [`work-claude-plugins / jedox-toolkit`](https://github.com/emilabd247/work-claude-plugins/tree/main/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.

TDQS

A4.1/5.0

Scored across 25 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessSyncing