Get the FREE Ultimate OpenClaw Setup Guide →

mcp_cube_server

MCP Server for Interacting with Cube Semantic Layers

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio isaacwasserman-mcp_cube_server node server.js \
  --env CUBE_API_BASE="https://your-cube-api-base-url" \
  --env CUBE_API_TOKEN="YOUR_CUBE_API_TOKEN (if required)" \
  --env DATASET_DEFAULT="default-dataset-name"

How to use

This MCP server exposes tools for interacting with a Cube Semantic Layer deployment. It provides two main tools: read_data and describe_data. The describe_data tool returns a description of the data available in the Cube deployment, acting as an agentic version of the context description. The read_data tool queries the Cube REST API and returns results in YAML along with a unique data identifier. Clients can reference that data_id to retrieve a JSON representation of the data via the data://{data_id} resource for downstream formatting or processing. To use, initialize the MCP client with the server and invoke describe_data to discover what data is available, then use read_data with appropriate query parameters to fetch the actual data.

How to install

Prerequisites:

  • Node.js (LTS version) and npm installed
  • Access to a Cube deployment and its REST API (or test endpoint)

Installation steps:

  1. Clone the repository (or install the MCP server package if published): git clone https://github.com/isaacwasserman/mcp_cube_server.git cd mcp_cube_server

  2. Install dependencies: npm install

  3. Configure environment variables:

    • Create a .env file or export variables: CUBE_API_BASE=https://your-cube-api-base-url CUBE_API_TOKEN=YOUR_CUBE_API_TOKEN (if required) DATASET_DEFAULT=default-dataset-name
  4. Start the MCP server: npm start

    or if using node directly:

    node server.js

  5. Verify startup logs indicate the MCP server is listening and ready to serve MCP tool calls.

Additional notes

Notes and tips:

  • Ensure the Cube REST API base URL is reachable from where the MCP server runs.
  • If the Cube API requires authentication, provide CUBE_API_TOKEN or corresponding auth headers as needed by your environment.
  • The data results from read_data are provided in YAML with a data_id; use data://{data_id} to fetch the JSON representation when needed.
  • If you run into port conflicts, adjust the server listening port in the server configuration or environment variables.
  • When upgrading the server, re-install dependencies and re-run the server to pick up changes.
  • For debugging, enable verbose logging if supported by the server to trace requests to the Cube API.

Related MCP Servers

Sponsor this space

Reach thousands of developers