OrionBelt Semantic Layer

API-first MCP server that compiles YAML semantic models into dialect-aware SQL and generates diagrams.
  • python

0

GitHub Stars

python

Language

4 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ralfbecher-orionbelt-semantic-layer": {
      "command": "uv",
      "args": [
        "run",
        "orionbelt-mcp"
      ],
      "env": {
        "LOG_LEVEL": "INFO",
        "MCP_TRANSPORT": "stdio",
        "API_SERVER_HOST": "localhost",
        "API_SERVER_PORT": "8000",
        "MCP_SERVER_HOST": "localhost",
        "MCP_SERVER_PORT": "9000",
        "SESSION_TTL_SECONDS": "1800",
        "SESSION_CLEANUP_INTERVAL": "60"
      }
    }
  }
}

OrionBelt Semantic Layer is an API-first MCP server that converts declarative YAML semantic models into optimized SQL across multiple dialects. It exposes model loading, validation, query compilation, and diagram generation through a REST API and an MCP interface, enabling you to integrate it into applications, workflows, or AI assistants for scalable, dialect-aware analytical querying.

How to use

You use OrionBelt via an MCP client to run sessions, load models, validate them, and compile queries into dialect-specific SQL. Start with a local MCP server in stdio mode to connect Claude Desktop, Cursor, or other MCP clients, then load your semantic models, validate them, and generate SQL for your target data warehouse.

How to install

Prerequisites You need Python 3.12 or newer and a package manager for the MCP runtime. You will also use uv to run the MCP server.

# Clone the project
git clone https://github.com/ralfbecher/orionbelt-semantic-layer.git
cd orionbelt-semantic-layer

# Install runtime dependencies (Python)
uv sync

# Start the MCP server in stdio mode
uv run orionbelt-mcp

# Optional: run with HTTP transport for multi-client usage
# MCP_TRANSPORT=http uv run orionbelt-mcp

Additional sections

Configuration is driven by environment variables or a .env file. Key options include logging level, REST API binding, MCP transport mode, and session timeouts. The following variables appear in the configuration section and can be adjusted to fit your environment.

LOG_LEVEL=INFO
API_SERVER_HOST=localhost
API_SERVER_PORT=8000
MCP_TRANSPORT=stdio
MCP_SERVER_HOST=localhost
MCP_SERVER_PORT=9000
SESSION_TTL_SECONDS=1800
SESSION_CLEANUP_INTERVAL=60

MCP server commands and paths are demonstrated in the Quick Start examples. In stdio mode, start the MCP server with the runtime command shown below. You can switch to HTTP transport by setting MCP_TRANSPORT to http and re-launching with the same runtime command.

Available tools

create_session

Create a new MCP session to house models and queries for subsequent operations.

close_session

Terminate a session and release associated resources.

list_sessions

List all active MCP sessions.

load_model

Load a YAML semantic model into a session for validation and compilation.

validate_model

Validate the loaded model against the defined schema and constraints.

describe_model

Provide metadata about a loaded model, including objects, joins, and measures.

compile_query

Compile a business-friendly query into dialect-specific SQL for a given model.

list_models

List all models loaded within a session.

list_dialects

Return the supported SQL dialects for code generation.

write_obml_model

Write or edit the YAML semantic model directly through prompts.

write_query

Write or edit the analytical query directly through prompts.

debug_validation

Debug validation results to identify schema or semantic issues.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational